Что такое quality control
Что такое QA, QC, тестирование и кто такой тестировщик
Что такое QA, QC, тестирование и кто такой тестировщик
Большинство не различает между собой термины Quality Assurance (QA), Quality Control (QC) и просто Тестирование, считая их синонимами, по этому определимся с терминами.
Quality Assurance (QA) Обеспечение качества — самое широкое из всех понятий и представляет собой совокупность мероприятий, превентивный процесс, охватывающих абсолютно все этапы разработки, выпуска и эксплуатации программного обеспечения(от описания проекта до тестирования, релиза и даже пост-релизного обслуживания.). Это активности на всех этапах жизненного цикла ПО, которые предпринимаются для обеспечения требуемого уровня качества выпускаемого продукта.
Quality Assurance engineer — это специалист по обеспечению качества, деятельность которого направлена на улучшение процесса разработки ПО, предотвращение дефектов и выявление ошибок в работе продукта.
Quality Assurance включает в себя Quality Control наряду с другими процессами по улучшению качества работы компании.
Quality Control (QC) Контроль качества — это часть комплекса QA в процессе разработки ПО, которая отвечает за анализ результатов тестирования, поиск ошибок и их устранение. Действия, проводимые над продуктом в процессе разработки, для получения информации о его актуальном состоянии: насколько продукт готов и соответствует ли он требованиям качества в каждый конкретный промежуток времени. QC ориентирован на проверку конкретного продукта, в него входят различные процессы, такие как анализ кода, технические обзоры, анализ дизайна, тестирование(Test Management, Test Analysis, Test Design) и прочее.
Говоря другими словами, Quality Assurance гарантирует, что процесс поставлен правильно и дает предсказуемый результат, в то время как Quality Control гарантирует, что продукт удовлетворяет указанному набору требований. Насколько эффективно работает отдел продаж предприятия, тоже входит в компетенцию QA.
Специалисты QA создают и реализуют различные тактики для повышения качества на всех стадиях производства: подготовка и установка стандартов, анализ качества, выбор инструментов, предотвращение ошибок и постоянное усовершенствование процесса.
Обеспечение качества — это процесс обучения, изучение того, что работает не так и как это исправить; изучение того, что работает правильно и при каких обстоятельствах, а также того, как делать свою работу лучше с каждым новым проектом.
Еще более узкая специальность в рамках QA/QC — тестировщик ПО, который проверяет готовый продукт на наличие ошибок (багов) и несоответствие требованиям, и затем документирует найденные дефекты и пути их воспроизведения.
Тестирование программного обеспечения (Software Testing) — одна из техник контроля качества, включающая в себя активности по планированию тестовых действий, дизайну тестов, выполнению этих тестов и анализу полученных данных. Тестирование — это уже непосредственно процесс проверки результатов работы на соответствие установленным требованиям. А тестировщик — это специалист, который занимается такой проверкой. Он тестирует компоненты продукта или весь продукт целиком на предмет ошибок или неточностей разработки.
Для чего необходимо обеспечение качества:
Конечный продукт выпускается на рынок с высокой конкуренцией — будь-то мобильные приложения, операционные системы или игры. После официального релиза программа обязательно должна работать безупречно, чётко и быстро. Если до выпуска максимально не выявить все ошибки, можно поплатиться репутацией. Даже при условии быстрой отладки, пользователи не дадут второй шанс разработчикам и будут использовать более качественные сервисы. Идеальных приложений не существует, но можно сделать их максимально совершенными с помощью QA-тестирования.
Специализацию тестировщиков можно разделить по направлениям: тестирование безопасности, производительности, юзабилити, а также по методам написания тестов: ручное и автоматизированное тестирование.
Сейчас большинство компаний устроено таким образом, что тестировщиками в них работают в основном сотрудники на начальном этапе карьеры — то есть это junior-специалисты по тестированию. Они выполняют проверку софтов по готовым тест-кейсам. Специалисты более высокого уровня (тест-аналитики, автотестеры, менеджеры по тестированию) помогают им на других этапах разработки.
QA-тестирование различается по степени доступа программиста к исходному коду проверяемого сервиса:
Тестировщику следует быть внимательным в работе с большими объёмами данных, а также уметь подстраиваться под различные задачи и быстро переключаться между ними.
4 основные роли:
Test Analyst — занимается статическим тестированием требований: проверяет, насколько они полны, однозначны, непротиворечивы etc;
Test Designer — создает набор тестов на базе требований, планирует конфигурации, необходимые для тестирования;
Test Executor — выполняет заранее подготовленные тесты, документирует найденные ошибки и шаги их воспроизведения;
Test Manager — скорее управленец, чем инженер. Планирует и контролирует работы, связанные с тестированием: оценки сроков, работу над планом-графиком, контроль покрытия требований тестами, постановку задач членам команды, коммуникацию со стейкхолдерами).
Для каждой исследуемой системы подходит определённый вид тестирования:
Что нужно знать тестировщику:
Проверка программ включает в себя следующие этапы тестирования:
Карьерный рост:
Профессия тестировщик: разбираемся в QA, QC и testing
Анастасия Шарикова, преподавательница курса «Тестировщик» в Нетологии и QA Lead в Bookmate, рассказала, чем занимаются тестировщики, как формируются отделы по контролю за качеством, а также какая специализация в тестировании пользуется сейчас наибольшим спросом.
Совершенствовать качество продукта, каким бы он ни был — от мобильных игр до софта для запуска ракет в космос, — с каждым днём всё важнее для бизнеса. И главную роль в этом играют именно специалисты по обеспечению качества. Все они делятся по самым разным профессиональным уровням и направлениям, но цель у их одна — проверить и обеспечить стандарты выпускаемого продукта.
Человеку со стороны может показаться, что все «специалисты по тестированию» занимаются одинаковыми скучными задачами, но это не так. Разберёмся, чем на самом деле занимаются профессионалы-тестировщики и какое место занимают в команде.
Что такое QA, QC, тестирование и кто такой тестировщик
Тестирование охватывает весь цикл разработки и включает в себя планирование, проектирование, создание и выполнение тест-кейсов. Сейчас мы кратко поговорим о каждом из них.
Схематически отношения между QA, QC и тестированием можно представить так:
QA (англ. Quality Assurance) — обеспечение качества продукта — это, собственно, весь комплекс процессов, обеспечивающих качество, наиболее обширное понятие. QA интегрировано во все этапы разработки: от описания проекта до тестирования, релиза и даже пост-релизного обслуживания.
Специалисты QA создают и реализуют различные тактики для повышения качества на всех стадиях производства: подготовка и установка стандартов, анализ качества, выбор инструментов, предотвращение ошибок и постоянное усовершенствование процесса.
QC (англ. Quality Control) — контроль качества продукта — это часть комплекса QA, которая отвечает за анализ результатов тестирования, поиск ошибок и их устранение. QC ориентирован на проверку конкретного продукта, в него входят различные процессы, такие как анализ кода, технические обзоры, анализ дизайна, тестирование и прочее.
Тестирование — это уже непосредственно процесс проверки результатов работы на соответствие установленным требованиям. А тестировщик — это специалист, который занимается такой проверкой. Он тестирует компоненты продукта или весь продукт целиком на предмет ошибок или неточностей разработки. Тестирование — один из ключевых процессов в системе обеспечения качества.
Специализацию тестировщиков можно разделить по направлениям: тестирование безопасности, производительности, юзабилити; а также по методам написания тестов: ручное и автоматизированное тестирование.
Сейчас большинство компаний устроено таким образом, что тестировщиками в них работают в основном сотрудники на начальном этапе карьеры — то есть это junior-специалисты по тестированию. Они выполняют проверку софтов по готовым тест-кейсам. Специалисты более высокого уровня (тест-аналитики, автотестеры, менеджеры по тестированию) помогают им на других этапах разработки.
Карьера тестировщика: варианты развития
У тестировщика практически в любой компании есть три пути развития карьеры: вертикальный, горизонтальный и смежный.
Вертикальное развитие
Первый вариант — развиваться в сфере обеспечения качества по иерархии, то есть уходить в управление проектами или командой.
В каждом сегменте тестирования существуют свои грейды, которые определяют уровень специалиста: junior, middle и senior. Руководителем всех специалистов является test-lead или team-lead в зависимости от специфики компании. На некоторых проектах может быть также отдельный инженер по качеству, head of QA.
Из начинающего специалиста тестировщик может дорасти до любого из уровней, главное — постоянно держать себя в тонусе. Азы профессии освоить не трудно, а вот развиваться дальше и на каждом этапе приобретать новые знания уже гораздо сложнее. Конечно, всё зависит от человека, но, например, от junior до middle возможно дорасти в среднем за год.
Горизонтальное развитие
Второй вариант — развиваться как специалист и прокачивать hard skills, а в дальнейшим благодаря ним можно будет выбрать наиболее интересное направление. Тестировщик может стать автотестером или специалистом по тестированию юзабилити, безопасности, производительности. При этом есть профессионалы, которые могут совмещать оба варианта.
Чтобы выбрать более узкое направление, нужны приличные знания программирования и другой технический бэкграунд. В небольших компаниях бывает так, что за все описанные выше направления ответственен один специалист. Ему поручают и нагрузочное тестирование провести, и автотесты написать, своеобразный человек-оркестр — этот подход распространён, хотя и не совсем верен.
Спрос на автоматизированное тестирование
Автотестирование, если говорить о навыках специалиста, требует большей квалификации, а следовательно и оплачивается выше, чем ручное тестирование. Многие компании пришли к выводу, что автотесты для рутинных процессов, например прохождения регрессий, во многом выгоднее, чем ручное тестирование. Они стараются нанимать сотрудников, которые пишут автотесты на те процессы, которые ранее проверялись ручными тестировщиками (а то и вообще не проверялись).
Если оценить рынок вакансий, то именно автотестеры сейчас пользуются огромным спросом, да и и уровень заработной платы у них выше. Хотя с моей точки зрения, противопоставлять ручное и автоматизированное тестирование неправильно, поскольку и то и другое решает в итоге одну задачу.
Сегодня специалистов по автоматизированному тестированию ищет большинство компаний на рынке, причём как в команды по мобильной разработке, так и в тестирование бэкенда, фронтенда и других сфер. Даже начинающий специалист, имеющий базу, надолго без предложения работы не останется. Особенно, если он умеет ещё и развернуть всю инфраструктуру тестирования.
Переход в смежные сферы
Третий путь развития тестировщика — переквалификация в смежную специальность. Принято считать, что тестирование — это своего рода простая точка входа в IT и из него гораздо легче переходить в другие технические направления. Поэтому иногда специалисты по тестированию решают попробовать себя в других IT-профессиях. Так, например, тестировщик может стать продакт-менеджером, бизнес-аналитиком, разработчиком и даже дизайнером. На самом деле это не так просто, как кажется, — понадобятся дополнительные знания, желание развиваться, время на обучение и поиск работы.
Как стать тестировщиком
Вариантов, как освоить профессию тестировщика, сейчас достаточно много. Можно самостоятельно учиться по книгам, статьям и видеоурокам из интернета, устроиться на стажировку в компанию, где на практике покажут, что нужно делать, а также пойти в учебное заведение, которое готовит таких специалистов.
Однако в вузах нет специальности «тестировщик». Если рассматривать государственное образование, то проведение тестов изучается только в рамках программирования. Минус в том, что практики при обучении в вузе всё равно не получить, если не работать параллельно на реальных проектах.
При самостоятельной подготовке освоить навыки на базовом уровне можно за несколько месяцев, а после попробовать устроиться на junior-позицию по ручному тестированию в небольшую компанию. Таких вакансий сейчас много. В первое время вам будет трудно, поскольку придётся освоить множество инструментов на практике и понять специфику проведения тестов и разработки программного обеспечения.
Другой вариант — устроиться в IT-компанию на стажировку, скорее всего, неоплачиваемую, чтобы учиться в процессе работы. Конечно, поначалу вам не доверят работу специалиста полностью, зато у вас будет возможность с самого начала общаться с профессионалами и учиться у них.
Третий, и, на мой взгляд, наиболее простой способ прийти в сферу тестирования — пройти специализированные курсы. Они есть есть в онлайн- и офлайн-форматах, краткие и максимально полные, бесплатные и платные — выбор программ действительно большой. В этом случае подготовка значительно упрощается, поскольку не нужно выбирать актуальные материалы из общедоступных источников, есть возможность консультироваться у преподавателей, а зачастую есть ментор или куратор, который поможет разложить знания по полочкам. Я сама преподаватель курса по тестированию и могу сказать, что студентам всегда очень сильно помогает возможность общаться по разным практическим вопросам.
Ещё один важный и не совсем очевидный плюс курсов в том, что они дополнительно дисциплинируют и забросить учебу становится сложно: всегда есть четкое расписание занятий, домашние задания, пример других студентов. Это своеобразный волшебный пинок, которого обычно так не хватает при самостоятельном обучении.
Если говорить об обучении уже практикующего специалиста, например, ручного тестировщика, то здесь тоже немало вариантов: от специализированных курсов до самостоятельного изучения языков и инструментов, которые понадобятся в новом направлении. Как пример, если интересно тестирование веб-приложений, можно начать с изучения Selenium или Katalon Studio и Java.
Если вы уже работаете в компании, в которой есть отдел автоматизации, узнайте у коллег, на каком языке они пишут и с каким стеком технологий работают, изучите их на базовом уровне и просите небольшие задачи для себя. Конечно, если такое приемлемо в вашей компании.
Ещё один интересный вариант для тех, кто не знает, что именно ему понадобится, — попробуйте автоматизировать собственные рутинные процессы и разобраться, чего не хватает в знаниях.
Обеспечение качества сейчас — бурно развивающаяся перспективная сфера, особенно в России и СНГ, и это очень радует и вдохновляет постоянно развиваться в этом направлении.
quality control
1 quality control
2 quality control
3 quality control
quality control department [division\] — отдел контроля качества
quality control inspection — инспекция [проверка\] качества
quality control man [specialist\] — специалист по контролю качества
4 quality control
quality control
The inspection, analysis, and other relevant actions taken to provide control over what is being done, manufactured, or fabricated, so that a desirable level of quality is achieved and maintained. (Source: HARRIS)
[http://www.eionet.europa.eu/gemet/alphabetic?langcode=en]
Тематики
контроль качества
Контроль всех параметров и свойств изделий и/или их составных частей с целью определения их соответствия техническим требованиям.
[ http://www.manual-steel.ru/eng-a.html ]
Тематики
управление качеством
Методы и виды деятельности оперативного характера, используемые для выполнения требований к качеству.|
[МУ 64-01-001-2002]
Примечания
1. Управление качеством включает методы и виды деятельности оперативного характера, направленные как на управление процессом, так и на устранение причин неудовлетворительного функционирования на всех этапах петли качества для достижения экономической эффективности.
2. Некоторые действия по управлению качеством и обеспечению качества взаимосвязаны.
[ИСО 8402-94]
управление качеством
Часть менеджмента качества, направленная на выполнение требований к качеству.
[ ГОСТ Р ИСО 9000-2008]
Тематики
Обобщающие термины
3.2.10 управление качеством (quality control): Часть менеджмента качества (3.2.8), направленная на выполнение требований к качеству.
контроль качества (quality control; QC): Проведение проверок или испытаний на соответствие требованиям спецификаций.
3.1 контроль качества (quality control): Технологические процедуры и технические средства, используемые для проверки выполнения требований к качеству продукции.
3.2.10 управление качеством (quality control): Часть менеджмента качества (3.2.8), направленная на выполнение требований к качеству.
3.2.1 контроль качества (quality control): Осуществление деятельности по сбору и подготовке образцов ТПШ для испытания и проведению испытания образцов ТПШ в соответствии с техническими требованиями к размеру и топливной ценности (калорийности).
5 quality control
6 quality control
7 quality control
8 quality control
9 quality control
10 quality control
11 quality control
12 quality control
13 quality control
14 quality control
15 quality control
16 quality control
17 quality control
18 quality control
19 quality control
20 quality control
См. также в других словарях:
quality control — ➔ control1 * * * quality control UK US noun [U] (ABBREVIATION QC) ► PRODUCTION, WORKPLACE the process of looking at goods when they are being produced to make certain that they are all of the intended standard: »We make regular trips to overseas… … Financial and business terms
Quality control — Dart of quality management focused on fulfilling quality requirements (p. 3.2.10 ISO 9000:2005). Источник … Словарь-справочник терминов нормативно-технической документации
quality control — (QC) The control of various mail processing factors to produce consistent, uniform distribution, conforming to specified standards … Glossary of postal terms
quality control — ► NOUN ▪ a system of maintaining standards in manufactured products by testing a sample against the specification … English terms dictionary
quality control — ☆ quality control n. a system for maintaining desired standards in a product or process, esp. by inspecting samples of the product … English World dictionary
Quality control — This article is about the project management process. For other uses, see Quality control (disambiguation). Maintenance check of electronic equipment on a U.S. Navy aircraft … Wikipedia
quality control — noun maintenance of standards of quality of manufactured goods • Hypernyms: ↑internal control • Hyponyms: ↑acceptance sampling * * * noun [noncount] : the activity of checking goods as they are produced to make sure that the final products are… … Useful english dictionary
quality control — The activities and techniques used to achieve and maintain a high standard of quality in a transformation process. They may include systematic inspection of inputs and outputs, or a sample of inputs and outputs at various stages in their… … Big dictionary of business and management
Quality Control — A process through which a business seeks to ensure that product quality is maintained or improved and manufacturing errors are reduced or eliminated. Quality control requires the business to create an environment in which both management and… … Investment dictionary
quality control — Systems or procedures that aim to maintain high standards in *manufacturing processes or in the supply of services. The control of *quality is maintained through the *sample testing of the activity under consideration: The quality control of… … Auditor’s dictionary
quality control — kokybės tikrinimas statusas T sritis radioelektronika atitikmenys: angl. quality audit; quality control vok. Qualitätskontrolle, f rus. контроль качества, m pranc. contrôle de qualité, m … Radioelektronikos terminų žodynas
QA и QC: как их различать?
Если Вы никогда не сталкивались с такими понятиями, как Quality Assurance и Quality Control, на первый взгляд может показаться, что это один и тот же концепт, просто названный разными терминами. Однако это не совсем так. Есть целый список различий между QA и QC, и сегодня мы расскажем Вам как в них разбираться и больше никогда не путать.
QA (сокращение от английского «Quality Assurance», что переводится, как «обеспечение качества») это профилактический процесс, который обеспечивает соблюдение всех необходимых методов, процедур, стандартов и методов во время разработки продукта для достижения результата, максимально близкого к идеальному.
QC (сокращение от английского «Quality Control», что переводится, как «контроль качества») это процесс контроля качества, который обеспечивает соответствие продукции установленным заранее требованиям.
Таким образом, если QA нацелен на предотвращение дефектов на стадии тестирования, то QC устраняет недоработки и неполадки в уже готовом продукте.
С определением каждого из терминов мы разобрались, теперь давайте поговорим о том, что же еще отличает процесс обеспечения качества от процесса контроля качества.
Подход QA заключается во внедрении соответствующей системы управления качеством, оценке ее осуществимости и анализу всех сопутствующих действий, чтобы убедиться, что все работает так, как задумано. QC, в свою очередь, нацелен на выявление и ликвидацию источников проблем, напрямую влияющих на качество финального продукта, при поддержке специального оборудования.
В процессе разработки, Quality Assurance львиную долю внимания уделяет предотвращению появления дефектов и багов, в то время как Quality Control акцентирует свою деятельность на тестировании уже готового продукта с целью выявления и устранения дефектов.
Метод, использующийся QA, называется “профилактическим”. А действия, предпринимавшиеся отделом QC, можно назвать “корригирующими”.
Пример, описанный выше, доказывает важность таких процессов, как QA и QC. Именно благодаря этим процедурам релиз продукта будет иметь все шансы на достижение наилучших результатов, а также на привлечение новых лояльных клиентов и на последующее развитие и процветание.
Чтобы подытожить вышесказанное, будет полезно резюмировать различия процессов контроля качества и обеспечения качества.
Независимо от отрасли и назначения Вашего продукта, будь то интернет магазин или приложение погоды, процессы Quality Assurance и Quality Control помогут Вам реализовать конкурентоспособный продукт без багов и дефектов, что будет способствовать успеху и развитию бизнеса наилучшим образом.
Кто ты, QA-инженер или тестировщик?
QA и QC — как камыш и рогоз. Конечно, есть ботаники, которые их различают, но большинство людей всё-таки путают. Иногда самим QA и QC легче согласиться с представлением обывателей, чем пускаться в долгие объяснения, в чём же всё-таки разница. Предлагаю сделать усилие над собой, разобраться с терминами и понятиями, увидеть отличия и больше никогда их не путать.
Больше трёх лет я занимаюсь обеспечением качества продуктов. И всё это время наблюдаю за эволюцией процессов тестирования в компании.
От момента зарождения, когда в команду нанимали первых двух человек. Полгода они тестировали продукт руками, а после становились бизнес-аналитиками, а за ними уже стояли следующие два человека.
До текущих процессов с блэкджеком Scrum-Less и автотестами на Selenium.
Накопленный опыт и черты характера типичные для моей профессии привели к размышлениям о том, кто такие тестировщики, QA и QC. Разные это суть сущности или пересекающиеся? В статьях и конференциях я часто сталкиваюсь с какой-то путаницей, мне это не нравится. Поэтому я решил поделиться своими мыслями на этот счёт. Осторожно, данная статья не является истиной в первой инстанции. Данная статья — мысли вслух и желание найти единомышленников.
QA, QC и тестировщики: три большие разницы?
Начнём наши поиски и копания с обращения к Международному стандарту системы менеджмента качества ISO 9000:2015. В каждой статье, в каждом видео на тему отличия этих понятий есть ссылка на этот документ, моя статья не исключение.
В пункте 3.2 стандарта раскрываются два определения:
Отмечу, что в стандарте ISO 9000:2015 вообще нет понятия tester как такового. Я искал.
Так каким же образом взаимосвязаны понятия Quality assurance, Quality control и Тестирование между собой?
Часто можно встретить такого рода иллюстрации со слоёной структурой качества, где тестирование — часть контроля качества, контроль качества — часть обеспечения качества.
Но лично мне кажется, что раз в стандарте нет понятия tester или testing, а QC — это и есть разного рода тестирование, то и иллюстрации должны быть такими:
Однако стандарт есть стандарт, а у нас тут реальная жизнь. И в реальной жизни IT-индустрии встречаются только два названия нашей профессии:
Ищу Тестировщика ПО (QA-инженера)
Я бы не писал эту статью, если бы в индустрии не смешивали эти роли и не называли тестировщиков QA-инженерами и наоборот. По моим наблюдениям, в России не разделяют две профессии. Всех для простоты (а может по незнанию) называют тестировщиками. И ладно бы таким грешили только работодатели, но путаницу поддерживают и сами тестировщики. Например, на Хабре можно встретить статьи, где авторы на протяжении всего текста называют одних и тех же людей тестировщиками, QC-инженерами, QA-специалистами, инженерами по тестированию и тестерами.
Масла в огонь подливают HR-менеджеры: часто для увеличения охвата аудитории они пишут в названии вакансии «Тестировщик ПО (QA инженер)». Шапкой вакансии дело не заканчивается, винегрет продолжается и в самом описании.
Давайте обратимся к вакансиям QA-инженеров:
Все задачи связаны с тестированием и нацелены на поиск багов, хотя компания ищет «QA-инженера».
Или ещё один красочный пример:
По факту многие работодатели ищут тестировщика ПО (если ориентироваться по описанию обязанностей), но в названии обозначают, что находятся в поисках QA-инженера.
Если вы помните, в ISO 9000:2015 есть QA и QC. Что будет, если выполнить запрос на hh.ru по ключевому слову QC? А ничего не будет. Вы не увидите вакансий ни QA, ни тестировщика. По такому запросу появятся вакансии, связанные с производством и контролем качества выпускаемой продукции.
Получается, что в IT-индустрии нет профессий QC, их заменили на тестировщиков ПО, а в других сферах деятельности нет QA-специалистов, зато есть QC. В описании вакансий QA-инженеров не указывают обязанности по улучшению качества продуктов и недопущению багов, наверное, считают это само собой разумеющимся.
Что такое обеспечение качества
Прежде чем продолжить, давайте замутим небольшой интерактив. Перейдите по ссылке и посмотрите на сайт конференции QualityConf. Побродите пару минут по темам выступлений и ответьте для себя на несколько вопросов:
Конференция QualityConf целиком и полностью посвящена качеству, а не тестированию. Однако при подготовке очередной конференции организаторы провели исследование и задали вопрос своим посетителям: «С чем у вас ассоциируется конференция?».
Как вы все уже, наверное, догадались, главные ассоциации были исключительно с тестированием.
Получается, что сегодня, говоря слово «качество», многие слышат «тестирование», и очень часто это функциональное тестирование, хотя понятие качество гораздо шире.
Качество — это определение потребителя, а не определение инженера, не определение маркетинга и не общее определение менеджмента. Оно основано на фактическом опыте клиента в отношении продукта или услуги, измеряется в соответствии с его требованиями — заявленными или неустановленными, осознанными или просто ощущаемыми, технически действующими или полностью субъективными. Качество всегда представляет собой движущуюся цель на конкурентном рынке.
Тестирование — один из способов обеспечить качество продукта. Кроме этого повысить качество продукта можно вводя стандарты кодирования, внедряя новые инженерные практики, дизайн ревью и так далее. Способов обеспечить качество много, но на разных этапах зрелости команд и процессов в компании эти способы дадут разный эффект, об этом необходимо помнить. Но это уже совсем другая история.
QA ≠ QC: как их различить
QC: кто эти люди, какие у них задачи, какие у них ограничения
Кто эти люди? Люди, которых называют тестировщиками, тождественны контролю качества QC. По логике вещей они на последнем этапе разработки проверяют качество продукта (любым видом и типом тестирования — ручным, автоматизированным, нагрузочным, тестированием безопасности и т.д.).
Какая у них задача? Их задача — провести валидацию продукта и предоставить информацию бизнесу и разработчикам о соответствии продукта заявленным требованиям.
Какие у них ограничения? Какие могут быть недостатки, если у вас все сотрудники проверяют продукт на соответствие:
QA: кто эти люди, какие у них задачи, какие у них ограничения
Кто эти люди? Инженеры по обеспечению качества (QA) — это люди, которые помогают командам разработки выпускать качественный продукт, как можно быстрее за как можно меньшие деньги. Ведь все мы знаем, что чем раньше найден баг, тем дешевле его пофиксить. Лучше всего фиксить баги ещё на уровне идеи.
QA-инженеры участвуют на самых ранних этапах создания продукта/фичи. Если бы они могли залезать в головы к PO, чтобы сказать им о недостаточности приемочных критериев или сценариев использования фичи, — они бы делали это.
Какая у них задача? Задача QA-инженера — не допустить несоответствия продукта предъявляемым требованиям. QA-инженер замеряет качество продукта, знает его актуальное состояние и что нужно сделать, чтобы его поднять не только на этапе тестирования, но и на этапе разработки, дизайна или составления требований.
Какие у них ограничения? Сложно оценить качество работы QA-инженера, потому что если он хорошо выполняет свою работу, то до этапа тестирования будет доходить минимальное количество багов не влияющих на функциональность и запуск продукта в прод.
В отличие от QA, работу QC оценить можно, особенно если отталкиваться от самого простого и оценивать эффективность по количеству багов — сколько багов нашёл и сколько багов пропустил на прод.
Как дальше жить?
Большой штат тестировщиков не сможет существенно улучшить качество продукта. Но сможет улучшить саму проверку качества. Если же вы, коллеги-тестировщики, хотите поднимать именно качество на новый уровень, задумайтесь о переходе в QA-инженеры.
Только не ждите, когда вас позовут на встречу, где обсуждают фичи с разработчиками или дизайнерами, придите на неё сами. Высказывайте своё мнение касательно любого аспекта качества продукта. Не позволяйте сложившимся правилам, должностным инструкциям и прочей фигне мешать вам делать продукт ещё более качественным, чем сейчас.
Я знаю, что большинству из вас не всё равно на то, что вы тестируете. И вы искренне хотите поставлять хороший продукт, которым приятно будет пользоваться.