Автоматизированное и ручное тестирование (QA) ПО для автоматизации бизнес процессов предприятий с использованием Selenium и JMeter

Тестирование ПО является критическим фактором для успешной разработки и внедрения бизнес-процессов.

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

По степени автоматизации различают:

  • Ручное тестирование (manual testing) предполагает написание тест-кейсов командой тестировщиков и ручную проверку всех сценариев перед релизом (или выпуском софта).
  • Автоматизированное тестирование (automated testing) предполагает использование программных средств для выполнения тестов и проверки результатов выполнения, что помогает сократить время тестирования и упростить его процесс.

По сравнению с ручным тестированием QA автоматизация позволяет:

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

Примеры успешных проектов компании PNN с применением автоматизированного тестирования:

  • Денежные переводы (отправка/выплата платежей по системам денежных переводов MoneyGram, Ria, Анелик и др.)
  • Кредитные системы (создание и обработка кредитных заявок)
  • Системы управления бюджетом (создание и обработка заявок)
  • Другие проекты под заказ.

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

При тестировании мы используем программы:

  • Selenium WebDriver - инструмент автоматизации функционального и регрессионного тестирования. Данный инструмент использует драйверы, адаптированные под конкретный браузер, то есть Selenium WebDriver работает с каждым браузером по “индивидуальной программе”. Это повышает стабильность работы тестов (так как они затачиваются под конкретный браузер), тесты становится проще писать и поддерживать, увеличивается скорость их работы. Selenium WebDriver использует нативные команды - старается полностью эмитировать действия пользователя. На данный момент существуют следующие драйверы: FirefoxDriver; InternetExplorerDriver; ChromeDriver; AndriodDriver – мобильный браузер, IphoneDriver – мобильный браузер. Список поддерживаемых языков в Selenium WebDriver: C#, Java, Ruby, Phyton.
  • Jakarta JMeter — инструмент для проведения нагрузочного тестирования, проверки нагрузки сервера при обращении большого количества пользователей.

В большинстве проектов, мы проводим тестирование пользовательского интерфейса (GUI testing), что подразумевает стимуляцию активности пользователей.

В процессе тестирования нами используются 2 основные подхода:

  • Утилиты воспроизведения - инструмент Selenium IDE для Mozilla Firefox, который записывает действия пользователя, а затем воспроизводит их во время тестирования. В то же время, любое малое изменение тестируемого ПО требует перезаписи ручных тестов.
  • Сценарии (Scripting) — форма программирования на языках (в основном на Java) , специально разработанных для автоматизации тестирования ПО, которая сокращает момент времени смены в коде при изменениях в веб-приложениях.

Компания PNN предлагает услуги по обеспечению качества и тестированию в следующих вариациях:

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

Предложенные методы покрывают как мануальное, так и автоматизированное тестирование. Наши специалисты выполняют анализ\тестирование функциональности веб-приложений, клиент-серверных и встроенных систем разработанных на таких языках как: Java, C#, C++.