Критерії тестування програмного забезпечення
Критерії тестування програмного забезпечення - це заздалегідь визначені стандарти, умови та еталони, які керують процесом тестування програмного забезпечення. Ці критерії використовуються, щоб визначити, коли тестування завершено, чи відповідає програмне забезпечення необхідним стандартам якості і чи готове воно до випуску. Вони допомагають встановити обсяг, фокус і критерії успіху діяльності з тестування, гарантуючи, що всі необхідні аспекти програмного забезпечення підтверджені і перевірені перед розгортанням. Критерії тестування програмного забезпечення мають важливе значення для визначення того, що є “успішним” тестом, і забезпечують чітку основу для оцінки ефективності процесу тестування.
Основні типи критеріїв тестування програмного забезпечення:
- Критерії вступу: Умови, які повинні бути виконані перед початком тестування. Ці критерії гарантують, що програмне забезпечення готове до тестування і що середовище, ресурси та інструменти є на місці для проведення ефективних тестів.
- Тестове середовище налаштоване та стабільне.
- Тестові дані підготовлені та доступні.
- Вся необхідна документація (тестові плани, вимоги тощо) готова.
- Код завершений і пройшов первинне внутрішнє тестування (юніт-тести).
- Критерії виходу: Умови, які повинні бути виконані до того, як тестування можна буде вважати завершеним, а програмне забезпечення готовим до випуску. Ці критерії гарантують, що було проведено достатнє тестування і що програмне забезпечення вільне від критичних дефектів.
- Всі критичні та пріоритетні дефекти були виправлені та перевірені.
- Необхідні тестові кейси були виконані з очікуваним покриттям.
- Результати виконання тесту відповідають критеріям “пройшов/не пройшов”, визначеним у тестових завданнях.
- Не залишилося жодних серйозних невирішених дефектів, або вони задокументовані та визнані зацікавленими сторонами проекту.
- Звіти про випробування та документація завершені та переглянуті.
- Критерії покриття тесту: Визначають ступінь, до якого програмне забезпечення тестується з точки зору можливостей, коду та функціональності. Сюди входить визначення того, які частини програмного забезпечення повинні бути протестовані і на якому рівні деталізації.
- 100% покриття функціональних тестів на основі вимог.
- Критерії покриття коду, такі як тестування всіх гілок, шляхів та операторів у коді.
- Тестові кейси повинні охоплювати як позитивні, так і негативні сценарії, граничні ситуації та обробку помилок.
- Критерії дефектів: Визначає критерії для ідентифікації, класифікації та пріоритизації дефектів. Ці критерії допомагають визначити, що є “дефектом” і який рівень серйозності або пріоритетності пов’язаний з різними типами дефектів.
- Рівні серйозності (критичний, значний, незначний і т.д.) для класифікації дефектів.
- Дефекти, які блокують хід тестування або впливають на основну функціональність, повинні бути усунені до початку тестування.
- Максимально допустима кількість дефектів або щільність дефектів перед тим, як оголосити тест пройденим або не пройденим.
- Критерії продуктивності: Визначає критерії продуктивності, яким має відповідати програмне забезпечення з точки зору швидкості, масштабованості, обробки навантаження та швидкості реагування за різних умов.
- Програмне забезпечення повинно реагувати на введення користувача протягом певного часу (наприклад, < 2 секунди).
- Система повинна обробляти певну кількість одночасних користувачів без погіршення продуктивності.
- Програмне забезпечення має пройти стрес-тестування, навантажувальне тестування та тестування масштабованості на основі визначених метрик.
- Критерії безпеки: Встановлює стандарти безпеки, яким має відповідати програмне забезпечення, забезпечуючи його захист від вразливостей, витоку даних та несанкціонованого доступу.
- Програмне забезпечення повинно пройти тестування на безпеку, наприклад, тестування на проникнення або сканування вразливостей.
- Усі конфіденційні дані мають бути зашифровані під час передачі та зберігання.
- Відповідність стандартам безпеки (наприклад, OWASP Top 10 для веб-додатків).
- Критерії юзабіліті: Визначає стандарти юзабіліті, яким має відповідати програмне забезпечення, щоб воно було зручним та інтуїтивно зрозумілим для користувача.
- Програмне забезпечення має бути простим у навігації, з чітким і лаконічним користувацьким інтерфейсом.
- Користувацька документація та довідкові функції повинні бути повними та доступними.
- Програмне забезпечення повинно пройти юзабіліті-тестування на основі попередньо визначених стандартів користувацького досвіду (UX).
- Критерії відповідності: Забезпечує відповідність програмного забезпечення правовим, регуляторним та галузевим стандартам, які можуть відрізнятися залежно від сектору (наприклад, охорона здоров’я, фінанси, ігри).
- Програмне забезпечення повинно відповідати вимогам щодо захисту даних (наприклад, GDPR, HIPAA).
- Програмне забезпечення має відповідати стандартам доступності (наприклад, WCAG для веб-додатків).





