quality control что это такое
Quality control: что это такое и что значит Quality? Терминология
Quality Control (QA) — это «контроль качества», а точнее, это процесс, который отвечает за соблюдение ожидаемого качества продукции путем тестирования, выявления и устранения его неисправностей.
Quality Control — что это?
Quality Control идет очень плотно с другим процессом в тестировании — Quality Assuran c e (QA). Очень часто эти процессы принимают за один и тот же, хотя по факту они отличаются и обозначают разные мероприятия. QC и QA направлены на общее действие — улучшить качество программного продукта, но применяются на разных этапах продукта и ориентированы на разные цели. Поэтому, чтобы точно понять, что это такое — Quality Control, нужно разобраться с обоими понятиями.
Quality Control и Quality Assurance
Quality Assurance — это процесс, который описывает все требования к программному продукту, чтобы его состояние было максимально близким к идеальному. Помимо самих требовании, это т процесс также описывает инструменты для достижения указанных требований:
Получается, что процесс QA по иерархии стоит «выше» процесса QC, является более «широким» и «включает» Quality Control в свое описание. QA старается предотвратить дефекты ПО в процессе его разработки и тестирования, а Quality Control предусматривает устранение недоработок и ошибок уже в готовой программе.
Чем отличаются Quality Control и Quality Assurance?
Терминологию этих процессов мы определили. Давайте подробнее остановимся на их различиях.
Различия по цели. Q u ality Assurance преследует цель — улучшить процессы разработки и тестирования, чтобы не было дефектов. Quality Control преследует более простую — выявить и устранить недостаток в рабочей программе.
Разная направленность. QA направлен на процесс разработки продукта. QS направлен на уже разработанный продукт.
Разные методы. Методы работы Quality Assurance являются профилактическими, а методы работы Quality Control — конкретно-техническими.
Разное распределение ответственности. В QA ответственность за должное качество продукта лежит абсолютно на всех участниках разработки программы. В QC ответственность лежит на конкретной команде или разработчике, которые ищут дефекты в программе и устраняют их.
Различная последовательность. QA — это процесс, который обеспечивает качество до наступления контроля качества. QC — это процесс, который начинает применяться после окончания обеспечения качества. То есть сначала идет процесс QA, а после него включается процесс QC.
Quality Control и Quality Assurance на практике
отсутствие кнопки покупки;
нет кнопки «Подняться наверх»;
постоянно выскакивает какое-то назойливое сообщение с какими-то предложениями, а само сообщение невозможно просто закрыть;
сложная форма заказа, которая постоянно сообщает о какой-то ошибке;
не работают фильтры сортировки товара по нужным вам параметрам;
Вроде небольшие недоработки, но они создают негативное отношение к этому интернет-магазину. Каждый такой обнаруженный вами недостаток снижает вероятность, что вы в этом интернет-магазине что-то купите. В итоге настает момент, когда вы просто закрываете вкладку с этим магазином и ищете другой.
Заключение
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Что такое 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-инженер или тестировщик?
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-инженеры.
Только не ждите, когда вас позовут на встречу, где обсуждают фичи с разработчиками или дизайнерами, придите на неё сами. Высказывайте своё мнение касательно любого аспекта качества продукта. Не позволяйте сложившимся правилам, должностным инструкциям и прочей фигне мешать вам делать продукт ещё более качественным, чем сейчас.
Я знаю, что большинству из вас не всё равно на то, что вы тестируете. И вы искренне хотите поставлять хороший продукт, которым приятно будет пользоваться.
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 и QC в тестировании: в чём разница?
Jul 3 | 14 min to read
Для человека, который не имеет ничего общего с разработкой и тестированием программного обеспечения, такие понятия, как Quality Assurance и Quality Control, – это одно и то же. По правде говоря, люди часто путают эти два термина, используя их взаимозаменяемо. Однако, существует ряд различий между QA и QC, и мы здесь, чтобы помочь вам разобраться с ними. Итак, в этой статье вы сможете ознакомиться с детальным сравнением двух главных процессов обеспечения качества – Quality Assurance и Quality Control. Вы узнаете, чем именно они отличаются, а также сможете ознакомиться с примерами каждого процесса.
Что такое Quality Assurance и Quality Control?
Оба процесса предназначены для улучшения качества продукта, но они разные.
QA (сокращённо от «Quality Assurance», что с английского переводится, как «обеспечение качества») это превентивный процесс, гарантирующий, что все необходимые техники, процедуры, стандарты и методологии соблюдаются в процессе разработки продукта для предоставления результата без дефектов.
QC (сокращенно от «Quality Control», что с английского переводится, как «контроль качества») означает процесс проверки качества, который обеспечивает соответствие продукта ранее установленным требованиям. Проще говоря, это процесс, который обеспечивает ожидаемое качество продукта.
В центре внимания QA будет процесс предотвращения дефектов разрабатываемого продукта, в то время как QC будет сосредоточен на конечном качестве продукта и устранении недостатков.
Сравнительная таблица, показывающая разницу между QA и QC
Важность QA и QC
Когда вы идёте в продуктовый магазин за яблоками, вы же ищите товар только самого высокого качества, ведь так? Конечно, первое, что привлекает ваше внимание, — это внешний вид. Вы судите о качестве яблока по его размеру, цвету, спелости и т.д. Но проблема в том, что вы не можете попробовать его на вкус, прежде чем купить. Таким образом, определить, насколько яблоко хорошее или плохое, вы сможете только после покупки. В конце концов, даже самые красивые внешне яблоки могут быть с червями внутри.
То же самое можно сказать и программных продуктах. Допустим, вы заходите в Интернет, чтобы найти онлайн-магазин кондитерских изделий. Сперва, вы делаете свой выбор, отталкиваясь от привлекательности дизайна. Однако, просматривая сайт, вы обнаруживаете огромное количество багов: в корзине не отображается количество конфет, которые вы хотите купить; каждый раз, когда вы пытаетесь ввести свои контактные данные, всплывает уведомление об ошибке; и тому подобные вещи. Скорее всего, после нескольких попыток вы просто закроете этот онлайн-магазин и найдёте другой.
Описанная выше ситуация объясняет важность таких процессов, как QA и QC. Благодаря этим процедурам можно избежать багов в программных продуктах до момента их релиза и обеспечить наилучшие результаты.
Все мы люди и ошибаться – в нашей природе. Однако, некоторые дефекты в разработке программного обеспечения могут иметь печальные последствия. Во избежание ошибок лучше всё проверить дважды. Есть причина, по которой люди говорят: «Семь раз отмерь, один раз отрежь». Нельзя недооценивать важность процессов QA и QC при разработке продуктов программного обеспечения.
QA и QC: заключение
Подытоживая вышесказанное, стоит ещё раз упомянуть, что существует ряд различий между процессами обеспечения качества и контроля качества. Эти два термина не стоит путать друг с другом. Ниже мы приведём ключевые различия:
В заключение мы хотели бы отметить, что в Yojji мы используем как QA, так и QC, поскольку оба процесса являются важными составляющими разработки программного обеспечения и помогают нам предоставлять эффективные ИТ-решения для широкого спектра отраслей.