Внедрение автоматизации тестирования ПО на уровне проекта

24.01.2013

Алексей Ракицкий – ведущий специалист по автоматизации функционального и нагрузочного тестирования ПО в Qulix Systems.

Целевая аудитория: менеджеры проектов, руководители ИТ департаментов, специалисты, заинтересованные в развитии направления автоматизации.

Статья посвящена рекомендациям по наиболее безболезненному варианту внедрения автоматизации тестирования на уровне проекта в случае, если это направление в целом не развито в компании-производителе ПО.


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

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

  • Вас интересует автоматизация тестирования на проектах, но нет опыта и профильных специалистов в данной области?
  • Насколько болезненно будет проходить внедрение автоматизации на вашем проекте или в отделе?
  • Какова эффективность и преимущества от введения автоматизации тестирования?

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

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

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

При внедрении на проекты автоматизации тестирования «с нуля», мы в большинстве случаев рекомендуем нашим клиентам разработку фреймворка, основанного на принципах Key Word Driven подхода наряду с обучением, которое позволит вашим специалистам самостоятельно дорабатывать фреймворк и развивать покрытие автоматизированными тестами. На сегодняшний день Key Word Driven фреймворки – это наиболее технологически продвинутое решение по соотношению цена / трудозатраты / эффективность.

Достоинства такого фреймворка:

  • максимальная повторная используемость кода: фактически создается только один скрипт, который обеспечивает управление процессом выполнения
  • данная технология не исключает применение методик Data Driven, что добавляет ей все достоинства Data Driven подхода
  • все операции представлены в виде таблиц Excel или в любом другом формате по требованию заказчика
  • все объекты пользовательского интерфейса хранятся во внешних файлах
  • все сценарии тестирования (test cases) и пакеты запуска (test suites) также описываются во внешних файлах (как правило, используется Excel), что позволяет легко управлять параметрами запуска
  • фреймворк обладает максимальной гибкостью: вы можете легко добавлять, удалять, редактировать существующие сценарии тестирования и пакеты запуска, при этом для данной задачи не требуется дополнительной квалификации, необходимо лишь умение работать с фреймворком
  • в систему легко могут быть добавлены новые операции или изменены существующие; при этом не потребуется каких-либо сложных действий, необходимо будет только написать новую функцию, это позволяет легко и безболезненно расширять сам фреймворк
  • в случае необходимости перейти на другой инструмент автоматизации, переработке подлежит минимум кода, сценарии тестирования останутся в том же виде

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

Как построить процесс внедрения?

Как показывает практика – оптимально проведение трех этапов:

  1. Анализ набора задач заказчика и используемых технологий для разработки приложений. По результатам анализа подбирается оптимальный инструмент автоматизации (платный или бесплатный). На базе планируемых задач и специфики проекта разрабатывается план внедрения и необходимая процессная документация, вносятся необходимые корректировки в программу обучения, практические задания строятся на базе выбранного инструмента.
  2. Второй этап – обучение по курсу «Автоматизированное тестирование ПО». В рамках курса покрываются все необходимые теоретические вопросы по процессу, организации и методикам автоматизации. Слушатели получают навыки работы с инструментами, выполняют практические задачи по разработке функциональных скриптов, учатся правильно создавать тест-кейсы, объединять их в сценарии для автоматизации, разрабатывают базовые библиотеки для построения фреймворков и организации запуска скриптов.
  3. Завершающий этап – это непосредственно внедрение полученных знаний на практике. На этом этапе обучаемые специалисты на базе рабочего проекта совместно с консультантом планируют степень покрытия автоматизированными тестами приложения, разрабатывают фреймворк, проводят автоматизацию запланированного набора функционала системы, разрабатывают удобные механизмы запуска скриптов и сбора результатов.

В результате сотрудничества с консалтинговой компанией по задаче внедрения автоматизации тестирования заказчик должен получить:

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

Длительность работ по такому проекту может (но не обязательно) уложиться в следующие рамки:

  • анализ задач на внедрение: ~ 1–2 недели
  • обучение (зависит от программы): ~ 4–10 рабочих дней
  • внедрение на активный проект (зависит от объема запланированных работ): ~ 3 недели – 1,5 месяца

При выполнении работ специалистами Qulix QA наряду с перечисленными выше плюсами вы также получаете:

  • прозрачную и понятную систему логирования и представления результатов; все логи запусков могут храниться в одной папке, возможна разработка механизма просмотра результатов по версиям приложения
  • легкость запуска скриптов: пакет или пакеты можно будет запустить с помощью одного bat-файла
  • легкость в поддержке карт объектов, что обеспечит минимальные издержки на обновление в связи с изменением GUI приложения
  • полную документацию по разработанной системе автоматизации
  • легкость создания новых тест-кейсов и сценариев обеспечит минимальные затраты по увеличению тестового покрытия, и для этого не понадобится практически никаких дополнительных навыков

Алексей Ракицкий