Есть два типа тестирования: ручное и автоматизированное. В первом случае контроль качества производит человек — тестировщик (или QA-инженер) — посредством моделирования действий пользователя. Специальные программы для проверки сайта не применяются.
Во втором случае запуск, инициализация, выполнение, анализ и выдача результата производятся автоматически с помощью специальных инструментов. Тестировщик обрабатывает полученные результаты.
Рассмотрим оба типа подробнее.
Преимущества и недостатки ручного и автоматизированного тестирования
Ручное тестирование
- Тестировщик оценивает продукт как обычный пользователь и может предоставить максимально развернутый и понятный отчет о работе функционала.
- Специалист смотрит не только функционал, но и дизайн, поэтому может оценить удобство сайта. Программа — нет.
- Возможна реализация нетипичных сценариев — человек может найти баг, который не найдет программа.
- Ручная проверка нетипичных сценариев обходится дешевле, чем их автоматизация.
- Несущественные изменения тестировщик может проверять сразу после их реализации.
- Присутствует человеческий фактор — каким бы профессионалом ни был тестировщик, он может допустить ошибку.
- Нет возможности моделировать высокую нагрузку, а значит нельзя объективно оценить, как поведет себя сайт при большом количестве пользователей.
- Ручное тестирование занимает больше времени, чем автоматизированное.
Автоматизированное тестирование
- Исключен человеческий фактор — программа не может допустить ошибок по невнимательности и неосторожности.
- Высокая скорость проверки: функционал, на тестирование которого специалист потратит много времени, может быть обработан программой за секунды.
- Отчет о результатах тестирования формируется и сохраняется автоматически.
- Пока выполняется автотестирование, специалист может заниматься другими задачами. Также тесты могут производиться и в нерабочее время по заранее написанным сценариям..
- Автоматические тесты всегда выполняются строго по плану, в то время как при ручном методе тестировщик обращает внимание на детали и может найти неожиданные ошибки.
- При неграмотном подходе есть риск, что разработка автотестов может превратиться в процесс создания приложения для проверки приложений и серьезно затянуться.
- Автоматизация требует от специалиста более высоких компетенций, чем ручное тестирование.
Несмотря на то, что усилия, которые требуются для внесения небольших изменений, обычно минимальны, повторная проверка функционала включает в себя сравнительно большой объем работ. Выручает автоматизация — она позволяет свести время на регрессионное тестирование к минимуму.
Как происходит автоматизированное тестирование
Чтобы исключить человеческий фактор, мы решили внедрить автоматизированное тестирование.
Прежде чем рассказать, как всё работает, дадим несколько определений — они помогут вам сориентироваться в профессиональном мире тестировщика.
Глоссарий
Именно по тест-кейсам пишут автотесты — каждый шаг алгоритма соответствует шагу в тест-кейсе.
Атрибуты тест-кейса:
Хочу протестировать сайт перед запуском. На что обратить внимание
Фреймворки обычно состоят из двух частей:
Мы выбрали Selenium IDE — плагин к браузеру Firefox, который может записывать действия пользователя, воспроизводить их, а также генерировать код для WebDriver или Selenium RC, в котором выполняются те же самые действия.
Примеры автотестов на базе Selenium IDE
Т.к. тестирование проводится в расширении Firefox, баги тоже фиксируются в этом браузере.
Составим тест-кейс:
Стоит ли инвестировать в автоматизацию тестирования? Считаем
Чтобы рассчитать эффективность вложений, потребуются следующие данные:
Затраты на автоматизированное тестирование
Ip = Io + Co + Σ (Ce + Ca + Cm)
10 тестов х 2 часа х 600 руб./час = 12 000 руб.
Планируемое количество циклов тестирования:
3 года х 52 недели х 2 часа/день = 312 раз
Оценка стоимости однократного выполнения цикла автоматизированного тестирования равна нулю, т.к. подготовка к циклу тестирования не требуется, а само тестирование не нуждается в дополнительном контроле со стороны специалиста и происходит полностью автономно.
Оценка стоимости анализа багов тестировщиком:
10 тестов x 0,125 часа x 600 руб./час = 750 руб.
Стоимость поддержки автотестов в рабочем состоянии:
10 тестов x 0,3 цикла x 0,5 часа x 600 руб./час = 900 руб.
Подставим данные в формулу:
0 + 12 000 +312 x (0 + 750 + 900) = 526 800 рублей
Следовательно, для автоматизации тестирования в компании X необходимо 526 800 рублей.
Затраты на ручное тестирование
Gp = Go + Σ (Gc + Ga+ Gm)
0,75 часа х 10 тестов х 500 руб./час = 3 750 руб.
Стоимость анализа багов тестировщиком:
10 тестов x 0,25 часа x 500 руб./час = 1 250 руб.
Стоимость разработки документации тестировщика с учетом возможных рисков:
10 тестов x 0,5 часа x 500 руб./час = 2 500 руб.
Подставим данные в формулу:
0 + 3 750 + 312 x (0 + 1 250 + 2 500) = 1 173 750 рублей
Сравнив результаты обоих расчетов (526 800 рублей на автоматизированное тестирование и 1 173 750 рублей на ручное), можно сделать вывод, что на данном этапе для компании X целесообразна автоматизация.
Комментарии к статье
Комментарии: 0