
- •Що таке тестування?
- •Техніки, що базуються на специфікаціях.
- •Альфа та бета тестуваня.
- •Техніки на основі скінченного автомату.
- •Стратегія тестування.
- •Дефекти, типи дефектів.
- •Тестування на основі формальних специфікацій.
- •Випадкове тестування.
- •Тестування, орієнтоване на дефекти.
- •Тестування мутацій.
- •Оракул. Проблема оракула.
- •Збої та відмови.
- •Тестування продуктивності.
- •Стрес-тести
- •Системне тестування.
- •Методології покращення якості.
- •Вимірювання, пов’язані з тестуванням.
- •Випадкове тестування.
- •Техніки, орієнтовані на код.
- •Відстеження та видалення дефектів.
- •Типи дефектів та їх класифікація.
- •Дослідне тестування.
- •Тестування конфігурації.
- •Модульне тестування.
- •Тестування зручності використання (usability).
- •Звіти по помилках.
- •Метрики дефектів.
- •Тестування графічного інтерфейсу користувача.
- •Метрики динаміки знаходження дефектів.
- •Розробка, керована тестуванням (Test-driven development).
- •Виконання тестів.
- •Модель процесу тестування.
- •Управління тестуванням.
- •Інструменти тестування.
- •Метрики покриття.
- •Статистичне тестування.
- •Класифікація інструментів тестування.
- •Спеціалізоване тестування.
- •Критерії завершення тестування.
- •Планування тестування.
- •Кто будет тестировать?
- •Какие компоненты надо тестировать?
- •Створення тестів (test-cаse).
- •Засоби (середовища) тестування.
- •Критерії вибору тестів.
- •Проведення тестування.
- •Порівняльне тестування.
- •Ефективність проведення тестування.
- •Функціональне тестування.
- •Тестування Web-застосувань.
- •Тестування та визначення дефектів.
- •Метрики підрахунку дефектів.
- •Проблеми оракула.
- •Обмеження при проведенні тестування.
- •Тести, що базуються на блок-схемі.
- •Тестування інсталяцій.
- •Зв’язок тестування з іншими видами діяльності по розробці.
- •Метод білої скриньки.
- •Рівні тестування (послідовність).
- •2. Уровни тестирования (Test Levels)
- •2.1.1 Модульное тестирование (Unit testing)
- •2.1.2 Интеграционное тестирование (Integration testing)
- •2.1.3 Системное тестирование (System testing)
- •Вимірювання, що базуються на концепції функціонального розміру.
- •Метод чорної скриньки.
- •Цілі тестування.
- •Метод сірої скриньки.
- •Регресійне тестування.
- •Інтеграційне тестування.
- •Тестування, що базується на досвіді та інтуїції.
- •Порівняння методів чорної та білої скриньки.
- •Аналіз граничних значень.
- •Основи тестування.
- •Техніки, що базуються на аналізі коду.
- •Порівняння збоїв та відмов.
Метрики покриття.
Покры́тие ко́да — мера, используемая при тестировании программного обеспечения. Она показывает процент, насколько исходный код программы был протестирован.
Существует несколько различных способов измерения покрытия, основные из них:
покрытие операторов — каждая ли строка исходного кода была выполнена и протестирована;
покрытие условий — каждая ли точка решения (вычисления истинно ли или ложно выражение) была выполнена и протестирована;
покрытие путей — все ли возможные пути через заданную часть кода были выполнены и протестированы;
покрытие функций — каждая ли функция программы была выполнена;
покрытие вход/выход — все ли вызовы функций и возвраты из них были выполнены.
Для программ с особыми требованиями к безопасности часто требуется продемонстрировать, что тестами достигается 100 % покрытие для одного из критериев. Некоторые из приведённых критериев покрытия связаны между собой; например, покрытие путей включает в себя и покрытие условий и покрытие операторов.
Статистичне тестування.
— Статистическое тестирование (statistics-driven testing); проводится выборочно, чтобы проверить, как долго или насколько хорошо может выполняться программа.
Класифікація інструментів тестування.
Класифікація інструментів тестування
Інструменти керування тестуванням
Менеджери конфігурацій та проекту
Інструменти, підтримуючі аналіз вимог та проекту
Аналізатори планів, вимог та проектів
Розробники прототипів/емулятори системи
Інструменти тестування вимог
Планувальники тестів
Класифікація інструментів тестування
Інструменти підтримки тестування на етапі реалізації та супроводу
Статичні аналізатори вихідного коду
Інструменти підготовки тестів
Інструменти виконання тестів
Оцінювачі тестів
Інструменти керування тестуванням
Менеджери конфігурації - відстежують і контролюють внесення змін до ПС на протязі її розробки та супроводу і підтримують цілісність розроблених і поставляються версій ПС.
Менеджери проекту - підтримують функції планування та відстеження на етапах розробки та супроводу системи (оцінювання термінів, ресурсів, побудова мережевих графіків і ін.)
Інструменти, підтримуючі аналіз вимог та проекту
Аналізатори планів, вимог і проектів - оцінюють специфікації на повноту, несуперечність і відповідність встановленим стандартам для специфікацій.
Будівники прототипів/емулятори системи - об'єднують дії з тестування з діями з аналізу та проектування і дозволяють швидко промоделювати вимоги та проектні рішення.
Інструменти, підтримуючі аналіз вимог та проекту
Інструменти трасування вимог - дозволяють встановити зв'язки вимог до проекту, кодом і тестами.
Планувальники тестів - підтримують процес планування тестування на всіх його рівнях.
Статичні аналізатори вихідного коду
Аудитори - аналізують код на відповідність стандартам кодування та встановленим правилам.
Вимірювачі складності - обчислюють метрики коду для визначення атрибутів складності шляхом оцінювання таких характеристик коду, як потік управління, операнди / оператори, дані, структура системи.
Інструменти генерації перехресних посилань - забезпечують посилання між різними сутностями (змінними).
Вимірювачі розміру - обчислюють число рядків вихідного коду (SLOC).
Інструменти підготовки тестів
Екстрактори даних - будують тести, витягуючи інформацію з існуючих баз даних або тестових наборів.
Генератори тестів за специфікацією вимог - будують тести за вимогами, написаним на формальному мові специфікації.
Генератори тестових даних (за різними методами) - генерують вхідні дані для тестування відповідно до методу, реалізованим в інструменті.
Планувальники тестів - підтримують розробку та ведення планів тестування.
Інструменти виконання тестів
Динамічні аналізатори покриття - оцінюють покриття коду тестами по відношенню до операторів, шляхам або модулів.
Інструменти захоплення / програвання - автоматично записують дії тестувальника при виконанні програми у вигляді автоматичної тестової процедури і потім відтворюють ці дії.
Відладчики - безпосередньо підтримують автономне тестування, хоча їх призначення - пошук і усунення помилок (налагодження).
Емулятори - можуть застосовуватися замість відсутніх компонентів системи.
Інструменти виконання тестів
Аналізатори мережі - призначені для аналізу трафіку мережі.
Аналізатори продуктивності - відстежують тимчасові характеристики системи або її компонентів.
Аналізатори помилок періоду виконання - відстежують роботу програми на наявність помилок, пов'язаних із захопленням-звільненням пам'яті, нульовими покажчиками і т.п.
Інструменти управління виконанням тестів - автоматизують різні функції налаштування та виконання тестів, очищення системи після виконання тестів.
Оцінювачі тестів
Компаратори - порівнюють результати тестування і виявляють відхилення. Інструменти захоплення / програвання зазвичай мають у своєму складі такі компоненти.
Конвертори та аналізатори даних - конвертують дані в зручний для інтерпретації формат і виконують різні види статистичного аналізу цих даних.
Трасувальник дефектів / змін - зберігають інформацію про дефекти і генерують звіти. Зазвичай входять до складу систем управління конфігурацією і інструментів управління тестуванням.