Главная
страница 1
студ. В.А. Ревяко

Науч. рук. доц. Н.В. Пацей (кафедра информационных систем и технологий, БГТУ)


классификация инструментальных средств автоматизированного тестирования
Автоматизированное тестирование программного обеспечения – часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Для выполнения тестов и проверки результатов выполнения, используются программные средства, что помогает сократить время тестирования и упростить его процесс [1].

Автоматизация тестирования позволяет сделать процесс тестирования информационных систем и программного обеспечения многократно повторяемым без участия реального тестировщика, что позволяет освободить ресурсы тестировщиков от ручных проверок функциональности [1].

Основные подходы к автоматизации тестирования:


  • тестирование на уровне кода,

  • GUI-тестирование (Graphical user interface) – имитация действий пользователя с помощью специальных тестовых фреймворков.

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

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

Выбор инструмента зависит от объекта тестирования и требований к тестовым сценариям, так как инструменты тестирования не могут поддерживать абсолютно все технологии, используемые при разработке приложений [2]. 

Средства автоматизации тестирования можно поделить на две группы:



  1. инструменты функционального тестирования, которые осуществляют проверку соответствия приложения предъявляемым бизнес-требованиям;

  2. инструменты нагрузочного тестирования для проверки и оценки производительности приложений

На рынке средств функционального тестирования сегодня представлены главным образом продукты следующих компаний [3]:

  • HP (QuickTest Professional, WinRunner);

  • IBM (Robot, Functional Tester);

  • Borland (SilkTest);

  • AutomatedQA (TestComplete);

  • Microsoft Visual studio.

Лидерами на рынке средств автоматизированного нагрузочного тестирования являются:

  • HP (LoadRunner),

  • IBM (Robot, Performance Tester),

  • Borland (SilkPerformer).

Большинство средств нагрузочного тестирования работают лишь с Web-приложениями.

Помимо средств тестирования существуют средства поддержки процесса тестирования. Они позволяют вести учет требования и тест-кейсов, проводить анализы покрытия требования тестами, управлять ходом выполнения тестирования, вести учет обнаруженных дефектов и др. Лидирует в данной области web-приложение HP Quality Centerединый инструмент управления процессом тестирования, интегрируемый со средствами функционального и нагрузочного тестирования HP QuickTest Professional и LoadRunner. С данным инструментом конкурирует продукт Rational Quality Manager (RQM) от IBM, представляющий собой web-приложение на платформе Jazz [2].

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

Автоматизировать тестирование приложений под мобильные устройства сложно, так как существует большое разнообразие платформ (iPhone OS, Android OS, Blackberry OS, Symbian OS, OS Windows Mobile и другие), которые имеют свои ограничения и особенности взаимодействия.

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

Основными средствами для тестирования являются:



  • Онлайновые сервисы

  • Специализированные API и библиотеки для каждой платформы

  • Существующие фреймворки для web-приложений

  • Разработка собственных средств тестирования

При тестировании с помощью онлайновых сервисов все сложности организации тестирования перекладываются на сторонний сервис, который создаёт удобный интерфейс организации тестирования, позволяет тестировать приложения на реальных устройствах, подключённых к различным операторам, может обеспечить большой выбор устройств. Примерами таких сервисов могут послужить Device Anywhere, Perfecto Mobile, TestDroid, uTest.

При использовании в качестве средств автоматизации тестирования специализированных API и библиотек необходимо знать, что написание тестовых сценариев требует хорошего знания используемых для создания приложения API и внутренней структуры приложения, поэтому тесты в основном пишутся разработчиками ПО. Для каждой платформы необходимы собственный API или библиотека. В качестве примера можно привести Instrumentation API для Google Android и UISpec для iPhone.

Значительную часть среди разрабатываемых приложений для мобильных платформ занимают web-приложения. Для автоматизации тестирования можно использовать средства, которые используются для тестирования приложения для десктопа (например, Rational Robot). Но основные отличия и сложность заключается в том, что отсутствует явный лидер среди мобильных платформ, поэтому требуется внимание к каждой из них. Мобильные приложения сильно адаптируются под конкретную платформу, а возможности браузеров для них могут значительно отличаться [3].

Автоматизацию тестирования web-приложение осуществить с помощью Selenium, который работает с любым эмулятором и устройством и не зависит от платформы, но требует хорошей поддержки java script в браузере. Данное средство позволяет через специальный плагин к браузеру записывать действия тестировщика и затем проигрывать их автоматически с проверкой результата. Для тестирования web-приложений под iPhone и Android можно использовать WebDriver. В данном случае взаимодействие тестовых скриптов с приложением выполняется через платформенно-зависимое API, а не java script, для каждой платформы создаётся приложение-драйвер. Тестирование осуществляется быстрее, чем при помощи Selenium, но для написания тестов требует квалификации java-программиста [3].

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

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

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

ЛИТЕРАТУРА



  1. Интернет ресурс: http://ru.wikipedia.org/wiki - Автоматизированное тестирование

  2. Средства автоматизированного тестирования - № 03, 2009 Архитекторам информационных систем Журнал «Открытые системы» - http://www.osp.ru/os/2009/03/8161608/

  3. Портал об автоматизированном тестировании ПО – http://automated-testing.info


Смотрите также:
Науч рук доц. Н. В. Пацей (кафедра информационных систем и технологий, бгту)
47.35kb.
1 стр.
Секция тюркология руководитель доц. А. Р. Рахимова 24 апреля Ауд. 108 10. 00 1
12.37kb.
1 стр.
Религиоведение
23.69kb.
1 стр.
Новая и новейшая история
18.5kb.
1 стр.
Татарская журналистика
28.93kb.
1 стр.
Социально-политические исследования в социологии
14.34kb.
1 стр.
Геология нефти и газа
33.87kb.
1 стр.
1. Ибрагимова А. Д
29.63kb.
1 стр.
Абдулганиев М. А
21.01kb.
1 стр.
Минералогия и петрография
12.94kb.
1 стр.
Секция сопоставительная зарубежная филология руководитель доц. Л. Р. Сакаева 9 апреля Ауд. 1-208 9: 30 1
35.24kb.
1 стр.
Абдуллин Т. Р
92.71kb.
1 стр.