testing

19
Организация Организация процесса процесса тестирования ПО тестирования ПО Петренко Ольга QA Петренко Ольга QA Team Leader Team Leader

Upload: quartsoft

Post on 15-Nov-2014

552 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Testing

Организация процесса Организация процесса тестирования ПОтестирования ПО

Петренко Ольга QA Петренко Ольга QA Team LeaderTeam Leader

Page 2: Testing

Немного о себеНемного о себе

Донецкий университет интеллекта Донецкий университет интеллекта (кафедра программного обеспечения (кафедра программного обеспечения интеллектуальных систем)интеллектуальных систем)

Специалист по тестированию ПОСпециалист по тестированию ПО,, SoftLine SoftLine ((КиевКиев)), 1.5 года, 1.5 года

QA Team Leader, QuartSoftQA Team Leader, QuartSoft, 1.5 , 1.5 годагода

Email: [email protected]: [email protected]

Skype: petr_olyaSkype: petr_olya

Page 3: Testing

Тестирование. Что это?• Тестирование программного обеспечения — процесс

исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

• Баг (bug) — это отклонение фактического результата (actual result) от ожидаемого результата (expected result). Т.е. программа не делает то, что должна или делает, что не должна.

• Кто такой тестер (тестировщик)? Это человек, в профессиональные обязанности которого входит обнаружение, локализация и отслеживание различных ошибок в программе, описание их самих, а также шагов для их воспроизведения. Это специалист, который способен рассматривать проблему с точки зрения пользователя.

Page 4: Testing

Что такое качество ПП

• Отсутствие «ошибок» (bugs) в продукте?• Соответствие требованиям?• Пригодность к использованию?

Составляющие цены этого самого КАЧЕСТВА?

• Цена сбоев - затратами на выявление и исправление ошибок и выхода из строя.

• Цена оценки качества — издержки на контроль качества: издержки на тестирование продукта.

• Цена превентивных усилий — затраты на обучение, на проектирование процесса, на планирование качества.

Page 5: Testing

Зачем нужно тестирование?

• Повысить качество продукта

• Оценить статус продукта• Сократить затраты на

разработку• Сократить затраты на

поддержку выпущенного продукта

• …

Тестирование не повышает качество ПП, но может поспособствовать!

Page 6: Testing

Кому нужно тестирование?• Тестировщику?• Разработчику

– Качественное заведение дефектов– Своевременное заведение дефектов– Предоставление требуемой

информации• PM

– Реальная картина готовности проекта;– Точное планирование;– Приемлемые проекту сроки.

• Заказчику• Требуемое тестовое покрытие

– Понимание пользователя, юз-кейзов, приоритетов;

– Следование бюджету.

Page 7: Testing

Кому и как помогает тестирование?

• Помогаем разработчикам исправлять баги (качественное заведение)• Помогаем руководству принимать решения (наглядная отчётность)• Помогаем бизнесу (не пропуская критичные баги)• …

Результаты работы тестировщика = помощь другим участникам проекта!

Page 8: Testing

Кто должен тестировать?

Разработчик?

Заказчик?

Пользователи?

Page 9: Testing

Кто должен тестировать?

Тестировщик – тестированием должны заниматься специально подготовленные люди!

Page 10: Testing

Почему тестировщик не может отвечать за качество ПО

• Тестировщик не может обеспечивать качество работы других участников проекта

• Тестировщик не вносит изменения в код• Тестировщик, как правило, не может

организационно повлиять на решения об исправлении ошибок

• Тестировщик не управляет ресурсами проекта• Тестировщик не управляет бюджетом проекта• И как следствие, тестировщик не отвечает

за качество ПО

Page 11: Testing

Кто отвечает за качество?

• В проекте – менеджер проекта

• В подразделении разработчиков –руководитель подразделения

• На уровне компании –первое лицо компании

В их руках ресурсы, бюджет, право на принятие решений

Page 12: Testing

QA, QC, Testing• Тестирование (TESTING) — это

«контроль качества» (поиск ошибок и дефектов)

• Контроль качества (QUALITY CONTROL) – это измерение качества продукта

• Обеспечение качества (QUALITY ASSURANCE) – это измерение и управление качеством процесса, который используется для создания качества продукта (или качественного продукта).

Page 13: Testing

Виды тестирования

Page 14: Testing

Уровни тестирования• Модульное тестирование (Unit

testing) позволяет проверить функционирование отдельно взятого элемента системы. Что считать элементом – модулем системы определяется контекстом.

• Интеграционное тестирование (Integration testing) – процесс проверки взаимодействия между программными компонентами/модулями.

• Системное тестирование (System testing) Системное тестирование охватывает целиком всю систему.

Page 15: Testing

Функциональное тестирование

• Функциональное (ручное) тестирование - Основной вид тестирования, направленный на проверку всех требований.

• Регрессионное тестирование (regression testing) – тестирование, позволяющее убедиться в том, что изменения, внесенные с целью исправления обнаруженных ошибок, не породили новых.

Page 16: Testing

Нефункциональное тестирование

Тестирование производительности (performance testing) - тестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой.

Page 17: Testing

Нефункциональное тестирование

Нагрузочное тестирование (load testing) – тестирование приложения при больших нагрузках, например, веб-сайта при предельных нагрузках, чтобы определить, при каком количестве подключений система не сможет выполнять свой функционал или будет это делать с недопустимым уровнем производительности.

Page 18: Testing

Тестовые Артефакты• План тестирования (Test Plan) - это документ

описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, используемые для его тестирования, методики и необходимые ресурсы, с графиком выполнения запланированных работ, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.

• Набор тест кейсов и тестов (Test Case & Test suite) - это последовательность действий, по которой можно проверить соответствует ли тестируемая функция установленным требованиям.

• Чек лист (Check List) - Чек-лист (он же проверочный список) - это просто список пунктов, которые нужно обязательно проверить, например, перечень всех функций системы.

• Дефекты / Баг Репорты (Bug Reports / Defects) - это документы, описывающие ситуацию или последовательность действий приведшую к некорректной работе объекта тестирования, с указанием причин и ожидаемого результата.

Page 19: Testing

Вопросы?Вопросы?

Спасибо за Спасибо за внимание!внимание!