Первоклассное тестирование Евгений Ланцов. 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