© Е.Ю. Кудрявцева, 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: [email protected], Московский государственный горный университет.
UDC 007.51
AUTOMATED TESTING OF WEB INTERFACES
Kudrjavceva E.Ju., Master Student, e-mail: [email protected], 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. Ле-туновского.
Материалы сборника представляют интерес для преподавателей, научных сотрудников, аспирантов и студентов технических специальностей.