2. Немного о себе
Донецкий университет интеллекта
(кафедра программного обеспечения
интеллектуальных систем)
Специалист по тестированию ПО,
SoftLine (Киев), 1.5 года
QA Team Leader, QuartSoft, 1.5
года
Email: olga@quartsoft.com
Skype: petr_olya
3. Тестирование. Что это?
• Тестирование программного обеспечения — процесс
исследования программного обеспечения (ПО) с целью
получения информации о качестве продукта.
• Баг (bug) — это отклонение фактического результата (actual
result) от ожидаемого результата (expected result). Т.е.
программа не делает то, что должна или делает, что не
должна.
• Кто такой тестер (тестировщик)? Это человек, в
профессиональные обязанности которого входит
обнаружение, локализация и отслеживание различных
ошибок в программе, описание их самих, а также шагов для
их воспроизведения. Это специалист, который способен
рассматривать проблему с точки зрения пользователя.
4. Что такое качество ПП
• Отсутствие «ошибок» (bugs) в продукте?
• Соответствие требованиям?
• Пригодность к использованию?
Составляющие цены этого самого
КАЧЕСТВА?
• Цена сбоев - затратами на выявление и исправление
ошибок и выхода из строя.
• Цена оценки качества — издержки на контроль качества:
издержки на тестирование продукта.
• Цена превентивных усилий — затраты на обучение, на
проектирование процесса, на планирование качества.
5. Зачем нужно
тестирование?
• Повысить качество
продукта
• Оценить статус продукта
• Сократить затраты на
разработку
• Сократить затраты на
поддержку выпущенного
продукта
• …
Тестирование не повышает качество ПП, но может поспособствовать!
7. Кому и как помогает
тестирование?
• Помогаем разработчикам
исправлять баги (качественное
заведение)
• Помогаем руководству принимать
решения (наглядная отчётность)
• Помогаем бизнесу (не пропуская
критичные баги)
•…
Результаты работы тестировщика
= помощь другим участникам
проекта!
9. Кто должен тестировать?
Тестировщик –
тестированием должны
заниматься специально
подготовленные люди!
10. Почему тестировщик не может
отвечать за качество ПО
• Тестировщик не может обеспечивать
качество работы других участников
проекта
• Тестировщик не вносит изменения в код
• Тестировщик, как правило, не может
организационно повлиять на решения об
исправлении ошибок
• Тестировщик не управляет ресурсами
проекта
• Тестировщик не управляет бюджетом проекта
• И как следствие, тестировщик не отвечает
за качество ПО
11. Кто отвечает за качество?
• В проекте – менеджер проекта
• В подразделении разработчиков –
руководитель подразделения
• На уровне компании –первое лицо
компании
В их руках ресурсы, бюджет, право на принятие
решений
12. QA, QC, Testing
• Тестирование (TESTING) — это
«контроль качества» (поиск
ошибок и дефектов)
• Контроль качества (QUALITY
CONTROL) – это измерение
качества продукта
• Обеспечение качества
(QUALITY ASSURANCE) – это
измерение и управление
качеством процесса, который
используется для создания
качества продукта (или
качественного продукта).
14. Уровни тестирования
• Модульное тестирование (Unit
testing) позволяет проверить
функционирование отдельно
взятого элемента системы. Что
считать элементом – модулем
системы определяется контекстом.
• Интеграционное тестирование
(Integration testing) – процесс
проверки взаимодействия между
программными
компонентами/модулями.
• Системное тестирование
(System testing) Системное
тестирование охватывает целиком
всю систему.
15. Функциональное
тестирование
• Функциональное (ручное)
тестирование - Основной вид
тестирования, направленный на проверку
всех требований.
• Регрессионное тестирование
(regression testing) – тестирование,
позволяющее убедиться в том, что
изменения, внесенные с целью
исправления обнаруженных ошибок, не
породили новых.
16. Нефункциональное
тестирование
Тестирование
производительности
(performance testing) -
тестирование, которое
проводится с целью
определения, как быстро
работает система или её
часть под определённой
нагрузкой.
17. Нефункциональное
тестирование
Нагрузочное
тестирование (load
testing) – тестирование
приложения при
больших нагрузках,
например, веб-сайта
при предельных
нагрузках, чтобы
определить, при каком
количестве
подключений система
не сможет выполнять
свой функционал или
будет это делать с
недопустимым уровнем
производительности.
18. Тестовые Артефакты
• План тестирования (Test Plan) - это документ
описывающий весь объем работ по тестированию,
начиная с описания объекта, стратегии,
используемые для его тестирования, методики и
необходимые ресурсы, с графиком выполнения
запланированных работ, до необходимого в процессе
работы оборудования, специальных знаний, а также
оценки рисков с вариантами их разрешения.
• Набор тест кейсов и тестов (Test Case & Test suite) -
это последовательность действий, по которой можно
проверить соответствует ли тестируемая функция
установленным требованиям.
• Чек лист (Check List) - Чек-лист (он же проверочный
список) - это просто список пунктов, которые нужно
обязательно проверить, например, перечень всех
функций системы.
• Дефекты / Баг Репорты (Bug Reports / Defects) - это
документы, описывающие ситуацию или
последовательность действий приведшую к
некорректной работе объекта тестирования, с
указанием причин и ожидаемого результата.