Тестування програмного забезпечення являє собою процес дослідження того, наскільки реальна поведінка системи відповідає вимогам і очікуванням. Тести, які використовуються для цих перевірок, ґрунтуються на задокументованих вимогах замовника. Необхідно максимально підвищити ймовірність того, що тестований продукт буде працювати як належить за будь-яких обставин і відповідати всім описаним вимогам. Також важливо надавати актуальну інформацію про стан продукту на даний момент.
Етапи тестування ПЗ
- 01.10.2020
- Опубліковано: Admin
Основні поняття
Життєвим циклом програмного забезпечення називають період від моменту появи ідеї створення і до моменту завершення його підтримки фірмою-розробником або фірмою, яка виконувала супровід.
Етапи тестування ПЗ – це процес, який складається з певної кількості окремих частин, має кінцеву мету і виконується протягом усього життєвого циклу розробки програмного забезпечення.
Весь процес тестування зазвичай збігається з циклом розробки програмного продукту або відповідає її певному етапу. Перевірка стійкості ПЗ схожа на вивчення системи від кінцевого користувача, тому тестувальника слід підключати до роботи ще на етапі збору та аналізу вимог. Найкраще, коли обговорення елементів продукту проходить за участю розробника, QA-аналітика і користувача.
Життєвий цикл програмного забезпечення можна розділити на наступні етапи:
Далі ми розглянемо більш детальніше кожен з періодів, які проходить програмний продукт від ідеї до експлуатації.
Етап перший. Аналіз вимог
Умови і критерії роботи системи, як правило, визначаються замовником або менеджером проєкту в процесі спілкування з клієнтом, або аналізом стандартів та нормативної документації. Ці вимоги можуть бути як функціональними, так і нефункціональними.
Тестувальник працює над статичним тестуванням вимог: досліджує їх повноту, логічність, однозначність і визначеність, також знаходить слабкі місця в тестовому покритті і виявляє можливі ризики. Виникають обставини, коли наявні вимоги не тестуються, але використовуються на етапі дизайну і розробки. І вже готовий продукт направляється у відділ QA. Тоді кількість знайдених дефектів, вартість та масштаб їх виправлення можуть значно зрости.
Етап другий. Процес дизайну
Один з найважливіших складових етапів, тому що користувачеві доведеться постійно взаємодіяти з системою. Продукт повинен бути інтуїтивно зрозумілий у використанні, мати приємний інтерфейс, а також бути оптимізованим (користувач робить мінімальні дії для досягнення результату).
На даному етапі тестувальник перевіряє існуючі прототипи ПЗ на відповідність вимогам замовника, коректності відображення візуальних елементів і зручності використання.
Етап третій. Розробка
Під час процесу розробки системи необхідно провести модульне, інтеграційне та системне тестування.
Для початку тестуються окремі компоненти програми. Це дозволяє виявити, в якій саме частині коду є помилка і досить швидко усунути її. Ще модульне тестування допомагає відстежити, чи не призвела зміна коду до появи нових помилок в уже перевірених місцях продукту. Також це допомагає краще зрозуміти роль кожного модуля системи. Усі знайдені дефекти, як правило, виправляються в коді без формального їх опису (внесення звітів в баг-трекер).
Інтеграційне тестування дозволяє перевірити, як компоненти коду об'єднуються і взаємодіють один з одним. Також воно визначає зв'язки між модулями, обладнанням або різними системами.
І, нарешті, переходимо до системного тестування. На цій стадії мається на увазі перевірка всіх компонентів і модулів в цілому. Це необхідно для зменшення ймовірності дефектів, пов'язаних з особливостями поведінки системи в різних середовищах. В ході цих перевірок виявляються такі баги, як: нераціональне використання ресурсів системи, несумісність з оточенням, збій або неправильне функціонування функціоналу та інше.
Етап четвертий. Процес тестування та дебаггінгу
Дебаггінг (налагодження) – це процес, під час якого знаходять і усувають помилки програми.
На даному етапі тестувальники перевіряють систему на наявність дефектів незалежно від того, чи відбувалось це раніше. Проводиться повне тестування інтерфейсу та функціоналу продукту. Всі виявлені помилки повинні бути задокументовані в баг-трекері. Також слід провести регресійне тестування, щоб дослідити систему на предмет дефектів, які могли з'явитися після усунення інших багів.
По завершенню процесу налагодження потрібно надати оцінку якості продукту, наскільки відповідають вимоги замовника реальній роботі системи.
Етап п'ятий. Експлуатація та підтримка
Після того, як продукт надходить у реліз, залишається необхідність у тестуванні, так як буде відбуватися оновлення ПЗ, будуть з'являтися нові баги, які були випущені або баги, пов'язані з експлуатацією кінцевого користувача. В такому випадку потрібне втручання відділу QA.
У разі виявлення користувачами тих чи інших пост-релізних багів, інформація про них передається у вигляді звітів про помилки команді розробки, яка, в залежності від серйозності проблеми, або негайно випускає виправлення (т.зв. hot-fix), або відкладає його до наступної версії програми.
Всі зміни, що вносяться до програмного забезпечення, необхідно ретельно протестувати. ПЗ повинне продовжувати виконувати спочатку закладені в ньому бізнес-функції і не порушувати працездатність інших функцій і всієї системи в цілому.
Процес тестування ПЗ охоплює всі етапи життєвого циклу розробки. Він безперервний, тривалий і вимагає наявності досить досвідченої команди тестувальників, щоб охопити всі етапи тестування. А моніторинг та аналіз всього процесу допомагає спланувати і, в разі необхідності, внести зміни для підвищення ефективності подальших завдань. Ця частина сучасного процесу розробки ПЗ допомагає замовнику, команді розробників, і головне, кінцевому користувачеві отримати продукт високої якості.