НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
Кафедра комп’ютеризованих систем захисту інформації
ЗВІТ
З ЛАБОРАТОРНОЇ РОБОТИ №1
«Види тестування, планування тестування»
(тема)
з дисципліни
«Моніторинг та тестування СКб»
Київ 2023
Мета роботи: вивчити класифікацію видів тестування, практично закріпити ці знання шляхом генерації тестів різних видів, навчитися планувати тестові активності в залежності від специфіки продукції, що поставляється на тестування функціональності.
Теоретичні відомості
Тестування - процес, спрямований на оцінку коректності, повноти і якості розробленого програмного забезпечення.
Цілі тестування.
Виявлення дефектів
Підвищення впевненості в рівні якості
Надання інформації для прийняття рішень
Запобігання дефектів
За об’єктом тестування виділяють наступні види тестування ПЗ:
функціональне тестування (functional testing);
дослідницьке тестування (exploratory testing);
тестування продуктивності (performance testing);
навантажувальне тестування (load testing);
димне тестування (smoke testing);
стрес-тестування (stress testing);
тестування стабільності (stability / endurance / soak testing);
тестування зручності використання (usability testing);
тестування інтерфейсу користувача (ui testing);
тестування безпеки (security testing);
тестування локалізації (localization testing);
тестування сумісності (compatibility testing).
У залежності від переслідуваних цілей, види тестування можна умовно розділити на наступні типи:
функціональне тестування (functional);
нефункціональне тестування (non-functional);
тестування пов’язане зі змінами.
За знанням системи:
тестування чорної скриньки (black box);
тестування білої скриньки (white box);
тестування сірої скриньки (gray box).
За ступенем автоматизації:
ручне тестування (manual testing);
автоматизоване тестування (automated testing);
напівавтоматизоване тестування (semiautomated testing).
За ступенем ізольованості компонентів:
компонентне (модульне) тестування (component / unit testing);
інтеграційне тестування (integration testing);
системне тестування (system / end-to-end testing).
За часом проведення тестування:
Альфа-тестування (alpha testing):
тестування нової функціональності (new feature testing);
регресійне тестування (regression testing);
тестування при здачі (acceptance testing);
Бета-тестування (beta testing).
За ознакою позитивності сценаріїв:
позитивне тестування (positive testing);
негативне тестування (negative testing).
За ступенем підготовленості до тестування:
тестування за документацією (formal testing);
Ad Hoc Testing (інтуїтивне) тестування (ad hoc testing).
Виконання ЛР
Об’єкт тестування: ніж
Вид тестування
Тестові перевірки
Functional Testing
Ріже? – а метал?
Складається?
Чи можна заточити?
Safety Testing
Чи можна порізатись?
Чи можна давати дітям?
Security Testing
Наскільки міцна упаковка?
Compatibility Testing
Чим можна заточити – спеціальним інструментом, іншим ножем, об дно чашки або тарілки
Місце зберігання – чохол або стійка для ножів
GUI Testing
Сталь чи кераміка?
Колір?
Який тип клинка?
Кухонний чи похідний?
Usability Testing
Чи зручно заточувати?
Чи зручно тримати в руці?
Компактний?
Accessibility Testing
Чи можуть користуватись люди з обмеженими можливостями?
Performance Testing
Як швидко іржавіє лезо?
Наскільки тверді предмети ріже?
Скільки можна тримати у воді?
Скільки часу можна не заточувати?
На чому можна різати?
Stress Testing
Різати без дошки
Стукати по столі
Кидати в різні предмети
Negative Testing
Засунути в розетку
Порізати іграшку
Поцарапати стіл
Спробувати зламати
Black Box Testing
Користуватись всліпу
Різати предмети,які не можна
Automated Testing
Автоматична точилка
Unit/Component Testing
Окремо лезо і окремо ручка
Integration Testing
Після зборки – чи міцно тримається лезо?
3. Тестові активності
Ira, [03.03.2023 13:09]
Для тестування модулів 1, 2 та 3 можна скласти наступний план:
Провести юніт-тести для кожного з модулів для перевірки окремих функціональностей.
Виконати тести на продуктивність для оцінки швидкодії та продуктивності системи при різних навантаженнях.
Провести тести безпеки для перевірки захисту даних та системи від зловмисників.
Для перевірки нової функціональності модуля 4, можна скласти такий план:
Провести юніт-тести для перевірки окремих функціональностей нового модуля.
Провести інтеграційні тести для перевірки взаємодії нового модуля з існуючими модулями.
Виконати тести на продуктивність для оцінки швидкодії та продуктивності системи з новим модулем при різних навантаженнях.
Провести тести безпеки для перевірки захисту даних та системи від зловмисників з новим модулем.
Для розширення підтримки для Великобританії можна скласти такий план:
Провести перевірку змінених вимог щодо ринку Великобританії та зробити необхідні зміни у тест-кейсах.
Виконати тести на локалізацію для перевірки того, що програмне забезпечення коректно працює з локалізованим текстом та форматом дати та часу.
Виконати тести на відповідність регуляторним вимогам для перевірки того, що програмне забезпечення відповідає всім
Для перевірки, чи тримає програмне забезпечення навантаження в 2000 користувачів, можна спланувати наступні тестові активності:
Навантажувальні тести: створення віртуальних користувачів, які будуть виконувати дії, які реальні користувачі зазвичай роблять на сайті або в додатку. Таким чином можна дізнатися, чи зможе програмне забезпечення витримати навантаження від великої кількості користувачів.
Функціональні тести: перевірка функцій програмного забезпечення, що відповідають за обробку запитів користувачів та додаткові функції. Для цього можна виконати тестування різних операцій, таких як реєстрація користувачів, входи в систему, перегляд контенту тощо.
Тести на відмову: перевірка, як система поводиться при великому навантаженні. Таким чином можна дізнатися, як система реагує на відмови, що стосуються певних функцій та операцій.
Тести на продуктивність: оцінка швидкості та часу відгуку системи під час великого навантаження. Таким чином можна дізнатися, чи буде система працювати ефективно під великим навантаженням та які часи відгуку можна очікувати.
Тести на масштабованість: перевірка можливості системи масштабуватися та забезпечувати потрібну продуктивність при збільшенні кількості користувачів. Таким чином можна дізнатися, чи зможе система витримати навантаження в майбутньому, коли кількість користувачів збільшиться.
Висновок: ознайомилася з базовими типами видами, моделями та стратегіями тестування. Набула навичок тестування простого предмету. Освоїла етапи побудови стратегії тестування та класифікацію критеріїв тестування.