Testing throughout the SDLC
Test levels
-
Component
Component
Component – найменший елемент програмного забезпечення, який може бути протестований окремо.
-
Component testing (module/unit)
Component testing (module/unit)
Component testing (module/unit) – тестування окремих компонентів програмного забезпечення.
-
Stubs
Stubs
Stubs – мінімальна або спеціалізована реалізація програмного компонента. Використовується для заміни компонента, від якого залежить розробка чи тестування іншого компонента системи.
-
Drivers
Drivers
Drivers - компонент програмного забезпечення або засіб тестування, який замінює компонент, що забезпечує управління та виклик компонента або системи.
-
TDD (Test Driven Development)
TDD (Test Driven Development)
TDD (Test Driven Development) - спосіб розробки програмного забезпечення, у якому тестові приклади розробляються і часто автоматизовані, як програмне забезпечення буде розроблено до виконання цих тестових прикладів.
-
BDD (Behavior Driven Development)
BDD (Behavior Driven Development)
BDD (Behavior Driven Development) – є гілкою розробки через тестування (TDD). BDD використовує зручні для читання описи вимог користувачів програмного забезпечення як основи для тестування програмного забезпечення.
-
DDT (data-driven testing)
DDT (data-driven testing)
DDT (data-driven testing) - методика написання автоматизованих тестових сценаріїв, за якої вхідні тестові дані та очікувані результати зберігаються в таблицях, таким чином, що окремий сценарій може виконати всі тести в таблиці.
-
Integration testing
Integration testing
Integration testing - тестування, що виконується для виявлення дефектів в інтерфейсах і у взаємодії між інтегрованими компонентами чи системами.
-
Component integration testing
Component integration testing
Component integration testing - тестування, що виконується для виявлення дефектів в інтерфейсах і взаємодії між інтегрованими компонентами.
-
System integration testing
System integration testing
System integration testing – тестування інтеграції систем та пакетів програм, тестування інтерфейсів зв'язку із зовнішніми системами (інтернет тощо).
-
Bottom-up testing
Bottom-up testing
Bottom-up testing – послідовний підхід до інтеграційного тестування, при якому компоненти нижнього рівня тестуються першими і потім використовуються для полегшення тестування компонентів вищого рівня.
-
top-down testing
top-down testing
top-down testing - Інкрементальний підхід до інтеграційного тестування, при якому компоненти з верхнього рівня ієрархії об'єктів тестуються насамперед із використанням заглушок замість компонентів нижчого рівня.
-
big-bang testing
big-bang testing
big-bang testing - Вид підходу до інтеграційного тестування, при якому елементи програмного або апаратного забезпечення, або й те й інше, збираються в компонент або цілу систему відразу, а не по етапах.
-
System testing
System testing
System testing - процес тестування системи загалом із метою перевірки того, що вона відповідає встановленим вимогам.
-
Acceptance testing
Acceptance testing
Acceptance testing - формальне тестування по відношенню до потреб, вимог та бізнес-процесів користувача, що проводиться з метою визначення відповідності системи критеріям приймання та дати можливість користувачам, замовникам або іншим авторизованим особам визначити, приймати систему чи ні.
-
User acceptance testing
User acceptance testing
User aceptance testing - приймальні випробування, що проводяться в реальному чи змодельованому середовищі передбачуваними користувачами, орієнтуючись на їхні потреби, вимоги та бізнес-процеси.
-
Contractual acceptance testing
Contractual acceptance testing
Contractual aceptance testing - приймальні випробування, які проводяться для перевірки того, чи задовольняє система контрактним вимогам.
-
Operational acceptance testing
Operational acceptance testing
Operational aceptance testing - експлуатаційне тестування у фазі приймального тестування, зазвичай виконуване користувачем та/або співробітниками з адміністраторським доступом, у робочому середовищі (можливо, симульованому), фокусуючись на функціональних аспектах. Наприклад, відновлюваність, поведінка ресурсів, встановлюваність та технічна відповідність.
-
Regulatory acceptance testing
Regulatory acceptance testing
Regulatory aceptance testing - приймальне тестування, яке проводиться для перевірки відповідності системи законам, політикам і постановам, що застосовуються.
-
Alpha testing
Alpha testing
Alpha testing - модельоване або дійсне експлуатаційне тестування потенційними користувачами/замовниками або незалежною командою тестування на стороні розробників, але поза організації, яка виконує розробку.
-
Beta testing
Beta testing
Beta testing - експлуатаційне тестування потенційними та/або існуючими клієнтами/замовниками на зовнішній стороні, які ніяк не пов'язані з розробниками, з метою визначення, чи дійсно компонент або система відповідає вимогам клієнта/замовника і вписується в бізнес-процеси. Бета-тестування часто проводиться як форма зовнішнього приймального тестування готового програмного забезпечення для отримання відгуків ринку.
Test types
-
Functional testing
Functional testing
Functional testing – тестування, засноване на аналізі специфікації функціональності компонента чи системи.
-
Non-functional Testing
Non-functional Testing
Non-functional Testing – тестування атрибутів компонента або системи, що не належать до функціональності: тобто надійність, ефективність, практичність, супроводжуваність та переносимість.
-
Performance testing
Performance testing
Performance testing – процес тестування з метою визначити продуктивність програмного продукту.
-
Impact analysis
Impact analysis
Impact analysis - оценка изменений в документации разработки и тестирования, а также компонентов с целью внесения данных изменений в определенные требования.
-
Load testing
Load testing
Load testing - тестування часу відгуку програми на запити різних типів, з метою переконатися, що програма працює відповідно до вимог при звичайному навантаженні користувача.
-
Stress testing
Stress testing
Stress testing - тестування працездатності програми при навантаженнях, що перевищують користувацькі у кілька разів. При стрес-тестуванні ми можемо отримати реальні дані меж продуктивності та поведінку програми за цими межами.
-
Spike testing
Spike testing
Spike testing - фокусується на здатності системи відновлюватися після раптових сплесків навантаження та повертатися у стійкий стан.
-
Endurance testing
Endurance testing
Endurance testing - завданням цього типу тестування є перевірка працездатности ПЗ при тривалому середньому навантаженні.
-
Usability testing
Usability testing
Usability testing – тестування зручності програмного забезпечення.
-
Installation testing
Installation testing
Installation testing - спрямовано перевірку успішної інсталяції і навіть оновлення чи видалення програмного забезпечення.
-
Configuration testing
Configuration testing
Configuration testing - спеціальний вид тестування, спрямований на перевірку роботи програмного забезпечення при різних конфігураціях системи (заявлених платформах, драйверах, що підтримуються, при різних конфігураціях комп'ютерів тощо).
-
Internationalization testing
Internationalization testing
Internationalization testing - це процес розробки програмного додатка, щоб він міг бути адаптований до різних мов та регіонів без будь-яких змін.
-
Localization testing
Localization testing
Localization testing - це процес адаптації міжнародного програмного забезпечення для певного регіону або мови шляхом додавання місцевих конкретних компонентів та перекладу тексту.
-
White box testing (glass-box)
White box testing (glass-box)
White box testing (glass-box) – тестування, засноване на аналізі внутрішньої структури компонента чи системи.
-
Code coverage
Code coverage
Code coverage - метод аналізу, який визначає, які частини програмного забезпечення були перевірені (покриті) набором тестів, а які ні, наприклад, покриття операторів, покриття альтернатив або покриття умов.
-
Black box testing
Black box testing
Black box testing – тестування, функціональне чи нефункціональне, без знання внутрішньої структури компонента чи системи.
-
Grey box testing
Grey box testing
Grey box testing - це метод тестування програмного продукту або програми з частковим знанням внутрішнього пристрою.
-
Confirmation testing (re-testing)
Confirmation testing (re-testing)
Confirmation testing (re-testing) - Тестування, у якому виконуються тестові сценарії, які були пройдені під час останнього запуску, з метою підтвердити успішність виправлень.
-
Regression testing
Regression testing
Regression testing - тестування вже протестованої програми, що проводиться після модифікації для впевненості в тому, що процес модифікації не вніс або не активізував помилки в областях, що не зазнавали змін. Проводиться після зміни коду програмного продукту або його оточенні.
-
Smoke testing
Smoke testing
Smoke testing - димове тестування розглядається як короткий цикл тестів, що виконується для підтвердження того, що після складання коду (нового або виправленого) додаток, що встановлюється, стартує і виконує основні функції.
-
Sanity testing
Sanity testing
Sanity testing - це вузькоспрямоване тестування, достатнє для доказу того, що конкретна функція працює відповідно до заявлених у специфікації вимог.
-
Maintenance Testing
Maintenance Testing
Maintenance Testing – тестування змін у діючій системі або впливу змін в оточенні на діючу систему.
-
Exploratory testing
Exploratory testing
Exploratory testing - підхід до тестування, при якому тестувальники динамічно проектують та виконують тести на основі своїх знань, вивчення елемента тестування та результатів попередніх тестів.
-
Pair testing
Pair testing
Pair testing - дві особи (двоє тестувальників, розробник та тестувальник, або кінцевий користувач та тестувальник), що працюють разом над пошуком дефектів. Зазвичай вони працюють за одним комп'ютером протягом роботи, передаючи управління один одному.
-
Ad-hoc testing
Ad-hoc testing
Ad-hoc testing – тестування, що виконується неформально; без формальної підготовки тестів, формальних методів проектування тестів, визначення очікуваних результатів та керівництва з виконання тестування.
-
Compatibility testing
Compatibility testing
Compatibility testing (interoperability testing) - процес тестування визначення можливості взаємодії програмного продукту.
-
Static testing
Static testing
Static testing – тестування артефактів розробки програмного забезпечення, таких як вимоги, дизайн чи програмний код, що проводиться без виконання цих артефактів. Наприклад, за допомогою рецензування чи статичного аналізу.
-
Dynamic testing
Dynamic testing
Dynamic testing – тестування, яке проводиться під час виконання програмного забезпечення, компонента або системи.
-
Test execution
Test execution
Test execution - процес запуску тесту на досліджуваному компоненті чи системі, що веде до реальних результатів.
-
Accessibility testing
Accessibility testing
Accessibility testing - тестування, яке визначає рівень легкості, з якою користувачі з обмеженими здібностями можуть використовувати систему або її компоненти.
-
Scalability testing
Scalability testing
Scalability testing - фокусується на здатності системи задовольняти майбутню ефективність вимоги, які можуть бути вищими за ті, які потрібні в даний час.
-
tVolume testing
tVolume testing
Volume testing - завданням об'ємного тестування є отримання оцінки продуктивності зі збільшенням обсягів даних у базі даних програми, при цьому відбуваються: — вимірювання часу виконання обраних операцій при певних інтенсивностях виконання цих операцій — може здійснюватися визначення кількості користувачів, які одночасно працюють із додатком