Как стать автором
Обновить
1301.73
OTUS
Цифровые навыки от ведущих экспертов

Тестирование или управление качеством? Часть 1. Что такое тестирование?

Время на прочтение4 мин
Количество просмотров7.2K
Автор оригинала: jgregory

В чем заключается разница между тестированием и управлением качеством? 

В последние несколько лет я часто задумывалась о том, что означает качество. У меня были и лекции на эту тему, и дискуссии с различными людьми. Недавнее обсуждение в LinkedIn направило мои мысли в новое русло: я начала рассматривать взаимосвязь тестирования и качества. Это моя первая (из двух) заметка с мыслями о тестировании. Впоследствии я опубликую как минимум одну статью, посвященную качеству.

Что такое тестирование?

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

«Тестирование помогает выявлять баги и недоработки — в идеях, требованиях, спецификациях, проектных решениях, модулях, компонентах и целых системах. Тестирование не предотвращает появление багов, поэтому целесообразнее заниматься именно поиском багов.

Тестирование показывает, в каком месте и каким образом сломана система или взаимосвязи в ней».  — Майкл Болтон (Michael Bolton).

Я понимаю, что эти слова вырваны из контекста, но если провести аналогию с моим садом, то получится, что я могу лишь указывать на сорняки (баги), но не могу их вырывать. Я могу задавать вопросы об организации сада, но никак не могу на нее повлиять. То есть у меня нет возможности работать вместе с садовником и помочь ему каким-то образом предотвратить появление сорняков. Моя участь — задавать вопросы и выдергивать сорняки или даже просто показывать на них пальцем, а уже садовник будет решать, что с ними делать.

Лично я совсем иначе воспринимаю тестирование. Думаю, я могу спросить у садовника, как можно предотвратить появление сорняков, и предложить ему различные способы — органический подход или какие-то пестициды. Я могу обсудить с ним риски, после чего мы остановимся на каком-то варианте или отметем их все разом. Возможно, в итоге мы придем к тому, что лучший способ — заменить почву на новую, в которой уже нет семян сорняков. Станет ли меньше дефектов, если мы реализуем какое-то из предложений? Помогла ли я делу как тестировщик?

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

Но довольно аналогий. Продукты — это никакой не сад.

Что могут тестировщики?

Существует несколько взглядов на то, чем занимаются тестировщики. Кто-то считает, что тестировщики отвечают за «тестирование», то есть проверку программного обеспечения. В этом заключается суть их работы, они должны гордиться своим призванием и тщательно все тестировать, чтобы полностью раскрыть свой потенциал тестировщика.

Я не разделяю этот взгляд. Мое определение тестирования гораздо более всеобъемлющее. Я работаю в agile-командах уже 20 лет, и самые успешные из них именно те, где обязанности по тестированию ложатся на плечи всей команды. Тестировщики привносят неоценимый вклад в работу команды, но не потому, что они отвечают за все аспекты тестирования, а потому, что помогают понять, каким образом тестирование может улучшить качество продукта. Тестирование — лишь одна из составляющих понятия «качество», но к этому мы вернемся позднее.

В той же дискуссии на LinkedIn Ден Эшби (Dan Ashby) сказал следующее о тестировщиках:

«Они участвуют в дискуссиях типа „три амиго“ и обсуждают направления развития продукта, работают в тандеме с разработчиками по мере создания продукта, предлагают идеи, сотрудничают с дизайнерами, иногда выступают в роли коучей и менторов, задавая команде правильную установку в отношении качества, и борются за неугасающее внимание к качеству и тестированию продукта. Задачи тестировщиков выходят далеко за пределы тестирования».

Ден считает, что на деле тестировщики участвуют в создании продукта, даже не написав ни одной строчки кода. Мой опыт показывает, что так оно и есть.

Установка на развитие

Есть одна фраза, которая, на мой взгляд, очень удачно описывает мысленную установку, подходящую для тестировщика:      

«Не стоит зацикливаться на том, где можно найти баги, как проследить за соблюдением требований или как сломать программу (или видимость ее корректной работы). Лучше сосредоточиться на том, что я могу сделать, чтобы продукт получился успешным?»

Такая мысленная установка дает тестировщикам возможность положительно повлиять на самые разные аспекты разработки. Вот несколько примеров ситуаций, когда тестировщики вносят свою лепту:

  • помогают делить пользовательские истории таким образом, чтобы было проще тестировать разрабатываемые функции;

  • участвуют в дискуссиях типа «три амиго»: запрашивают примеры, обращают внимание на неявные допущения, спрашивают о важных атрибутах качества и обсуждают планы действий при существующих ограничениях;

  • занимаются анализом моделей и прототипов;

  • участвуют в технических совещаниях и помогают найти самый простой способ реализации функций, подходя к вопросу со стороны тестирования: «Как мы будем это тестировать?»;

  • работают совместно с программистом или специалистом по автоматизации тестов над выбором подходящих методов тестирования и необходимых для этого данных, а также над определением уровня захвата операций для генерации автоматических тестов;

  • анализируют перечень тестов и их целесообразность.

Все эти мероприятия нужно проделать еще до того, как будет написана первая строчка кода, ведь это действительно помогает сделать продукт лучше. Разве нет?

Итоги

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

В следующей заметке о тестировании я рассмотрю различные виды тестирования и некоторые ситуации, влияющие на то, как мы организуем тестирование.


Перевод материала подготовлен в рамках курса "QA Lead". Если вам интересно узнать подробнее о формате обучения и программе курса, регистрируйтесь на день открытых дверей онлайн.

Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Публикации

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS