- Обеспечение Качества - это совокупность запланированных и систематических процессов и действий поддержки, необходимых для обеспечения надлежащего уровня уверенности в том, что процесс или рабочий продукт удовлетворяет установленным техническим требованиям или требованиям к качеству. Достигается это сочетанием методов, стандартов, инструментов и навыков, признанных как соответствующая практика. Процесс Обеспечения Качества использует результаты тестирования и другую информацию для анализа, оценки и информирования о любой проблеме (включая любой риск) в проектировании, планировании или выполнении процессов программной инженерии. (ГОСТ 56920)
- Контроль качества (quality control): Рабочие методы и активности, нацеленные на выполнение требований к качеству, являющиеся частью управления качеством. (ISO 8402)
- Тестирование (testing): Процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов. (ISTQB)
- Тестирование (testing): Набор операций, проводимых для обеспечения выявления и/или оценки свойств одного или более элементов тестирования. Примечание - Действия тестирования могут включать в себя планирование, подготовку, выполнение, создание отчетов и менеджмент, поскольку все они направлены на тестирование. (ГОСТ 56920)
Обеспечение качества (QA - Quality Assurance) - это часть Quality Management - совокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и поддержки ПО, предпринимаемых на разных стадиях жизненного цикла ПО, для обеспечения требуемого уровня качества выпускаемого продукта. QA обеспечивает создание правильных процессов для получения в результате качественного продукта.
Это также означает создание процессов контроля качества (QC - Quality Control), которые в свою очередь гарантируют, что процессы, установленные QA, соблюдаются. То есть QC - это часть QA - процесс установления стандартов и проверки, что ПО сделано правильно. Цель контроля качества - проверить, соблюдалась ли предписанная модель. Это может быть достигнуто путем проведения аудитов и определения того, следовала ли команда определенной модели для достижения качества.
Активности QA проходят на всем протяжении SDLC: на этапе построения, анализа и улучшения процессов, формирования релизных политик, риск менеджмента и прочих how-to’s.
QC подключаются на этапе составления критериев качества, quality gate-ов, метрик и способов оценки.
Тестировщик вступает уже после этапа разработки (с shift left на этапе получения тз и превращения его в спецификацию).
Иными словами, QA занимается не проверкой постфактум уже готового ПО на соответствие требованиям и наличие дефектов, а пытается предотвратить само появление этих дефектов, являясь эдаким “инфлюенсером”, специалистом, влияющим на процессы разработки и улучшающий их качество для обеспечения качества итогового продукта. QA - не должность, а набор активностей по аналогии с DevOps. Где-то это может быть отдельный человек, где-то этим занимается вся команда.
Тестирование - это деятельность, направленная на предоставление всем заинтересованным лицам исчерпывающих сведений о текущем качестве продукта и любых остаточных рисках, а также на сведение к минимуму дефектов, которые может обнаружить конечный пользователь, при заданных сроках и бюджете. (с) отсебятина
Тестирование программного обеспечения направлено на предоставление информации о программном продукте и нахождении максимально возможного числа дефектов на ранних этапах процесса разработки при заданных ограничениях стоимости и графика разработки.
Основными целями тестирования как части QC являются:
- предоставление информации о качестве элемента тестирования и любых остаточных рисках относительно того, до какой степени элемент тестирования был проверен;
- обнаружение дефектов в элементе тестирования до его передачи в эксплуатацию;
- смягчение рисков получения продукта низкого качества заинтересованными сторонами.
Вышеупомянутая информация может использоваться в нескольких целях, включая:
- улучшение элемента тестирования путем устранения дефектов;
- улучшение управленческих решений, предоставляя как основание для решений информацию о качестве и рисках;
- улучшение процессов в организации, особо выделяя процессы, которые позволяют дефектам возникать и/или оставаться скрытыми там, где они могут быть обнаружены.
Как понять, что тестировщик хорошо сделал свою работу?
Бытует мнение, что основная задача тестировщиков - сломать продукт, на самом деле тот уже приходит на тестирование с дефектами, одна из задач тестировщика как раз их выявить.
Понять, что тестировщик выполнил свою работу хорошо можно по факту выполнения следующих задач:
- продукт проверен на соответствие требованиям;
- сведено к минимуму количество дефектов, которые обнаружит конечный пользователь;
- предоставлена отчетность по актуальному качеству продукта и любых остаточных рисках заинтересованным лицам.
QA в СНГ и на западе
У нас понятия QA/QC/Testing часто не разделяются (особенно рекрутерами), поэтому и происходит путаница, поэтому же мы видим ворох вакансий с названием Junior QA, что само по себе - оксюморон. В QA можно развиваться только будучи уже опытным специалистом.
Quality Assistance и Quality Engineering
На западе, как обычно, терминологии и вариаций больше. Помимо привычных QA/QC/Testing можно встретить несколько другое вИдение картины. Акцент делается на том, что качество обеспечивает разработка (что разумно), а тестировщик своими навыками в этом помогает, то есть ассистирует (Assistance). В совокупности с менеджерскими задачами по улучшению процессов и прочего в сумме получается уже Quality Assurance. В других источниках Quality Assistance подразумевает развитие у разработчиков навыков тестирования.
При этом в других источниках можно встретить другое название для того, что у нас подразумевается под QA - QE. Quality Engineer - это больше, чем просто тестировщики или автоматизаторы, они расширяют возможности команд, привнося качественное мышление во все аспекты создания программного обеспечения. Они являются экспертами в области обеспечения качества, автоматизации тестирования, анализа рисков, гибких процессов, CI/CD и всего остального, что может повлиять на качество продукта. Они сотрудничают со всеми другими ролями, чтобы обеспечить качество с первого дня, с первой истории, до того, как будет написана первая строка кода. Некоторые компании называют эту роль SDET (инженер-разработчик программного обеспечения в тестировании), но каждая компания определяет роли по-своему, поэтому то, что делает SDET или QE в одной компании, может не совсем совпадать с другой.
Источники:
- Real Time Software QA Interview Questions And Answers
- Testing vs Quality Assurance vs. Quality Control What’s the Difference?
- ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013
Доп. материал:
QA
- QA - специалист по пожарной безопасности вашего проекта
- Being an Influencer of Quality
- What is quality engineering?
- QA in Production
- Кто такой QA Engineer, QC Engineer и Software Engineer in Test
- В чем отличие QA-инженеров от тестеров
- Обеспечение качества - чья это работа?
- Quality Assurance vs Quality Control vs Testing
- Кто такой QA Engineer?
- What Is Software Quality Assurance (SQA): A Guide For Beginners
- Why Quality Assurance should never be an Afterthought
- Вакханалия в терминологии: Testing, Quality Control, Quality Assurance, Quality Assistance
- From QA to Engineering Productivity
- от Тестирования к Обеспечению качества
Testing
- “Когда говорят, что тестировщики что-то там должны уметь «ломать» - я перестаю дальше слушать. Тестирование вообще не про это.”
- Основные положения тестирования
- Что же такое тестирование?
- Уроки ретроспективного анализа: наука о тестировании
- Тестирование за пределами требований
- История тестирования
- Testing Doesn’t Improve the Product
- “Testers just Validate Acceptance Criteria”
- Что такое тестирование
- What Test Engineers do at Google
- Антипаттерны тестирования
- 8 стереотипов, с которыми сталкиваются тестировщики
- 10 мифов о тестировании ПО
- ТЕСТИРОВАНИЕ НА ПРИМЕРЕ. ЧТО ДЕЛАЕТ ТЕСТИРОВЩИК?
- QA: 9 мифических заявлений
- Тестировщики всего-навсего проверяют критерии приемки