В современных организациях, занимающихся вопросами контроля качества, тестировщики должны владеть техническими знаниями, хорошими коммуникативными навыками и вниманием к деталям. Мы знаем, что основной обязанностью QA-инженера является тестирование ПО в процессе его разработки для обеспечения соответствия продукта ожидаемым стандартам качества. Какие же еще дополнительные качества делают тестировщика действительно хорошим специалистом?
Важность тестеров в современных командах разработки ПО растет, поскольку эта роль превратилась в нечто большее, чем просто «поиск дефектов для поддержания корпоративного имиджа». В связи с этим тестировщики должны быть более продуктивными и эффективными, чем когда-либо. Также им важно изменить свой подход к работе, сосредоточившись на качестве выпускаемого ПО, а не только на количестве найденных багов. Речь идет о постоянном внесении улучшений и поиске “правильных” ошибок, что сможет существенно улучшить качество работы конечного пользователя с ПО.
Далее рассмотрим несколько ключевых показателей эффективности (KPI), которые используются для оценки работы тестировщика.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.
Показатели, которые только кажутся важными
В Agile-командах процесс тестирования практически не прекращается. Это единственный способ убедиться в том, что функции, реализованные во время данной итерации или спринта, доведены до конца. Быстро развивающиеся Agile-команды часто используют довольно очевидные метрики в качестве оценки KPI, но в действительности эти показатели не так важны, как кажется на первый взгляд.
- Общее количество дефектов. Как уже упоминалось выше, количество найденных дефектов сейчас не так актуально, как раньше. Одна критическая ошибка, обнаруженная вовремя, стоит куда больше десятков найденных багов со статусом trivial. Итоговое количество дефектов не даст вам абсолютно никакого представления об удовлетворенности конечного пользователя продуктом.
- Полное покрытие. Автоматизированное и/или ручное тестовое покрытие всех функций. Если какая-либо функция не покрыта тестами в определенном спринте, она не будет считаться “выполненной” и будет переноситься на следующий спринт до тех пор, пока ее тестирование не завершится. Это гарантирует, что все возможности и функции будут максимально протестированы. Тем не менее, в Agile-методах этот критерий стал менее важен, чем раньше, и в приоритете – проверка наиболее важных функциональностей ПО, а не всех подряд.
- Охват модульного тестирования. Высокий уровень охвата unit-тестами не обязательно способствует повышению качества продукта. Это связано с тем, что большинство дефектов обнаруживается во время интеграционного и сквозного тестирования, которые проводятся после выполнения модульного тестирования.
Метрики, которые действительно важны
Существуют определенные ключевые показатели эффективности (KPI), которые необходимо измерять. Имейте в виду, что речь идет лишь о некоторых важных KPI, связанных с тестированием; существуют и другие показатели, которые также нужно учитывать.
- Процент критичных и пропущенных дефектов. Любой опытный QA инженер может найти 20 ошибок, даже не зная приложения. Главное – сосредоточиться на том, что действительно важно для клиента. Пропущенные дефекты – это те, которые не заметил тестировщик и обнаружил конечный пользователь. Хотя они не должны приводить к всеобщей панике при обнаружении их заказчиком, команда должна исследовать эти баги и извлечь из этой ситуации урок, чтобы в дальнейшем она не повторялась.
- Время на тестирование. Это время, которое требуется элементу бэклога, чтобы перейти из состояния “в тестировании” в состояние “готово”. С точки зрения методологии Agile – время, необходимое для тестирования пользовательской истории. Выяснилось, что это важный KPI для измерения эффективности работы тестировщиков и определения того, насколько быстро они выполняют поставленные задачи.
- Время устранения дефектов. Этот показатель отображает уровень ответственности тестировщика за свои ошибки. Обязанность команды QA, следящей за качеством, заключается в контроле всего времени решения проблемы, а не только времени, которое требуется для обнаружения ошибки или проверки исправления. Важно убедиться, что ошибка была исправлена надлежащим образом и закрыть проблему в разумные сроки, чтобы конечные пользователи были удовлетворены результатом.
- Процент отклоненных дефектов. Это баги, обнаруженные в продукте, но не принятые разработчиком. Большое количество отклоненных дефектов показывает, насколько одинаково разработчик и тестировщик понимают функциональности продукта и их назначение.
Эффективность и результативность
Помимо KPI, упомянутых выше, эффективность и результативность тестирования программного обеспечения являются не менее важными способами измерения качества работы тестировщиков.
- Эффективность тестирования программного обеспечения – это количество выполненных тест-кейсов, поделенное за единицу времени (обычно за час). Проще говоря, это внутренний показатель организации, определяющий, сколько ресурсов было выделено и какая их часть была использована.
- Результативность тестирования программного обеспечения можно измерить, если четко определены цель и задачи тестирования. Прежде всего, результативность должна обеспечивать надежность ПО и соответствие ожиданиям пользователя.
Заключение
Институт системных наук компании IBM сообщил, что стоимость исправления ошибки, обнаруженной после релиза продукта, в четыре-пять раз выше, чем стоимость исправления ошибки, обнаруженной во время проектирования. Такие серьезные финансовые потери можно предотвратить с помощью правильных измерений KPI и метрик тестирования.
Используя вышеупомянутые подходы, можно отслеживать и анализировать результаты работы тестировщиков, чтобы добиться более высокой производительности, повысить их эффективность и обеспечить значимую и измеримую рентабельность ваших усилий по тестированию.
Перевод статьи Bas Dijkstra «What makes a good QA tester? 4 KPIs essential to software testing».