4. Этапы тестирования
Тестирование
программного продукта
Проектирование тестов
Анализ требований
Планирование
процесса тестирования
Изучение информации о системе. Получение и анализ
данных для составления плана тестирования
Определение объемов тестирования,
подходов, ресурсов и календарного плана
Определение цели тестирования,
входных данных, архитектуры тестов
5. Этапы тестирования (продолж.)
Отладка тестов
Выполнение
тестов (testing cycles)
Интеграционное
системное тестирование
(System Integration Testing)
Приемочные испытания
(Acceptance Testing)
Эксплуатация и
поддержка
Непосредственная проверка тестов,
анализ всевозможных тестовых случаев
Функциональная проверка, тестирование
интеграции систем и модулей для
определения рабочих характеристик
Альфа-тестирование,
Бета-тестирование
Проверка результатов,
исправление дефектов
Пересмотр и отладка тестовых случаев
7. Цели плана тестирования
• Определить объекты тестирования
• Проанализировать архитектуру системы на
полноту и тестопригодность
• Создать перечень инструментов и ресурсов,
используемых в проекте
• Перечислить список отчётных документов
8. Основные разделы плана тестирования
• Введение
• Тестовые требования
• Стратегия тестирования
• Материалы, подлежащие сдаче
• Расписание
10. Проектирование тестирования
• Определить и описать тестовые сценарии
• Подготовить анализ рабочей нагрузки
• Определить и структурировать тестовые
процедуры
• Просмотреть и оценить тестовое покрытие
13. Хороший тест-кейс
...
Действия:
1. В поле «А» ввести значение 2
2. В поле «B» ввести значение 3
3. Нажать на кнопку «Рассчитать»
Ожидаемый результат:
В поле «Сумма» отобразилось значение 5
15. Пример 1
• do A1, verify B1
• do A2, verify B2
• do A3, verify B3
Action Expected Result Test Result
(passed/failed/blocked)
PreConditions
do A1 verify B1
do A2 verify B2
Test Case Description
do A3 verify B3
16. Детализация описания тест кейсов
Проверка отображения страницы
Действие Ожидаемый результат Результат теста
Открыть страницу Логин - Окно Логин открыто
- Название окна - Логин
- Логотип компании
отображается в правом
верхнем углу
- На форме 2 поля - Имя
и Пароль
- Кнопка Логин доступна
- Линк забыл пароль -
доступен
...
Пример 2.1
17. Детализация описания тест кейсов.
Пример 2.2
Название: Проверка отображения
страницы
Действие: Открыть страницу Логин
Проверка: Проверьте, что отображаемая
страница соответствует странице на
картинке 1 (и прилагаем screenshot
страницы Логин)
18. Структура тест-кейса
• Тест-кейсы необходимо писать по
требованиям
• Тест-кейсы должны не повторять требования,
а проверять их
• Один тест-кейс - одна проверка
• Не зависящие от данных, ситуаций и объектов
Action > Expected Result > Actual Result
19. Выполнение тестирования
• Выполнить тестовые процедуры
• Оценить выполнение тестирования
• Исправить провалившиеся тесты
• Исправить, если нужно, тестовые процедуры
• Проверить результаты
• Проанализировать неожиданные результаты
• Занести дефекты
20. % тестирования продукта
Сколько тестовых сценариев прошло хотя бы раз?
Сколько тестовых сценариев еще ни разу не
запускалось?
0
20
40
60
80
100
120
week1 week2 week3 week4
executed not exec'd
Известное качество
Неизвестное качество
21. Работа с дефектами
Баг / ошибка / дефект / неисправность
1. Известен ожидаемый результат;
2. Известен фактический результат;
3. Известно, что результат из пункта 2 не равен
результату из пункта 1.
22.
23. Важность и Приоритет Ошибки
Важность (Severity) – это атрибут,
характеризующий влияние бага на
работоспособность приложения.
Blocker –> Critical -> Major -> Minor ->Trivial
Приоритет (Priority) – это атрибут,
указывающий на очередность выполнения
задачи или устранения бага.
High -> Medium -> Low
Priority = Impact + Users portion + Stability
24. Типичные проблемы отчетов об ошибках
• Тестирование устаревшего билда
• Изобретение собственных требований
• Использование нечетких формулировок
• Попытка определить причину ошибки
• Завышение приоритета ошибки
• Самовольное сужение тестового покрытия
25. Оценка тестирования
• Оценить покрытие функциональности
тестовыми сценариями
• Оценить покрытие кода
• Проанализировать дефекты
• Определить, были ли достигнуты критерии
завершенности и успешности тестирования
26. Ключевые метрики тестирования ПО
• Метрики покрытия (Coverage Measures)
Тестовое покрытие, основанное на покрытии
требований (Requirements-based Test Coverage)
Тестовое покрытие, основанное на покрытии кода
приложения (Code-based Test Coverage)
• Метрики достигнутого качества (Measuring Perceived
Quality)
• Отчеты, основанные на ошибках (Defect Reports)
• Метрики производительности (Performance Measures)
33. Реакция на риски
• Избежание (Avoid) – не делать то, что может привести
к возникновению риска
• Смягчение, сокращение (Mitigate) – проведение
мероприятий по сокращению влияния риска
• Принятие, удержание (Accept) – сохранение
ответственности за риск
• Передача (Transfer) – перевод ответственности за
риск другой стороне
34. Типичные риски
…
• Планирование
• Неправильное определение границ
работ
• Неправильный выбор архитектуры
• Неправильная оценка ресурсов
• Организационные
• Частое и противоречивое изменение
требований заказчиком
• Текучесть кадров
35. Принципы тестирования
• Каждый тест должен быть связан с
требованием
Каждое требование тестируемо и имеет тест
• Тестирование проводится планово
• Принцип Парето 20/80
Все проверить нельзя
• Начинать с малого и наращивать
Взаимосвязь с другими тестами
• Независимо от разработчиков
• Не забыть о «подразумевающихся» и не
функциональных требованиях