Implementing Software Testing Automation Tools

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

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

Подход непрерывного улучшения процесса

Этот документ описывает подход непрерывного улучшения процесса внедрения средств автоматизированного тестирования в организации.

Для чего внедрять средства автоматизированного тестирования?

Оригинал статьи: Implementatig Software Testing Automation Tools

Если в данный момент вы выполняете регрессионные тесты для каждого релиза продукта, если у вас есть большое кол-во тестов, которые должны быть выполнены для каждого релиза, а релизы выходят достаточно часто – то это идеальная ситуация для того, чтобы начать использовать средства автоматизированного тестирования[i].

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

Начало – интуитивный подход

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

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

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

Улучшенный подход – «Планирование – выполнение – проверка – улучшение»

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

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

Система состоит из четырех шагов: планирование – выполнение – проверка – улучшение (ПВПУ).

Обзор системы

  1. Планирование – запланировать небольшой по масштабам проект, например, изучить и начать использовать средство автоматизированного тестирования.
  2. Выполнение – выполнить проект в соответствии с планом, например, выделить ресурсы на изучение инструмента и автоматизировать набор регрессионных тестов.
  3. Проверка – выполнить ревью проекта, проанализировать результаты, определить чему научились.
  4. Улучшение – это действие будет основано на том, чему вы научились:
    1. Если проект не успешен, выполните его сначала и до конца используя другой план, например, выбрав другой инструмент тестирования, если первый использовать не удалось.
    2. Если проект был успешен, используйте все чему вы научились чтобы внести более глобальные изменения, например, автоматизировать все ваши регрессионные тесты или начать использовать инструмент на других проектах.
    3. Используйте то, чему вы научились чтобы планировать улучшения, начните новый цикл, например, используйте продвинутый подход для автоматизации, такой как тесты управляемые данными.[ii]

Пример проекта с использованием данного подхода

Планирование

Проект: Разработать план проекта по внедрению средства автомтизированного тестирования в текущий процесс тестирования с учетом пробного периода. Автоматизировать пробный набор регрессионных тестов. Имейте ввиду, что большинство поставщиков программного обеспечения устанавливают пробный период для своих инструментов от 30 до 60 дней.

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

Сбор данных: Чтобы оправдать вложения в инструмент, вам нужно определить ценность, которую он приносит для вашего процесса, например провести анализ затрат и результатов. Данные, которые необходимо собрать для такого анализа будут:

  1. Кол-во тестов выполняемых вручную.
  2. Кол-во запусков регрессионных тестов перед выпуском предыдущего релиза.
  3. Кол-во людей, которые выполняют тесты.
  4. Время требуемое для выполнения тестов.

Выполнение

Выполните проект в соответствии с вашим планом. Соберите текущие данные для анализа затрат и результатов и записывайте наблюдения во время выполнение проекта. Данные для последующего анализа будут такими:

  1. Кол-во регрессионных тестов, которые автоматизированы.
  2. Кол-во запусков регрессионных тестов.
  3. Кол-во людей, которые разрабатывали и выполняли тесты.
  4. Время на автоматизацию тестов.
  5. Время на изучение средства автоматизированного тестирования.

Проверка

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

Ценность = Выгода – Затраты

Где:

Выгода – это время и ресурсы сэкономленные на выполнении автоматизированных тестов вместо ручных.

Затраты – время и ресурсы вложенные в автоматизацию тестов.

Дополнительная ценность – это то, что у вас уже есть базовые знания, чтобы научить других пользоваться средством автоматизированного тестирования.

Улучшение

Давайте предположим что проект был удачен. Например, средство автоматизированного тестирования принесло пользу вашему процессу. Теперь вы можете внести улучшения основываясь на том, чему вы научились выполняя данный проект, например:

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

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

Непрерывное улучшение

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

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

Резюме

Мы привели пример подхода непрерывного улучшения процесса для внедрения средства автоматизированного тестирования в вашей организации.

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


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

[ii] http://www.it4business.ru/forum/topic4641.html

PS: Буду благодарен любым замечаниям по поводу неточности перевода.

Добавить комментарий