Фирма

«Инрэко ЛАН»

В ноябре мне довелось побывать на конференции SQA Days 8, и посетить выступление Андрея Дмитриева "Тестирование ПО: по другую сторону баррикад. Взгляд разработчика".

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

Нельзя сказать, что соотношение программистов и тестировщиков, должно быть, например, «два к одному» или «три к двум», так как эта цифра зависит от проекта. Отношение времени отладки к времени исправления зависит от качества описания дефекта и качества работы тестировщика в целом.

Итак, основными «продуктами тестировщика» являются:

  1. отчет по дефекту
  2. тестовые сценарии (test cases)
  3. аналитические обзоры
  4. метрики, статистики, удобные отчеты
  5. варианты использования систем (use cases)
  6. план тестирования
  7. решение: даем продукт или нет
  8. хорошие инструменты для тестирования и анализа результатов
  9. максимальное покрытие тестами (покрытие критической части программы и покрытие спецификации)
  10. своевременное информирование о результатах

Далее был проведен опрос «Что должен предоставить программист тестировщику – взгляд тестировщика», в результате которого получился список:

  1. валидный продукт
  2. список изменений
  3. сообщение «что протестировал программист»
  4. узкие места
  5. средства журналирования работы системы в процессе ее работы (логи)
  6. спецификация на новый функционал
  7. планируемые изменения на следующий релиз (что бы начать планировать тестирование)
  8. описание зависимостей и взаимосвязи компонентов
  9. исходный код
  10. понимание
  11. планирование для координации

От себя бы добавила еще, как минимум:

  1. внимание к задачам и комментариям
  2. уважение к работе тестировщиков.

После того, как зал перечислил то, чего хотелось видеть тестировщикам, всем был продемонстрирован новый список: «что должен предоставить разработчик тестировщикам – взгляд разработчика»:

  1. ПО работающее по спецификации
  2. Быстрая реакция на ошибки и запросы
  3. Поменьше ошибок в коде
  4. Участие в обсуждениях

Сразу видно, что список явно меньше :-), но хочется отметить, что самые важные пункты, на мой взгляд, присутствуют. Хотя, к сожалению, они не всегда реализуются.

Теперь о самом главном продукте тестировщика. Хороший отчет об ошибке должен соответствовать нескольким, на самом деле, очень важным и не очень сложным требованиям:

  • отчет должен быть кратким;
  • содержать тест, скриншот, видео или звук;
  • содержать описание того, что должно быть, что на самом деле, и что наблюдается;
  • должно присутствовать описание, как необходимо настроить систему, для воспроизведения проблемы;
  • проблема должна быть разбита на части, фокус - на важном;
  • по прочтении должно быть понятно, что нужно исправить или к какому компоненту относится проблема;
  • формулировка должна быть нейтральная (без личного отношения);
  • при описании проблемы нужно учитывать, что будет, если описание проблемы увидит кто-то другой;
  • должны быть приведены все необходимые ссылки;
  • желательно отсутствие опечаток

В процессе работы у разработчиков есть несколько пожеланий:

  1. Контроль за работой над дефектом (периодичность и своевременность).
  2. Прозрачность того, что делает тестировщик (рассылки о статусе тестирования; согласование с разработчиком в неоднозначной ситуации).
  3. Ответственность тестировщика.

Разработчики хотят знать:

  1. Какие компоненты проверяются.
  2. Отчеты об ошибках должны быть легко доступны (уведомления по почте).
  3. Нужно знать, когда начинается цикл тестирования, что успеть внести определенные правки.

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

P. S.
Немного отвлекусь от этого доклада, так как хочется напомнить, что, несмотря на возможное недопонимание, тестировщики любят программистов. Честно! Например, на этой же конференции был конкурс «Придумать надпись для майки». Одним из победителей стала девушка, придумавшая текст «С багами жестко, с программистами нежно» (возможно цитата не дословная, но смысл был примерно такой).

Ссылки

  1. http://it-conf.ru/ru/content/333.htm#TOC-32

Метки: SQA Days 8 | Андрей Дмитриев | тестирование

Добавить комментарий