[Тестирование IT-систем] Тестирование или управление качеством? Часть 1. Что такое тестирование? (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
13-Июл-2021 01:31


В чем заключается разница между тестированием и управлением качеством? В последние несколько лет я часто задумывалась о том, что означает качество. У меня были и лекции на эту тему, и дискуссии с различными людьми. Недавнее обсуждение в LinkedIn направило мои мысли в новое русло: я начала рассматривать взаимосвязь тестирования и качества. Это моя первая (из двух) заметка с мыслями о тестировании. Впоследствии я опубликую как минимум одну статью, посвященную качеству.Что такое тестирование?Выкорчевывая сорняки в саду (очень неблагодарное дело, тем более что они отрастут завтра, если их не выдергивать с корнями), я начала проводить различные аналогии с этим процессом в контексте дискуссии о тестировании и управлении качеством. В той дискуссии был высказан следующий тезис:
«Тестирование помогает выявлять баги и недоработки — в идеях, требованиях, спецификациях, проектных решениях, модулях, компонентах и целых системах. Тестирование не предотвращает появление багов, поэтому целесообразнее заниматься именно поиском багов.Тестирование показывает, в каком месте и каким образом сломана система или взаимосвязи в ней».  — Майкл Болтон (Michael Bolton).
Я понимаю, что эти слова вырваны из контекста, но если провести аналогию с моим садом, то получится, что я могу лишь указывать на сорняки (баги), но не могу их вырывать. Я могу задавать вопросы об организации сада, но никак не могу на нее повлиять. То есть у меня нет возможности работать вместе с садовником и помочь ему каким-то образом предотвратить появление сорняков. Моя участь — задавать вопросы и выдергивать сорняки или даже просто показывать на них пальцем, а уже садовник будет решать, что с ними делать.
Лично я совсем иначе воспринимаю тестирование. Думаю, я могу спросить у садовника, как можно предотвратить появление сорняков, и предложить ему различные способы — органический подход или какие-то пестициды. Я могу обсудить с ним риски, после чего мы остановимся на каком-то варианте или отметем их все разом. Возможно, в итоге мы придем к тому, что лучший способ — заменить почву на новую, в которой уже нет семян сорняков. Станет ли меньше дефектов, если мы реализуем какое-то из предложений? Помогла ли я делу как тестировщик?Как и наши продукты, сады постоянно растут и претерпевают изменения, и если мы не будем постоянно погашать наш «технический долг», борясь с сорняками и вырывая их с корнями, сад превратится в бесполезную непролазную чащу. Два года назад мы оставили наш сад без присмотра на две недели, когда мне нужно было отлучиться на конференцию. Когда мы вернулись, все вокруг заросло сорняками. В тот год растения плохо цвели, даже когда мы избавились от сорняков и зачистили свой «технический долг».Но довольно аналогий. Продукты — это никакой не сад.Что могут тестировщики?Существует несколько взглядов на то, чем занимаются тестировщики. Кто-то считает, что тестировщики отвечают за «тестирование», то есть проверку программного обеспечения. В этом заключается суть их работы, они должны гордиться своим призванием и тщательно все тестировать, чтобы полностью раскрыть свой потенциал тестировщика.Я не разделяю этот взгляд. Мое определение тестирования гораздо более всеобъемлющее. Я работаю в agile-командах уже 20 лет, и самые успешные из них именно те, где обязанности по тестированию ложатся на плечи всей команды. Тестировщики привносят неоценимый вклад в работу команды, но не потому, что они отвечают за все аспекты тестирования, а потому, что помогают понять, каким образом тестирование может улучшить качество продукта. Тестирование — лишь одна из составляющих понятия «качество», но к этому мы вернемся позднее.В той же дискуссии на LinkedIn Ден Эшби (Dan Ashby) сказал следующее о тестировщиках:
«Они участвуют в дискуссиях типа „три амиго“ и обсуждают направления развития продукта, работают в тандеме с разработчиками по мере создания продукта, предлагают идеи, сотрудничают с дизайнерами, иногда выступают в роли коучей и менторов, задавая команде правильную установку в отношении качества, и борются за неугасающее внимание к качеству и тестированию продукта. Задачи тестировщиков выходят далеко за пределы тестирования».
Ден считает, что на деле тестировщики участвуют в создании продукта, даже не написав ни одной строчки кода. Мой опыт показывает, что так оно и есть.Установка на развитиеЕсть одна фраза, которая, на мой взгляд, очень удачно описывает мысленную установку, подходящую для тестировщика:      
«Не стоит зацикливаться на том, где можно найти баги, как проследить за соблюдением требований или как сломать программу (или видимость ее корректной работы). Лучше сосредоточиться на том, что я могу сделать, чтобы продукт получился успешным?»

Такая мысленная установка дает тестировщикам возможность положительно повлиять на самые разные аспекты разработки. Вот несколько примеров ситуаций, когда тестировщики вносят свою лепту:
  • помогают делить пользовательские истории таким образом, чтобы было проще тестировать разрабатываемые функции;
  • участвуют в дискуссиях типа «три амиго»: запрашивают примеры, обращают внимание на неявные допущения, спрашивают о важных атрибутах качества и обсуждают планы действий при существующих ограничениях;
  • занимаются анализом моделей и прототипов;
  • участвуют в технических совещаниях и помогают найти самый простой способ реализации функций, подходя к вопросу со стороны тестирования: «Как мы будем это тестировать?»;
  • работают совместно с программистом или специалистом по автоматизации тестов над выбором подходящих методов тестирования и необходимых для этого данных, а также над определением уровня захвата операций для генерации автоматических тестов;
  • анализируют перечень тестов и их целесообразность.
Все эти мероприятия нужно проделать еще до того, как будет написана первая строчка кода, ведь это действительно помогает сделать продукт лучше. Разве нет?ИтогиМы все живые люди, и у каждого из нас может быть свое мнение о том, что такое тестирование, но, думаю, никто не возразит, что суть тестирования сводится к выявлению и устранению рисков. Задумайтесь, что означает тестирование именно для вас. Оно ограничивается лишь тестированием программной части или охватывает проверку идей, допущений, процесса и продукта в целом?В следующей заметке о тестировании я рассмотрю различные виды тестирования и некоторые ситуации, влияющие на то, как мы организуем тестирование.
Перевод материала подготовлен в рамках курса "QA Lead". Если вам интересно узнать подробнее о формате обучения и программе курса, регистрируйтесь на день открытых дверей онлайн.

===========
Источник:
habr.com
===========

===========
Автор оригинала: jgregory
===========
Похожие новости: Теги для поиска: #_testirovanie_itsistem (Тестирование IT-систем), #_qa_lead, #_upravlenie_testirovaniem (управление тестированием), #_testing, #_kachestvo (качество), #_blog_kompanii_otus (
Блог компании OTUS
)
, #_testirovanie_itsistem (
Тестирование IT-систем
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 03-Май 09:54
Часовой пояс: UTC + 5