Первоклассное тестирование Евгений Ланцов. Return On Intelligence.
Содержание Тестирование это больше, чем поиск дефектов Какую информацию может предоставить тестирование? Помогаете ли вы своим тестировщикам? Насколько ценно ваше тестирование? Как сделать вашу команду тестирования первоклассной?
Кому это может быть интересно? Менеджерам, сомневающимся в пользе, которую приносит их команда тестирования Менеджерам, желающим увеличить ценность тестирования Менеджерам, которым предстоит продавать тестирование заказчику Тест менеджерам, набирающим команду тестирования Тестировщикам, желающим понять, к чему стоит стремиться, чтобы найти хорошую работу
Восприятие – это все Что менеджеры зачастую думают о тестировании: Узкое место Хранители качества Любители все сломать Кликающие по кнопкам Специальные знания не обязательны Дорогостоящее излишество Отвечает за качество продукта и гарантирует качество
Истинная цель тестирования Истинная цель тестирования – это предоставление информации о состоянии продукта. “The ultimate reason testers exist is to provide information that others on the project use to create things of value.” James Bach Чтобы оценить тестирование нужно оценить информацию, которую оно предоставляет “Testing is a service role. Feel good about that. The service you provide is vital.” Cem Kaner
Кто способен оценить информацию?
Тестирование – центр колеса QA Директорат Пользователи Тех. поддержка SQA Менеджмент проекта Разработчики Маркетинг Технические писатели
Информация для разработчика Цель: Написать код вовремя без грубых ошибок. Чтобы заказчик не нашел серьезных дефектов. Иначе, буду выглядеть глупо в глазах команды, особенно менеджера. Вопросы: Сколько дефектов я допустил? Они разбросаны по коду или все в одном месте? Я делаю разные ошибки или одни и те же? Метрики: Количество дефектов на количество строк кода Распределение дефектов по функционалу (модулям) Причины дефектов (root cause)
Информация для тест менеджера Цель: Убедиться, что тестировщики нашли бОльшую часть дефектов, и очень немногие просочатся в релиз. Вопросы: Каков процент дефектов найденных до, во время и после системного тестирования? Как мы пропустили дефекты? Метрики: Распределение дефектов по фазам тестирования Анализ пропущенных дефектов, их причины
Информация для менеджера проекта Цель: Создать высококачественный продукт, удобный для заказчика, решающий его проблемы и не создающий дополнительных затрат после релиза. Вопросы: Готов ли продукт к релизу – соответствует ли критериям качества? Каково было бы их влияние (impact) на систему, пропусти мы их? Сколько еще серьезных дефектов может быть не найдено? Каково их влияние? Метрики: Количество дефектов на количество строк кода Оценка оставшегося тестирования Анализ влияния дефектов (impact analysis)
А также Директорат – информации о качестве продуктов компании, информация о рисках, статус проектов по тестированию Технические писатели – отзывы о документации, дефекты документации SQA – информация о процессе тестирования, проектных процессах, помогающая их улучшать Техническая поддержка - информация о результатах анализа и/или тестирования работоспособности, стабильности, надежности, восстановимости продукта и т.д. (reliability, stability, recoverability) Пользователи – информация об известных проблемах (known issues), помощь по работе с продуктом Маркетинг – информация о тестировании для продвижения компании на рынке
Кто способен предоставить эту информацию?
Первоклассные тестировщики Первоклассные тестировщики способны: Оценить дизайн и архитектуру приложения еще до того, как код написан Во время написания кода подготовить ручные и автоматизированные тесты, проверяющие случаи, о которых разработчики даже не думали Измерить все, что они протестировали, оценить риски и понять, что протестировано достаточно, чтобы их минимизировать Не просто находить и создавать отчеты о дефектах, но предоставлять информацию о продукте и ходе тестирования, принимать участие в анализе требований, дизайне.
Оцените ваше тестирование Участвуют ли ваши тестировщики в обсуждениях требований или дизайн митингах? Делитесь ли вы всей информацией о продукте с тестировщиками? Помогаете ли вы тестировщикам с требуемыми тест инструментами? Улучшаете ли вы тестируемость продукта? Тратите ли вы на тренинги для тестировщиков столько же, сколько для разработчиков? Начинают ли ваши тестировщики работать только, когда код уже написан? Обладают ли ваши тестировщики специфической технической экспертизой? Легко ли найти им замену?
Оцените ваше тестирование Нашли ли ваши тестировщики наиболее критичные ошибки до релиза? Нравится ли разработчикам работать с тестировщиками? Владеют ли они специфической информацией о продукте и рисках? Удовлетворены ли они тем, что минимизируют риски продукта до релиза? Способны ли они оценить время, необходимое для тестирования, и объяснить почему? Бывает ли так, что сроки релиза срываются из-за тестирования? Могут ли ваши тестировщики читать код наравне с разработчиками? Можете ли вы оценить объем необходимых изменений в продукте, основываясь на результатах тестирования?
Как собрать команду первоклассных тестирощиков?
Найм и обучение 4 основных критерия экспертизы: Фундаментальные знания: техники, типы, этапы тестирования Опыт: практическое применение фундаментальных знаний, опыт работы с различными приложениями, способности к освоению новых Инструменты/технологии: знание технологий и инструментов, используемых на проекте, обучаемость новым Знания предметной области: понимание ожиданий заказчика в конкретных доменах, знание потенциальных проблем, применение этих знаний, специфические техники и типы тестирования
Найм и обучение Найм: Создайте у себя в голове образ идеального тестировщика для вашего проекта Для собеседования подготовьте вопросы и задачи на основе своего проекта Обращайте внимание на обучаемость и логическое мышление в первую очередь Оцените подход к решению нестандартных задач Обучение: Не экономьте на обучении Проводите тренинги Сертифицируйте сотрудников Мотивируйте самообразование
Выводы Не всем проектам и командам жизненно необходимо первоклассное тестирование. Подумайте, удовлетворены ли вы вашим тестированием. Ваша команда может быть способна на многое. Помогите им раскрыть потенциал. Не набирайте команду тестирования бездумно. Растите профессионалов.
Вопросы?
Использованные статьи “The Secret Skill – How to Sell Testing”, Jim Hazen, ST&QA magazine, August 2011 “No More Second Class Testers!”, Johanna Rothman, pp. 24-32, Better Software magazine, January 2004 “Proving Our Worth”, Lee Copeland, pp. 32-36, Better Software magazine, July/August 2006