
- •Що таке тестування?
- •Техніки, що базуються на специфікаціях.
- •Альфа та бета тестуваня.
- •Техніки на основі скінченного автомату.
- •Стратегія тестування.
- •Дефекти, типи дефектів.
- •Тестування на основі формальних специфікацій.
- •Випадкове тестування.
- •Тестування, орієнтоване на дефекти.
- •Тестування мутацій.
- •Оракул. Проблема оракула.
- •Збої та відмови.
- •Тестування продуктивності.
- •Стрес-тести
- •Системне тестування.
- •Методології покращення якості.
- •Вимірювання, пов’язані з тестуванням.
- •Випадкове тестування.
- •Техніки, орієнтовані на код.
- •Відстеження та видалення дефектів.
- •Типи дефектів та їх класифікація.
- •Дослідне тестування.
- •Тестування конфігурації.
- •Модульне тестування.
- •Тестування зручності використання (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)
- •Вимірювання, що базуються на концепції функціонального розміру.
- •Метод чорної скриньки.
- •Цілі тестування.
- •Метод сірої скриньки.
- •Регресійне тестування.
- •Інтеграційне тестування.
- •Тестування, що базується на досвіді та інтуїції.
- •Порівняння методів чорної та білої скриньки.
- •Аналіз граничних значень.
- •Основи тестування.
- •Техніки, що базуються на аналізі коду.
- •Порівняння збоїв та відмов.
Техніки на основі скінченного автомату.
Тесты на основе конечного автомата (Finite-state machine-based)
Строятся как комбинация тестов для всех состояний и переходов между состояниями, представленных в соответствующей модели (переходов и состояний приложения).Общий контекст различных методов тестирования на основе конечных автоматов. Рассматривается описание требований к поведению тестируемой системы, представленное в виде конечного автомата, называемого спецификацией. Реальное поведение тестируемой системы, со всеми имеющимися в ней ошибками, также может быть полностью смоделировано конечным автоматом, называемым реализацией. Реализация неизвестна, известно только, что это конечный автомат, удовлетворяющий ряду условий. Задача состоит в построении как можно более компактного набора тестов — входных последовательностей (и соответствующих им в спецификации выходных), — позволяющих отличить реализацию от спецификации всякий раз, когда они не эквивалентны. Соответственно, если поведение реализации на этом наборе тестов не будет отличаться от поведения спецификации, можно быть уверенным, что они эквивалентны. На спецификацию и реализацию накладываются дополнительные ограничения.
Спецификация
• детерминирована;
• минимальна;
• полностью определена;
• сильно связна или имеет действие reset(R), достоверно приводящее из любого
состояния в начальное.
От реализации требуется
• детерминизм;
• полная определенность;
• сильная связность или наличие reset;
• согласованность стимулов и реакций со спецификацией — входной и выходной
алфавиты реализации те же;
• согласованность начального состояния — в начале работы реализация находится в начальном состоянии;
• ограниченность — число состояний в реализации не превосходит некоторого числа N
Стратегія тестування.
Стратегія тестування – це документ (outline), який описує частину тестування циклу впровадження програмного забезпечення. Цей документ створюється для того, щоб інформувати проджект-менеджерів, тестерів та розробників про основні проблеми процессу тестування. Це включає в себе цілі тестування, методи тестування нових функцій, повний час та ресурси, необхідні для проекту та середовище тестування.
У стратегії тестування описується яким чином були протестовані та зменшені ризики замовників, які використовувалися типи тестування та критерії входу-виходу (entrance-exit criterial).
Дефекти, типи дефектів.
Дефект - неправильний крок, процес чи визначення даних в комп'ютерній програмі
Логічні;
Обчислень;
Інтерфейсу;
Обробки даних;
Вводу даних;
Обробки помилок та ін.
Класифікація дефектів за серйозністю:
Критичний;
Серйозний;
Значний;
Незначний;
Не дефект.
Класифікація дефектів за пріоритетом усунення:
У першу чергу;
Звернути увагу;
У порядку черги;
Відкласти;
Відхилити.
Тестування на основі формальних специфікацій.
Формальні специфікації: Ідеї
Формальна специфікація:
Зосереджена на коректності
Різні рівні деталізації
Характеристики (3С): повна, якісна, послідовна
Два типи: описова та поведінкова
Описові ФС:
Логічні: перед/після умови
Математичні функції
Позначення та мовна підтримка
Поведінкові ФС: FSM, мережі петрі, і т.д.
“Тестування показує наявність помилок, а не їх відсутність” – Дейкстра
ФП: доказ конкретності
ФС: як пре/пост умови
Аксіоми для компонентів або формальних блоків
Склад
Розробка та перевірка разом
Інші схожі підходи
Напів-формальні перевірки
Перевірка моделей
Інспекція на коректність