Автоматизированное тестирование веб-интерфейсов

© Е.Ю. Кудрявцева, 2014

УЛК 007.51 Е.Ю. Кудрявцева

АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ ВЕБ-ИНТЕРФЕЙСОВ

Рассмотрены основные преимущества автоматизированное тестирования, а также недостатки и случаи, когда его использование не целесообразно. Также рассмотрен инструмент, используемый для автоматизированного тестирования. Ключевые слова: тестирование, тестирование веб-интерфейсов, автоматизированное тестирование, ручное тестирование, Selenium.

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

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

Автоматизированное тестирование обладает множеством достоинств, связанных главным образом с высокой скоростью выполнения тестов и воз-

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

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

• получить потенциально бесконечное число прогонов тестов, что дает возможность тестирования производительности, а также обнаружения ошибок, пропущенных на стадии ручного тестирования [3]. Можно отметить, что «машине не лень» перепроверять много раз один и тот же функционал, что исключает человеческий фактор, а именно «эффект замылен-ного глаза», когда тестировщик перестает замечать ошибки, в частности некорректное отображение элементов графического интерфейса.

• сохранение документации тестов и оценка эффективности [3]: по используемым скриптам для тестирования можно оценивать глубину и эффективность проведенных тестов, так как при ручном тестировании при отсутствии тест-плана или тест-кейсов невозможно оценить проделанную работу.

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

• графический интерфейс веб-приложения сильно изменится в ближайшем будущем;

• сильно ограничены временные ресурсы на разработку автоматизированных тестов;

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

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

В настоящее время для автоматизированного тестирования используются различные инструменты, как коммерческие, так и бесплатные, Selenium является наиболее распространенным среди инструментов с открытым кодом. Selenium - это комплект из нескольких инструментов, каждый из которых предполагает свой собственный подход к автоматизации тестирования [1]. Данный инструмент предоставляет несколько вариантов для идентификации элементов интерфейса, сравнения ожидаемого и наблюдаемого поведения тестируемого приложения:

• SeleniumlDE - плагин для браузера Firefox для записи и разработки тестовых сценариев;

• SeleniumGrid - позволяет запускать тесты в разных окружениях, а также параллельно;

• SeleniumRC - позволяет запускать тесты, созданные с помощью SeleniumlDE в любом другом браузере;

• Selenium 2 - новая версия инструментария, имеет целостный программный интерфейс и считается основным вектором развития проекта [2].

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

Важно, что Selenium используют такие компании как Google и Яндекс для автоматизированного тестирования.

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

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

СПИСОК ЛИТЕРАТУРЫ

1. http://seleniumhq.org/ - официальный сайт инструмента Selenium

2. http://selenium2.ru - сайт с частично переведенной документацией по Selenium.

3. http: //www. protesting. ru/ automation/ functional/whytoauto.html - статья про автоматизированное тестирование. ЕШ

КОРОТКО ОБ АВТОРЕ_

Кудрявцева Екатерина Юрьевна - магистрант, e-mail: eyukudryavceva@mail.ru, Московский государственный горный университет.

UDC 007.51

AUTOMATED TESTING OF WEB INTERFACES

Kudrjavceva E.Ju., Master Student, e-mail: eyukudryavceva@mail.ru, Moscow State Mining University.

The article consider the main advantages of automated testing, as well as weaknesses and instances where its use is not appropriate. It is also considered a tool used for automated testing.

Key words: testing, test web interfaces, automated testing,manual testing, Selenium.

REFERENCES

1. http://seleniumhq.org/

2. http://selenium2.ru

3. http://www.protesting.ru/automation/functional/whytoauto.html

A

ГОРНАЯ КНИГА

ГОРНЫЙ

ИНФОРМАЦИОННО-

MINING INFORMATIONAL AND ANALYTICAL BULLETIN

ОСВОЕНИЕ ПОДЗЕМНОГО ПРОСТРАНСТВА МЕГАПОЛИСОВ

Горный информационно-аналитический бюллетень. Отдельный выпуск № 7. Освоение подземного пространства мегаполисов

2013 256

ISBN: 0236-1493 UDK: 69.035.4

Сборник содержит материалы IV Международного семинара «Проблемы освоения подземных пространств крупных мегаполисов», посвященный памяти заслуженного тоннелестроителя России A.M. Ле-туновского.

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