
- •Що таке тестування?
- •Техніки, що базуються на специфікаціях.
- •Альфа та бета тестуваня.
- •Техніки на основі скінченного автомату.
- •Стратегія тестування.
- •Дефекти, типи дефектів.
- •Тестування на основі формальних специфікацій.
- •Випадкове тестування.
- •Тестування, орієнтоване на дефекти.
- •Тестування мутацій.
- •Оракул. Проблема оракула.
- •Збої та відмови.
- •Тестування продуктивності.
- •Стрес-тести
- •Системне тестування.
- •Методології покращення якості.
- •Вимірювання, пов’язані з тестуванням.
- •Випадкове тестування.
- •Техніки, орієнтовані на код.
- •Відстеження та видалення дефектів.
- •Типи дефектів та їх класифікація.
- •Дослідне тестування.
- •Тестування конфігурації.
- •Модульне тестування.
- •Тестування зручності використання (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)
- •Вимірювання, що базуються на концепції функціонального розміру.
- •Метод чорної скриньки.
- •Цілі тестування.
- •Метод сірої скриньки.
- •Регресійне тестування.
- •Інтеграційне тестування.
- •Тестування, що базується на досвіді та інтуїції.
- •Порівняння методів чорної та білої скриньки.
- •Аналіз граничних значень.
- •Основи тестування.
- •Техніки, що базуються на аналізі коду.
- •Порівняння збоїв та відмов.
Метод сірої скриньки.
При тестуванні сірого ящика розробник тесту має доступ до вихідного коду, але при безпосередньому виконанні тестів доступ до коду, як правило, не потрібно.
Воно знаходиться в прикордонному стані між білим і чорним ящиком, тому його і називають сірим. Поєднання відбувається таким чином: зовні на продукт дивимося як на чорний ящик, але вибір тестів засновуємо на знанні внутрішнього устрою програми, знанні її коду. Цей метод часто використовується для тестування на веб-додатків.
Сіра скринька (змішане тестування)
Більшість тестів середнього рівня.
Приклад: процедури у модулях.
Індивідуальні процедури як чорні скриньки
Зв'язки між процедурами – біла скринька на рівні модуля
Регресійне тестування.
Якщо система успішно проходила тести до внесення модифікацій, вона повинна їх проходить і після внесення таких.
Основна проблема регресійного тестування полягає в пошуку компромісу між наявними ресурсами та необхідністю проведення таких тестів у міру внесення кожної зміни.
Завдання полягає в тому, щоб визначити критерії "масштабів" змін, з досягненням яких необхідно проводити регресійні тести.
Інтеграційне тестування.
Інтеграційне тестування – тестування архітектури
Даний рівень тестування є процесом перевірки взаємодії між програмними компонентами / модулями.
Класичні стратегії інтеграційного тестування - "зверху-вниз" та "знизу-вгору“ , “монолітне”.
Сучасні стратегії залежать від архітектури тестованої системи і будуються на основі ідентифікації функціональних "потоків".
Високий рівень абстракції
Види:
Тестування з пізньою інтеграцією – аналог монолітного тестування (“тестування в кінці”)
Тестування з постійною інтеграцією – після розробки нового модуля системи, він відразу інтегрується з системою. Суміщення модульного та інтеграційного тестування.
Тестування з регулярною інтеграцією (ієрархічне тестування) – подібне до тестування “згори-вниз” та “знизу-вгору”, але не визначається напрямок проходу.
Тестування, що базується на досвіді та інтуїції.
Техники, базирующиеся на интуиции и опыте инженера (Based on the software engineer’s intuition and experience)
Специализированное тестирование (Ad hoc testing) Возможно, наиболее широко практикуемая техника. Тесты основываются на опыте, интуиции и знаниях инженера, рассматривающего проблему с точки зрения имевшихся ранее аналогий. Данный вид тестирования может быть полезен для идентификации тех тестов, которые не охватываются рассматривавшимеся выше более формализованными техниками.
Исследовательское тестирование (Exploratory testing)Такое тестирование определяется как одновременное обучение, проектирование теста и его исполнение. Данный вид тестирования заранее не определяется в плане тестирования и такие тесты создаются, выполняются и модифицируются динамически, по мере необходимости. Эффективность исследовательских тестов напрямую зависит от знаний инженера, формируемых на основе поведения тестируемого продукта в процессе проведения тестирования, степени знакомства с приложением, платформой, типами возможных сбоев и дефектов, рисками, ассоциированными с конкретным продуктом и т.п.