Автор: Алексей Ракицкий – ведущий специалист по автоматизации функционального и нагрузочного тестирования ПО Qulix QA. Оригинал: http://www.qa.qulix.ru/knowledge/articles-automation.php
Учитывая растущий интерес к инструментам автоматизации тестирования и внедрению процесса автоматизации на проектах, появляется все больший спрос к обучению и консалтингу в этой области обеспечения контроля качества проектов.
Статья посвящена рекомендациям по наиболее безболезненному варианту внедрения автоматизации тестирования на уровне проекта в случае, если это направление в целом не развито в компании – производителе ПО.
Несомненно, автоматизация тестирования имеет много неоспоримых преимуществ, при внедрении в сбалансированный и отлаженный процесс разработки программного обеспечения.
- Вас интересует автоматизация тестирования на проектах, но нет опыта и профильных специалистов в данной области?
- Насколько болезненно будет проходить внедрение автоматизации на Вашем проекте или в отделе?
- Какова эффективность и преимущества от введения автоматизации тестирования?
Это далеко не полный список вопросов, которые беспокоят компании, планирующие внедрение автоматизации тестирования на своих проектах. Прежде, чем задумываться о введении автоматизации тестирования, необходимо убедиться, что процесс контроля качества на ваших проектах отстроен, документирован и работает как часы. Помните, что внедрение автоматизации – это не дань моде, а задача, призванная перевести контроль качества на вашем проекте на новый уровень. Цель – повысить эффективность тестирования проекта, а не получить дополнительную головную боль.
Вторым шагом будет обращение к специалистам, которые помогут Вам поставить процесс автоматизации на профессиональном уровне и в сжатые сроки. Несомненно, можно пробовать развивать направление собственными силами, но без опытных специалистов этот процесс, вероятно, выльется в существенные сроки, будет проходить методом проб и ошибок, затронет больший бюджет, и, в конечном итоге, вполне может и вовсе отбить у вас желание применять автоматизированное тестирование.
Современные методологии автоматизации тестирования позволяют привлекать консультантов минимально, получать высокую отдачу от сотрудничества с ними и успешно самостоятельно развивать это направление в Вашей компании.
При внедрении на проекты автоматизации тестирования «с нуля», мы в большинстве случаев рекомендуем разработку фрэймворка, основанного на принципах KeyWord Driven подхода наряду с обучением, которое позволит вашим специалистам самостоятельно дорабатывать фреймворк и развивать покрытие автоматизированными тестами. На сегодняшний день KeyWord Driven фреймворки это наиболее технологически продвинутое решение по соотношению цена / трудозатраты / эффективность.
К достоинствам такого фрэймворка можно отнести:
- Максимальная повторная используемость кода: фактически создается только один скрипт, который обеспечивает управление процессом выполнения;
- Данная технология не исключает применение методик Data Driven, что добавляет ей все достоинства Data Driven подхода;
- Все операции представлены в виде таблиц Excel или в любом другом формате;
- Все объекты пользовательского интерфейса хранятся во внешних файлах;
- Все сценарии тестирования (test cases) и пакеты запуска (test suites) также описываются во внешних файлах (как правило, используется Excel), что позволяет легко управлять параметрами запуска;
- Фреймворк обладает максимальной гибкостью: вы можете легко добавлять, удалять, редактировать существующие сценарии тестирования и пакеты запуска, при этом для данной задачи не требуется дополнительной квалификации, необходимо лишь умение работать с фреймворком;
- В систему легко могут быть добавлены новые операции, или изменены существующие; при этом не потребуется каких-либо сложных действий, необходимо будет только написать новую функцию. Это позволяет легко и безболезненно расширять сам фреймворк;
- В случае необходимости перейти на другой инструмент автоматизации, переработке подлежит минимум кода, сценарии тестирования останутся в том же виде.
Для многих отделов тестирования данное решение может оказаться панацеей, т.к. по результатам разработки фреймворка и проведения краткого обучения работе с ним, требования к квалификации специалистов, покрывающих систему авто тестами, существенно снижается, достаточно навыков работы с MS Excel.
Как построить процесс внедрения?
Как показывает практика – оптимально проведение трех этапов:
- Анализ набора задач и используемых технологий для разработки приложений. По результатам анализа подбирается оптимальный инструмент автоматизации (платный или бесплатный). На базе планируемых задач и специфики проекта разрабатывается план внедрения и необходимая процессная документация, вносятся необходимые корректировки в программу обучения, практические задания строятся на базе выбранного инструмента.
- Второй этап - обучение специалистов, которые должны приобрести необходимые теоретические знания по процессу, организации и методикам автоматизации, получить навыки работы с инструментами, научиться правильно создавать тест-кейсы, объединять их в сценарии для автоматизации, разрабатывать базовые библиотеки для построения фреймворков и организации запуска скриптов.
- Завершающий этап – это непосредственно внедрение полученных знаний на практике. На этом этапе специалисты на базе рабочего проекта, совместно с консультантом планируют степень покрытия автоматизированными тестами приложения, разрабатывают фреймворк, проводят автоматизацию запланированного набора функционала системы, разрабатывают удобные механизмы запуска скриптов и сбора результатов.
В результате этого должны получиться:
- Полностью готовая инфраструктура для развития автоматизации на проекте;
- Набор функциональных скриптов, покрывающих запланированный объем функционала с заданной глубиной тестирования;
- Обученные специалисты, способных самостоятельно развивать автоматизацию разрабатываемого проекта;
- Регламент по проведению автоматизации тестирования;
- Описание фреймворка и скриптов для программного продукта, на базе которого происходило внедрение.
Длительность работ по такому проекту может (но не обязательно) уложиться в следующие рамки:
- Анализ задач на внедрение: ~ 1 - 2 недели;
- Обучение (зависит от программы): ~ 4 – 10 рабочих дней;
- Внедрение на активный проект (зависит от объема запланированных работ): ~ 3 недели – 1,5 месяца.
|