Автоматизация тестирования

A1QA помогает решить главные задачи автоматизации тестирования: снизить затраты на обеспечение качества ПО путем сокращения непроизводительных ручных операций (в особенности затрат на регрессионное тестирование) и сократить время итераций разработки ПО.

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

Аудит и планирование

Оценить необходимость автоматизированного тестирования на проекте и(или) готовность версий ПО к автоматизированному тестированию является отдельной трудоемкой задачей. Зачастую попытки запуска автоматических тестов не дают результатов из-за недостаточной стабильности тестируемой функциональности, частых изменений в интерфейсах приложений и других обстоятельств разработки программного обеспечения.

A1QA предлагает сервисы по планированию внедрения автоматизированного тестирования и аудиту состояния проекта с целью оценить (i) принципиальную возможность применения автоматического тестирования и (ii) возврат инвестиций в автоматизацию.

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

Автоматизация тестирования

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

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

Автоматизация тестирования

Мониторинг, оптимизация
и реакция на изменения

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

Подход A1QA

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

Начальный этап

Значительная часть времени обычно тратится на разработку общих функций и проектно-зависимых механизмов. Для начального этапа рекомендуется выделять критичный объём функциональности, который максимально покрывает пользовательский интерфейс и бизнес-логику приложения.

Для облегчения старта разработки A1QA располагает готовыми шаблонами проектов (frameworks), которые требуют минимальных дополнений для создания рабочей версии автоматических тестов и реализуют механизмы, характерные для всех проектов. Рекомендуемая продолжительность начального этапа — не более одного календарного месяца.

В результате начальных разработок уточняются требования к описанию тестов, вырабатываются точные методы оценки затрат на реализацию.

Каждый сценарий походит приёмочные тесты на всех возможных вариантах входных данных. С момента выхода первого теста начинается ежедневный запуск и использование тестов. Ежедневный запуск на разных средах позволяет выявить как дефекты приложения, так и дефекты автоматических тестов, зависимые от сред тестирования и не предусмотренные описанием.

Этап активной разработки автоматических тестов

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

Этап активной разработки может быть довольно продолжительным в зависимости от объёмов проекта. A1QA рекомендует делить этап активной разработки на фазы (продолжительностью около месяца), по окончании которых осуществляется доставка промежуточных результатов.

Поддержка автоматических тестов

Объёмы поддержки автоматических тестов зависят от изменений в бизнес-логике и пользовательском интерфейсе тестируемого приложения.

Подход A1QA к разработке автоматических тестов гарантирует минимальную зависимость от возможных изменений. При идентификации элементов управления используются более «устойчивые» и уникальные свойства объектов. Настраиваемое содержимое приложения (меню, некоторые правила бизнес-логики) выносится за пределы программного кода. Такой подход позволяет вносить изменения в автоматические тесты без дополнительного привлечения разработчиков.