
- •Що таке тестування?
- •Техніки, що базуються на специфікаціях.
- •Альфа та бета тестуваня.
- •Техніки на основі скінченного автомату.
- •Стратегія тестування.
- •Дефекти, типи дефектів.
- •Тестування на основі формальних специфікацій.
- •Випадкове тестування.
- •Тестування, орієнтоване на дефекти.
- •Тестування мутацій.
- •Оракул. Проблема оракула.
- •Збої та відмови.
- •Тестування продуктивності.
- •Стрес-тести
- •Системне тестування.
- •Методології покращення якості.
- •Вимірювання, пов’язані з тестуванням.
- •Випадкове тестування.
- •Техніки, орієнтовані на код.
- •Відстеження та видалення дефектів.
- •Типи дефектів та їх класифікація.
- •Дослідне тестування.
- •Тестування конфігурації.
- •Модульне тестування.
- •Тестування зручності використання (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)
- •Вимірювання, що базуються на концепції функціонального розміру.
- •Метод чорної скриньки.
- •Цілі тестування.
- •Метод сірої скриньки.
- •Регресійне тестування.
- •Інтеграційне тестування.
- •Тестування, що базується на досвіді та інтуїції.
- •Порівняння методів чорної та білої скриньки.
- •Аналіз граничних значень.
- •Основи тестування.
- •Техніки, що базуються на аналізі коду.
- •Порівняння збоїв та відмов.
Відстеження та видалення дефектів.
1) Виявлення дефектів не застосовуючи жодних прийомів
2) Використання різних контрольних списків для гарантії покриття важливих частин документів
Контрольні списки по робочим продуктам – перевірка основних функцій, структур даних, визначень даних компонентів
Контрольні списки по властивостям – перевірка стилів коду, відповідність стандартам, зв'язаності та залежностей модулів
3) Сценарії використання системи застосовуються для управління пошуком дефектів, що об'єднує декілька компонентів ПЗ
Типи дефектів та їх класифікація.
Аспекти класифікацій дефектів:
Симптом;
Серйозність;
Пріоритет усунення;
Стадія розробки та джерело;
Тип.
Класифікація дефектів за симптомами:
Аварійне завершення програми;
Несподівана поведінка програми;
“ Зависання ” програми;
Проблема вводу:
Коректні дані не вводяться;
Неправильні дані вводяться;
Опис даних відсутній / невірний;
Параметри не повні / відсутні;
Проблема виводу:
Невірний формат;
Невірні результати / дані;
Неповний / відсутній вивід;
Граматика / синтаксис;
Незадовільна продуктивність;
Відчуття загального відказу продукту;
Повідомлення про помилку системи.
Класифікація дефектів за серйозністю:
Критичний;
Серйозний;
Значний;
Незначний;
Не дефект.
Класифікація дефектів за пріоритетом усунення:
У першу чергу;
Звернути увагу;
У порядку черги;
Відкласти;
Відхилити.
Класифікація дефектів за стадіями розробки та джерелам
Класифікація дефектів за стадіями розробки співвідносить їх зі стадіями розробки, на яких вони були внесені.
Класифікація дефектів за джерелами співвідносить дефекти з робочими продуктами стадій розробки, використання яких призвело до появи дефектів у коді ПО.
Класифікація дефектів за типом дефекту:
Логічні;Обчислень;Інтерфейсу;
Обробки даних;Вводу даних;
Обробки помилок та ін.
Дослідне тестування.
Такое тестирование определяется как одновременное обучение, проектирование теста и его исполнение. Данный вид тестирования заранее не определяется в плане тестирования и такие тесты создаются, выполняются и модифицируются динамически, по мере необходимости. Эффективность исследовательских тестов напрямую зависит от знаний инженера, формируемых на основе поведения тестируемого продукта в процессе проведения тестирования, степени знакомства с приложением, платформой, типами возможных сбоев и дефектов, рисками, ассоциированными с конкретным продуктом и т.п.
Тестування конфігурації.
Конфигурационное тестирование (ConfigurationTesting) — специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.)
В зависимости от типа проекта конфигурационное тестирование может иметь разные цели:
Проект по профилированию работы системы
Цель Тестирования: определить оптимальную конфигурацию оборудования, обеспечивающую требуемые характеристики производительности и времени реакции тестируемой системы.
Проект по миграции системы с одной платформы на другую
Цель Тестирования: Проверить объект тестирования на совместимость с объявленным в спецификации оборудованием, операционными системами и программными продуктами третьих фирм.
Перед началом проведения конфигурационного тестирования рекомендуется:
создавать матрицу покрытия (матрица покрытия - это таблица, в которую заносят все возможные конфигурации),
проводить приоритезацию конфигураций (на практике, скорее всего, все желаемые конфигурации проверить не получится),
шаг за шагом, в соответствии с расставленными приоритетами, проверяют каждую конфигурацию.
Уже на начальном этапе становится очевидно, что чем больше требований к работе приложения при различных конфигурациях рабочих станций, тем больше тестов нам необходимо будет провести. В связи с этим, рекомендуем, по возможности, автоматизировать этот процесс, так как именно при конфигурационном тестировании автоматизация реально помогает сэкономить время и ресурсы. Конечно же автоматизированное тестирование не является панацеей, но в данном случае оно окажется очень эффективным помощником.