static testing dynamic testing difference between these two important testing techniques
Тестування є Перевірка та перевірка . Ми всі знаємо, що для завершення тестування потрібно 2 В.
найкращий завантажувач YouTube для Windows 10
У сьогоднішній статті ми пролитимемо трохи світла Статичне тестування . Його ще називають верифікацією. Ми дізнаємось про це все і зробимо на це особливий наголос, тому що Динамічне тестування часто приділяє максимум уваги і має незліченну кількість статей, де це детально викладається.
Однак жодна дискусія щодо статичного тестування не була б повною без пояснення того, що означає аналог динамічного тестування. Динамічне тестування - це перевірка, інше - 'V'.
Динамічне тестування - це коли ви працюєте з фактичною системою (а не з якимсь артефактом чи моделлю, яка представляє система), забезпечуючи вхід, отримуючи вихід і порівнюючи вихід із очікуваною поведінкою. Це практична робота з системою з метою пошуку помилок.
Під час цього процесу ми зрозуміємо, як наступні дві поширені помилки щодо тестування не відповідають дійсності:
- Тестування - це діяльність, яка закінчується
- Це виконують лише тестувальники, а решта з них не мають нічого спільного
Почнемо з короткого посилання на v-модель :
- На лівий бік V-моделі ми маємо заходи, які не виконуються командою з контролю якості.
- На правосторонній , у нас є деякі з них, якими опікується команда розробників, хтось тестувальниками, а хтось користувачами.
Почнемо з - Збір вимог . Це виконується бізнес-аналітиком та іншими керівниками вищого рівня - вихідним документом для цієї фази є документ про вимоги бізнесу, BRD.
Наступним етапом є Дизайн системи . Проектування системи - це фаза, коли бізнес-вимоги перекладаються у Функціональні вимоги, у FRD (документ про функціональні вимоги).
Коли відбувається переклад, команда розробників (яка є головною дійовою особою на цьому етапі) збирається поетапно переглядати документ BRD, сторінку за сторінкою та рядок за рядком. Незважаючи на те, що основною метою є споживання вимог бізнесу заради перекладу, документ BRD переглядається по черзі.
Приклад: Скажімо, це BRD для банківського сайту, який має велике значення в галузі безпеки. У BRD є розділ, який розповідає про правила введення паролів для різних користувачів, які створюють обліковий запис на сайті Інтернет-банкінгу. Одне з правил: Користувач не може використовувати пароль, який він / вона використовує для інших облікових записів.
Це неможливо. Оскільки веб-сайт може просто запропонувати, як користувач повинен встановити облікові дані для входу, але немає можливості, це обмеження може бути накладено. Отже, ця вимога неможлива - іншими словами, її неможливо виконати за допомогою програмного забезпечення.
qa або ba, що краще
Давайте тепер розглянемо наступні моменти на основі цього прикладу:
- Як визначається, що ця вимога не може бути побудованою і тому не може бути перевірена (іншими словами, не здійсненна)? Чи маємо ми сайт банку, а потім встановлюємо логін та пароль - і тоді розуміємо, що це неможливо? Ні, ми просто базуємось на цьому на нашому огляді BRD та, звичайно, на здоровому діловому глузді.
- Ми перевіряємо цю вимогу? Звичайно, але суто на основі теоретичного, концептуального сенсу, але не на фактичному AUT (заявка на тестуванні).
- Яка фізична форма цього тесту? - Просте читання або офіційний огляд BRD або ще більш офіційний аналіз доцільності бізнес-вимог.
Повертаючись до наших помилкових уявлень:
- Хто виконує цей огляд BRD? - В основному команда розробників та інші технічні групи, які відповідають за створення продукту. Не тестери.
- Цей огляд триває в кінці створення продукту? Ні, на самому початковому етапі розробки проекту. Отже, не просто кінець.
Методи статичного тестування:
Підводячи підсумок, статичне тестування - це частина перевірки програмного тестування, яка відповідає методам:
- Огляди документів
- Покрокові інструкції
- Огляд
- Техніко-економічний аналіз або будь-яка інша форма аналізу для визначення того, яким програмним забезпеченням повинно бути чи ні
- Перегляд коду
Процитувавши CSTE CBOK, 'Перевірка відповідає на запитання:' Чи ми створили правильну систему? ' в той час як перевірка звертається: 'Ми правильно побудували систему?'
Нижче наведено всі дії зі статичного тестування, які відбуваються зліва від V-моделі.
Стадія SDLC | Вихідні дані | Перевіряє | Актори |
---|---|---|---|
Збір бізнес-вимог | BRD (документ про бізнес-вимоги) | Документ про сферу дії (якщо такий є) | |
Розробка системних вимог | FRD (документ про функціональні вимоги) | Переглядає / перевіряє BRD | Розробник, технічні команди |
Технічні вимоги проектування | TDD (Технічний проектний документ) | Переглядає / перевіряє FRD | Розробник, технічні команди |
Дизайн (код) | Код | Переглядає / перевіряє TDD. Перегляд коду розробником на предмет повноти, формату тощо. | Розробник, технічні команди |
Примітка: Цю інформацію можна екстраполювати для проектів за будь-якими методологіями розробки, оскільки етапи будуть більш-менш схожими.
Праворуч від V-моделі знаходиться перевірка.
Методи динамічного тестування:
- Одиничне тестування
- Інтеграційне тестування
- Тестування системи
Фази модуля, інтеграції, системи та UAT - це створення тестів, які будуть виконуватися на AUT на різних етапах його розвитку. Незважаючи на те, що тести націлені на перевірку різних видів вимог, вони всі однакові.
Отже, будь-яка форма тестування, де ми маємо тест, який потрібно виконати на АУТ, і його вихід необхідний для визначення результату тесту (успішного чи ні) - це перевірка.
Тепер, чи можна було б узагальнити, що з правого боку (RHS) V-моделі взагалі немає перевірки? Відповідь - ні.
Всі тести, які створюються на кожному етапі RHS, перевіряються кілька разів під час етапу створення / завершення тесту. Детальний процес перевірки тестової документації знаходиться на https://www.softwaretestinghelp.com/test-documentation-reviews/
На RHS:
- Тести та код перевіряються розробниками на етапах тестування Unit / Integration.
- Системні тести проходять експертну перевірку під час їх документування, а після завершення - перевірку командою розробників та бізнес-аналітиком.
- Тести UAT проходять перевірку командою з контролю якості, а також користувачами перед початком UAT.
Висновок
На закінчення, статичне тестування є важливою методикою тестування, яка має форму перегляду вимог до бізнесу, огляду функціональних вимог, огляду дизайну, покрокових інструкцій та огляду документації до тесту. Це безперервна діяльність, яка виконується не лише тестувальниками.
Перевірка, частина динамічного тестування є більш практичною і відбувається на самому продукті, а не на артефакті чи зображенні товару. Значно формальний процес ідентифікації тестового випадку / стану, міркування покриття, виконання та повідомлення про дефекти - все це відзначає динамічні методи тестування.
Про автора: Ця стаття написана членом команди STH Свати С.
Запитання та відповіді на програмування Java
Будь ласка, поділіться своїми коментарями, питаннями та досвідом щодо теми статичного та динамічного тестування.
Рекомендована література
- Різниця між робочим столом, тестуванням клієнтського сервера та веб-тестуванням
- Agile Estimation Techniques: Правдива оцінка в Agile Project
- Тестування чорної скриньки: поглиблений посібник із прикладами та методами
- Що таке тестування на відповідність (тестування на відповідність)?
- Яка різниця між тестуванням SIT проти UAT?
- Альфа-тестування та бета-тестування (повний посібник)
- Основні відмінності між тестуванням чорної скриньки та тестуванням білої скриньки
- Різниця між модульним тестуванням, інтеграційним тестуванням та функціональним тестуванням