IT-технологии автоматизация функционального тестирования программных приложений

Автор: Монахов В.И., Романова Е.Г.

Журнал: Научный форум. Сибирь @forumsibir

Рубрика: IT технологии

Статья в выпуске: 2 т.5, 2019 года.

Бесплатный доступ

Рассматривается автоматизация процесса тестирования программных приложений, ее цели и основные достоинства. В работе используется функциональное тестирование. Описаны основные этапы процедуры тестирования. Описаны основные стратегии проведения тестирования. Для хранения тестов и результатов тестирования использована база данных.

Функциональное тестирование, регрессионное тестирование, тест, стратегия тестирования, первая проба, конкретная цель, определение приоритетов, база данных

Короткий адрес: https://sciup.org/140248237

IDR: 140248237

Текст научной статьи IT-технологии автоматизация функционального тестирования программных приложений

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

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

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

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

При автоматизированном тестировании программного обеспечения основные функции и шаги теста (запуск, инициализация, выполнение, анализ и выдача результата) выполняются автоматически при помощи соответствующих инструментов. Основной целью автоматизированного тестирования является сокращение расходов на испытание программы после ее модернизации и повышение эффективности данного процесса. Автоматизация тестирования предполагает наличие нескольких компонентов этого процесса: тестируемая система, набор тестовых случаев, тестовые данные, автоматизированные тесты, результаты выполнения тестов.

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

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

Существует несколько общепринятых вариантов стратегии автоматизированного тестирования [4]. От выбора стратегии зависит порядок и интенсивность работ по автоматизации. Процесс автоматизации тестирования целесообразно начать с выбора стратегии. Рассмотрим варианты стратегий.

Стратегия «Первая проба (Let's try)» применяется в том случае, когда автоматизация тестирования в компании ранее не применялась, планируется осторожный старт с ограниченными ресурсами, отсутствуют точные цели автоматизации, сотрудники обладают небольшим опытом автоматизированного тестирования. В данной стратегии больше внимания уделяется подготовительным этапам тестирования, инструментам, которые можно использовать в ручном тестировании. При этом не требуется срочных результатов, а работа с проектом касается только верхнего уровня без углубления в автоматизацию отдельных модулей.

Стратегия «Конкретная цель (Here the target)» ориентирована на достижение конкретного результата автоматизации, и задачи ориентируются на достижение этой цели. Эту стратегию целесообразно применять после проведения предварительной работы по тестированию, при наличии тесты предыдущего этапа автоматизации и конкретных инструментов. Тестирование выполняется поступательно, модуль за модулем до полного выполнения общей задачи. Для каждого этап составляется новая цель и выбираются инструменты для ее реализации, а тесты пишутся под конкретную задачу.

Стратегия     «Определение     приоритетов

(Operation Uranum)» характеризуется отсутствием конкретной цели, но подразумевает методичную работу над автоматизацией тестирования по заданным приоритетам. Такими приоритетами могут выступать важные модули, на которых надо сконцентрировать внимание. Также важно сфокусироваться на автоматизации всего проекта, а не на конкретных модулях.

В работе была использована стратегия «Let's try». В качестве предметной области рассматривалась работа консультанта салона сотовой связи. Тестируемым приложением являлась рабочее место консультанта.

С использованием приложения StarUML были разработаны диаграммы бизнес-процессов для тестового приложения рабочего места консультанта салона сотовой связи. На основе анализа диаграмм бизнес-процессов были разработаны логическая и физическая модели базы данных для хранения наборов тестовых данных и результатов тестирования. База данных была реализована в СУБД PostgreSQL. База данных содержит пять таблиц: Справочник программ, Справочник модулей, Тестовые случаи, Данные для тестовых случаев, Журнал выполнения тестов.

На языке С# в среде Visual Studio был разработан программный интерфейс тестового приложения для всех бизнес-процессов. Были разработаны тестовые случаи. Для каждого тестового случая описаны выполняемые действия и ожидаемый результат поведения программы.

Для формы основного меню тестовыми случаями являются:

  • -    нажатие кнопки «Заключение контракта» должно открывать форму выбора тарифного плана;

  • -    нажатие кнопки «Замена  SIM-карты»

должно открывать форму поиска клиента;

  • -    нажатие кнопки «Смена тарифного плана» должно открывать форму поиска клиента.

Для формы выбора тарифного плана тестовыми случаями являются:

  • -    нажатие кнопки «Отмена» должно открывать форму меню;

  • -    кнопка «Далее» не активна, пока не выбран тарифный план;

  • -    кнопка «Далее» становится активна после выбора тарифного плана;

  • -    после выбора тарифного плана и услуг и нажатия кнопки «Далее» должна отображаться форма ввода данных клиента;

Для формы вывода данных клиента тестовыми случаями являются:

  • -    нажатие кнопки «Отмена» должно открывать форму меню;

  • -    кнопка «Далее» не активна, пока не заполнены обязательные поля;

  • -    кнопка «Далее» активна после заполнения обязательных полей;

  • -    после заполнения обязательных полей и нажатия кнопки «Далее» должна отображаться форма выбора номера телефона;

  • -    проверка валидации полей формы (Имя, Отчество, Фамилия и т.д.)

Для формы смены тарифного плана тестовыми случаями являются:

  • -    нажатие кнопки «Отмена» должно открывать форму меню;

  • -    кнопка «Проверить» не активна, пока не введен номер телефона и идентификатор SIM-карты;

  • -    кнопка «Проверить» становится активна после ввода номера телефона и идентификатора SIM-карты;

  • -    после ввода номера телефона и идентификатора SIM-карты (карта доступна для подключения) и нажатия кнопки «Далее» данные клиента должны быть записаны в базу данных и после должна быть отображена форма меню;

  • -    после ввода номера телефона и идентификатора SIM-карты (карта недоступна для подключения) и нажатия кнопки «Далее» должно быть выведено сообщение «SIM-карта недоступна для подключения».

Разработанная система позволяет запускать автоматизированные тесты, обрабатывать результаты их выполнения, просматривать историю запусков тестов. После выполнения тестов система формирует отчет с указанием количества успешно выполненных тестов, тестов, завершенных с ошибкой, и заблокированных тестов.

Список литературы IT-технологии автоматизация функционального тестирования программных приложений

  • Основные положения тестирования // Блог Алексея Лупан. URL: https://testitquickly.com/2010/03/09/testing-basics-by-barancev
  • Пишем систему автоматизированных тестов // ProTesting.ru. 2008-2017. URL: http://www.protesting.ru/automation/practice/automation_from_scratch.html.
  • Романова Е.Г., Монахов В.И. Разработка автоматизированных тестов для прохождения сценариев программных приложений // Инновационное развитие легкой и текстильной промышленности: сборник материалов Всероссийской научной студенческой конференции. Часть 3. М.: ФГБОУ ВО "РГУ им. А.Н. Косыгина", 2017. С. 143-146.
  • Советы и рекомендации по развѐртыванию процесса автоматизации тестирования с нуля. URL: https://habrahabr.ru/post/275171
Статья научная