суббота, 26 августа 2023 г.

5 min

Для чего нужны меры обеспечения качества?



Обеспечение качества (QA) как неотъемлемая часть мира ИТ стало важной областью в жизни разработчиков и тестировщиков. Поскольку в последние годы веб-сайты и приложения стали более сложными, процесс обеспечения качества также стал столь же активным. Более обширные веб-сайты и приложения обычно требуют более обширного и тщательного тестирования перед выпуском.  


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


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


Прежде чем определить стандарты обеспечения качества, необходимо понять, на какие вопросы призвано ответить применение этих стандартов.  


Итак, вопросы, которые следует задать заранее:


1. Сколько времени займет тест?

2. Сколько денег выделяется на процесс тестирования?

3.Какие ошибки у нас есть? (статус ошибки)

4. Какую долю от общего объема тестирования программного обеспечения составляют существующие тесты (какой процент?)

5.Достаточны ли предполагаемые сроки для проведения тестирования?  


Основные стандарты обеспечения качества  


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

1.Количество тестовых случаев

2.Количество пройденных тестовых случаев

3.Количество неудачных тестовых случаев

4.Количество заблокированных тестовых случаев

5.Количество найденных ошибок

6.Количество принятых ошибок

7.Количество отклоненных ошибок

8.Количество отложенных ошибок

9.Количество критических ошибок

10.Количество ошибок, найденных с момента выпуска.    


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


Измерение усилий по тестированию:  


Метрики включают количество выполненных тестов, количество ошибок за час тестирования, среднее время на исправление ошибок и т. д.  


1.Количество тестов за определенный период = Количество тестов/Общее время.

2. Эффективность проектирования тестов = Количество разработанных тестов / Общее время.

3. Эффективность проверки теста = количество проверенных тестов/общее время.

4.Количество ошибок в тесте = Общее количество ошибок/Общее количество тестов.  


Измерение тестового покрытия:


Помогает понять, какие части приложения следует протестировать. При условии, что тесты хорошего качества, эта метрика может выявить, какие части программного обеспечения имеют больше всего дефектов.      


1. Процент покрытия тестами = (количество выполненных тестов/количество тестов, которые необходимо выполнить) X 100.

2. Покрытие претензий = (Количество претензий/Общее количество претензий) X 100


Измерение эффективности команды:


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


1.Количество ошибок, возвращенных каждым членом команды.

2.Количество ошибок, открытых каждым членом команды.

3.Количество тестовых случаев, назначенных каждому члену команды.

4.Количество тестовых случаев, выполненных каждым членом команды.


Измерение распространения ошибок:


Это помогает понять, какая часть программного обеспечения наиболее подвержена дефектам и, следовательно, на чем сосредоточить усилия по тестированию.  


1.Распределение ошибок по причинам

2.Разбивка ошибок по функциям/функциональным областям.
3.Распределение ошибок по серьезности.

4.Распределение ошибок по приоритету

5.Распределение ошибок по типам.

6. Распределение ошибок по тестировщикам – разработчикам, QA, UAT или конечным пользователям.  


Измерение производительности теста:


Таким образом, мы можем оценить, насколько успешно прошло тестирование. (ошибки, обнаруженные в 1 тесте / общее количество ошибок, обнаруженных в тестах + после релиза) X 100


Наш опыт


Как компания, обеспечивающая качество, мы не можем избежать измерения эффективности нашей работы с использованием вышеуказанных критериев.


Обычно метрики, используемые нашей командой, зависят от текущего проекта, над которым работает команда/пара.


Если это небольшой проект с участием двух наших специалистов (как мы уже упоминали в одном из предыдущих блогов, мы в основном работаем над проектами небольшими командами или парами), нет необходимости измерять, например, «Эффективность команды».


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

Содержание