software development
Що таке методологія розробки та тестування програмного забезпечення?
Тестування є важливою частиною процесу розробки програмного забезпечення. Надійний та стабільний програмний продукт може бути поставлений із використанням стандартних методологій тестування, які допоможуть передбачити часову шкалу програмної системи.
Програмна програма може стати ще більш складною з великою кількістю платформ і пристроїв. Що ще важливіше, потрібно переконатись, чи відповідають вони зазначеним вимогам і чи можуть їх ефективно встановлювати та експлуатувати на машині користувача чи ні.
За допомогою безпеки , сумісність та зручність використання програмного продукту слід протестувати за допомогою відповідної методології тестування.
У цій статті , ми обговоримо те, що мається на увазі під методологіями тестування, чим вона відрізняється від стратегій тестування та типи методів тестування програмного забезпечення в деталях.
Що ви дізнаєтесь:
- Значення методологій тестування
- Техніка тестування
- Моделі в SDLC
- Різниця між методологіями тестування та стратегіями тестування
- Висновок:
- Рекомендована література
Значення методологій тестування
Методології можна розглядати як сукупність механізмів тестування, що використовуються в життєвому циклі розробки програмного забезпечення від модульного тестування до системного тестування. Вибір відповідної методології тестування вважається суттю процесу тестування.
Техніка тестування
В основному існує 3 методології тестування, які використовуються для тестування. Це тестування White Box, тестування Black Box та Тестування сірої коробки . Вони також називаються як Техніка тестування . Кожне з методів тестування коротко подано нижче для кращого розуміння.
# 1) Тестування білої скриньки:
Техніка тестування білої коробки використовується для вивчення структури програми та бізнес-логіки, перевіряє код або програму програми. Його ще називають як Тестування Clear Box, Тестування скляних коробок або Тестування Open Box .
Методи тестування White Box включають:
- Покриття заяви: Вивчає всі твердження програмування.
- Покриття філії: Серія запущених тестів, щоб переконатися, що всі гілки протестовані.
- Покриття шляху: Перевіряє всі можливі шляхи для охоплення кожного висловлювання та гілки.
# 2) Тестування чорної скриньки:
Метод тестування Black Box використовується для перевірки функціональності програми на основі специфікації вимог. На відміну від тестування White Box, воно не фокусується на внутрішній структурі / коді програми.
Методи чорної скриньки включають:
- Аналіз граничних значень
- Розбиття на еквівалентність (Розділення на класи еквівалентності)
- Таблиці рішень
- Тести доменів
- Державні моделі
- Дослідницькі випробування (вимагає меншої підготовки, а також допомагає швидко виявити дефекти).
# 3) Тестування сірої коробки:
Цей метод тестування проводиться з меншою кількістю інформації про внутрішню структуру програми. Як правило, це проводиться як тестування Black Box, але для деяких критичних областей застосування використовується тестування White Box.
Моделі в SDLC
Вибір належних методологій тестування також поєднується з вибором відповідної моделі в SDLC.
Моделі включають:
- Модель водоспаду
- У моделі
- Спритна модель
- Спіральна модель
- РАД
Давайте детальніше розглянемо кожну методологію розробки програмного забезпечення з коротким поясненням.
# 1) Модель водоспаду
Модель водоспаду - це основна модель життєвого циклу, розроблена Вінстоном Ройсом у 1970 році. Ця модель представляє безліч етапів або процесів послідовно, що прогресує поступово вниз.
Цей підхід корисний, коли вимоги добре відомі, технології зрозумілі та ресурси, що мають необхідний досвід, є.
Модель водоспаду визначається наступними етапами:
- Збір та аналіз вимог: Зафіксуйте та проаналізуйте всі вимоги та переконайтеся, що вони перевіряються чи ні.
- Дизайн системи: Створювати та оформляти документи на основі аналізу вимог. Визначте вимоги до обладнання та програмного забезпечення.
- Реалізація: Створіть надійний код для компонентів відповідно до конструкції та інтегруйте їх.
- Тестування системи: Інтегровані компоненти утворюють цілу систему, цей етап виконується для того, щоб переконатися, чи працює система відповідно до вимог, відстежуючи та звітуючи про хід тестування.
- Розгортання системи: Переконайтесь, що система стабільна з нульовими помилками, усі критерії тесту були
дотримуйтесь, переконайтесь, що налаштування середовища тощо - Обслуговування системи: Переконується, що додаток працює ефективно відповідно до вимог із відповідним середовищем. У разі виявлення дефекту, його слід виправити та розгорнути (оновити) у середовищі.
Переваги моделі водоспаду:
- Простий і зрозумілий.
- Легко управляти, оскільки кожна фаза має свої конкретні результати.
- Уникає перекриття етапів.
- Добре для невеликих проектів.
Недоліки моделі водоспаду:
- Збільшення розміру ризику та невизначеності.
- Одного разу увійшовши у фазу тестування, ви не можете нічого змінити на попередніх етапах напр Дизайн та кодування тощо
- Не підходить для складних і великих проектів.
- Не підходить там, де вимоги постійно змінюються.
# 2) У моделі
V Модель є розширення моделі водоспаду де виконання процесу відбувається у послідовному стилі у V-формі, а також відоме як модель перевірки та перевірки. У цьому підході існує безпосередньо пов'язана фаза тестування на кожній фазі циклу розробки.
Це було доведено вигідним та економічно вищим, ніж модель водоспаду, оскільки випробування проводяться на кожному етапі розробки, а не в кінці циклу розробки.
V Модель класифікується на 3 фази.
- Фаза верифікації
- Фаза кодування
- Фаза перевірки
а) Фаза верифікації :
- Аналіз бізнес-вимог: Спілкуйтеся з клієнтом, щоб зрозуміти його очікування та вимоги.
- Дизайн системи: Дизайнповнасистеми та її компонентів, а також вимоги до апаратного та програмного забезпечення.
- Архітектурний дизайн: На цьому етапі фіксуються архітектурні характеристики. Це також відоме як дизайн високого рівня.
- Дизайн модуля: Це також відоме як дизайн низького рівня, детальний внутрішній дизайн для всіх зазначених системних модулів.
б) Фаза кодування:
Ця фаза містить фактичну фазу кодування в життєвому циклі розробки. Мови програмування слід вибирати, виходячи із системи та архітектурного проекту, зазначених у попередній фазі технологічної платформи. Кодування виконується відповідно до стандартів та керівних принципів, які визначені заздалегідь.
в) Фаза перевірки :
- Одиничне тестування: Виконується на окремому модулі для усунення помилок на ранній стадії.
- Тестування інтеграції: Виконується для перевірки зв'язку між різними модулями в системі.
- Тестування системи: Тестування системи виконується в системі в цілому.
- Прийомне тестування: Це пов'язано з вимогами бізнесу. Це виконується в середовищі користувача з точки зору користувача.
Переваги V-моделі
- Простий, простий у використанні та розумінні.
- Накладання уникається, оскільки етапи виконуються по одному.
- Легкий в управлінні та підходить для невеликих проектів.
Недоліки моделі V більш-менш схожі на недоліки моделі Waterfall.
# 3) Спритна модель
Спритна модель показує ітераційний та інкрементальний підхід. Цей підхід розбиває продукт на невеликі додаткові одиниці для забезпечення ітерацій. Потім кожна ітерація включає такі етапи, як планування, аналіз вимог, проектування, кодування, тестування одиниць, перевірка прийнятності тощо.
Цей підхід також дозволяє постійно взаємодіяти з клієнтом для його зворотного зв'язку та виправлення вимог через рівні проміжки часу.
Наступна схема допоможе точніше зрозуміти підхід Agile Model:
На наступному зображенні буде показано цикл ітерації в Agile Model:
Переваги моделі Agile:
- Реалістичний підхід до розробки програмного забезпечення.
- Сприяє роботі в команді.
- Усуває невідповідність між вимогами та тестовими кейсами.
- Швидкий і вимагає мінімальної кількості ресурсів.
- Підходить для великих та довгострокових проектів.
- Добре для зміни вимог.
- Легкий в управлінні.
Недоліки Agile моделі:
- Не підходить для складних проектів.
- Потрібна велика кількість взаємодії з клієнтом, що може спричинити затримку.
- Неправильне введення вимог може спричинити неправильну розробку програмного продукту.
- Підвищений ризик ремонтопридатності.
- Передача іншій команді може бути досить складною.
# 4) Спіральна модель
Спіральна модель включає ітеративний підхід до розвитку разом із систематичним підходом моделі водоспаду. Це схоже на додаткову модель та акцент на аналізі ризиків.
Спіральна модель має чотири етапи:
- Етап планування
- Аналіз ризиків
- Інженерна фаза
- Етап оцінки
1) Етап планування: На цьому етапі збираються та переглядаються вимоги для завершення тестування.
2) Аналіз ризику: Цей етап включає виявлення, моніторинг та оцінку ризиків управління. Вимоги аналізуються для виявлення ризиків за допомогою таких методів, як мозковий штурм, проходження тощо.
3) Інженерна фаза: На цьому етапі програмне забезпечення розробляється та перевіряється наприкінці.
4) Етап оцінки: Це останній етап, коли замовник оцінює результати проекту та надає свої відгуки для наступної спіралі або затвердження.
Ілюстративне зображення спіральної моделі:
Коли використовувати спіральну модель:
- Для проектів з високим ризиком.
- Коли вимоги складні.
- Якщо проект великий.
- Майте достатньо часу для отримання відгуку користувача про наступну спіраль.
- Потрібні суттєві зміни внаслідок проведення досліджень та розвідки.
- Користувачі не впевнені у своїх потребах.
Переваги спіральної моделі:
- Уникнення ризику, оскільки воно включає велику кількість аналізу ризиків.
- Швидкий розвиток.
- Зміни у вимогах легко усуваються.
- Вимоги можна отримати більш точно.
Недоліки спіральної моделі:
- Комплексне управління.
- Не підходить для невеликих проектів.
- Може включати ні. спіралей (невизначений).
- Дорого.
- Потрібен великий обсяг аналізу ризиків та досвіду для успіху їх проекту.
# 5) Модель RAD
Швидка розробка додатків (RAD) - це тип додаткової моделі. При цьому підході компоненти розробляються паралельно.
Це швидкий підхід, який може надати швидкий продукт замовнику для надання зворотного зв'язку.
Фази в RAD такі:
- Бізнес-моделювання: Визначає життєво важливу інформацію та її потік між різними діловими каналами.
- Моделювання даних: Інформація, зібрана на попередньому етапі, використовується для визначення об’єктів даних, необхідних для бізнесу.
- Моделювання процесів: Об'єкти даних перетворюються для отримання бізнес-цілей та потоку інформації.
- Генерація додатків: На цьому етапі використовуються засоби автоматизації для перетворення моделі процесу в фактичний код.
- Випробування та оборот: Випробовує всі компоненти системи, отже, загальний час тестування скорочується.
Переваги моделі RAD:
- Прогрес можна виміряти.
- Скорочує час розробки.
- Підвищена багаторазовість.
- Швидкі початкові огляди.
- Покращує відгуки клієнтів.
Недоліки моделі RAD:
- Потрібні висококваліфіковані ресурси.
- Оцінка високої вартості.
- Не застосовується для дешевих проектів.
- Висока залежність від навичок моделювання.
- За допомогою RAD можна побудувати лише модулізовану систему.
Різниця між методологіями тестування та стратегіями тестування
Відповідь на це не надто складний, оскільки між ними існує проста різниця.
Методології тестування - це методи або підходи до тестування, які включають від модульного тестування до системного тестування.
Стратегії тестування - це огляд ключових питань, що виникають у процесі тестування, і повинен бути врахований керівником проекту, командою розробників та тестувальників.
Для реалізації використовуються вищеописані методи тестування програмного забезпечення n кількість стратегій тестування.
Деякі з них перелічені нижче:
1) одиничне тестування:
- Зосереджується на дуже маленьких функціональних одиницях.
- Найпростіший спосіб перевірити найменші одиниці на ізоляцію.
- Зазвичай виконується розробниками.
2) Інтеграційне тестування:
які етапи життєвого циклу розробки програмного забезпечення
- Це наступний крок, який слід виконати на стороні розробника.
- Забезпечити механізм для перевірки взаємодії, взаємодії та зв'язку між різними модулями програмного забезпечення
3) Функціональне тестування:
Він використовується для перевірки функціональних можливостей програмної системи, тобто виведення на даний вхід.
4) Регресійне тестування:
Перевіряє, чи виправлення помилок відбулося в одному місці, щоб складні функціональні можливості не спричиняли змін в іншій основній області.
5) Тестування системи:
- Тестування всіх інтегрованих модулів як колективної системи.
- Поєднує кілька функцій у наскрізні сценарії.
6) Тестування продуктивності:
Тестує продуктивність програми в критичних ситуаціях, таких як передача великого файлу, одночасний доступ користувачів до системи, збій конфігурації тощо.
7) Прийомне тестування :
- Загалом Кінцевий рівень тестування, де тестувальники розглядають програмний продукт як перспективу користувачів
- Результат цього кроку є суб’єктивним і вимагає трохи, щоб знайти точну проблему
Висновок:
Вибір належної методології тестування - це дія чи сукупність дій, що лежить в основі процесу тестування. Це може бути навіть різнобічною діяльністю, яка змінюється відповідно до бізнес-вимог та термінів програмного продукту.
Однак можна вибрати одну або навіть декілька методологій розробки та тестування програмного забезпечення, щоб мати більш гнучкий та ефективний кінцевий продукт, який задовольняє потреби та очікування замовника протягом бажаного або меншого часу.
Повідомте нам про свої думки / пропозиції в розділі коментарів нижче.
Рекомендована література
- Найкращі засоби тестування програмного забезпечення 2021 р. (Засоби автоматизації тестування якості)
- Тестування програмного забезпечення QA Assistant Job
- Курс тестування програмного забезпечення: до якого інституту тестування програмного забезпечення слід приєднатися?
- Вибір тестування програмного забезпечення як вашу кар’єру
- Тестування програмного забезпечення Технічний вміст Письменник Робота фрілансера
- Деякі цікаві питання для тестування програмного забезпечення
- Відгуки та відгуки про курс тестування програмного забезпечення
- Тестування програмного забезпечення Довідка Партнерська програма!