Актуальные проблемы QA и их важность в жизненном цикле проекта
Понимание важности QA при разработке программ и приложений приходит к руководителям постепенно. Вначале культуру quality assurance освоили компании, выпускающие продукт для клиентов. Затем QA стало нормой даже при разработке ПО для внутреннего пользования. В этой статье мы рассмотрим важность правильной организации QA через призму проблем, с которыми могут столкнуться специалисты и целые компании на этапе проверки качества продукта.
1. Стремление к идеальному качеству
Пожалуй, любая компания старается выпустить продукт, который превзойдет ожидания клиентов. И одна из главных целей QA — обеспечить этот максимально высокий уровень качества. Однако стремление добиться идеального качества может затормозить тестирование продукта и весь процесс разработки в целом.
В процессе тестирования продукта необходимо соблюдать первоначальный план спринта. Нужно выполнять то, что запланировано, а новые исправления и улучшения добавлять в план следующего спринта. Не стоит рисковать проектом ради возможности улучшений. Улучшения полезны и необходимы, но они должны быть запланированы на другой спринт.
2. Несоответствие архитектуры программного обеспечения обозначенным требованиям
На первый взгляд, основная задача тестировщика — искать дефекты в соответствии с полученными спецификациями. Однако зачастую QA-специалистам нужно мыслить шире. Архитектура программы или приложения может быть новаторской и нацеленной на решение не только актуальных, но и непредвиденных задач. QA-специалисты должны помочь команде понять, что должно быть в приоритете. Иногда это значит предлагать решения, о которых заказчик не просил, но которые необходимы для эффективной работы ПО в будущем.
3. Неправильное определение объема и планирование спринта
Чаще всего неудачи на стадии тестирования продукта связаны с нехваткой времени и неправильным планированием спринта. А это часто происходит из-за того, что команда хочет приступить к работе как можно скорее и не уделяет планированию и определению объема тестирования должного внимания.
Экономия времени на этапе планирования обычно чревата затянувшейся фазой коррекции. По данным исследования Gartner, релиз каждого четвертого проекта задерживается из-за необходимости внесения дополнительных корректировок на заключительной фазе.
4. Проблемы оценки работы и вклада специалистов в конечный результат
Когда ПО изначально работает без дефектов, либо они, по мнению пользователей, незначительны, и разработчики, и тестировщики склонны записывать это в собственные заслуги. Правда в том, что качественное ПО — результат слаженных действий всех членов команды. Причем если в процессе разработки QA и девелоперы расходятся во мнениях по поводу оптимального решения, это тот случай, когда конфликт идет на пользу. В процессе обсуждения и находится самое лучшее решение, ведь инициаторам приходится находить весомые аргументы в его защиту.
Чем грозит недостаток внимания к тестированию
Если при разработке проекта на тестирование было выделено недостаточно времени и ресурсов, это может привести к следующим проблемам:
- Задержка релиза и дополнительные доработки.
- Плохая реализация хороших решений.
- Низкая скорость принятия продукта.
- Неудовлетворенность клиентов.
- Потеря имиджа компании.
Последний пункт сложно измерить, но плохие отзывы о продукте и его реализации портят репутацию крупной компании.
Заключение
Помимо решения проблем, описанных выше, для повышения качества продукта и ускорения тестирования можно пользоваться инструментами автоматизации. Это позволит команде сосредоточиться на самых ответственных и сложных задачах.
От правильного соотношения QA мануал и автоматизаторов зависит скорость, качество, а также итоговая стоимость тестирования. Например, когда мы в Андерсен разрабатываем проект полностью под клиента, мы всегда проводим оценку необходимого числа специалистов ручного и автоматизированного тестирования.
Если в компании есть своя команда разработчиков, а тестировщики привлекаются с аутсорса, этот метод работает так же эффективно. Но даже если в компании имеются собственные специалисты по ручному тестированию, привлечение дополнительных автоматизаторов поможет сэкономить время и деньги, даже несмотря на то, что вначале появятся дополнительные расходы на оплату их труда.
И крупные продуктовые компании, и внутренние IT-отделы, создающие свои собственные приложения, рискуют репутацией при каждом новом запуске продукта. Поэтому забота о качестве программного обеспечения становится все более важной для любой компании, которая хочет развиваться на конкурентном рынке.