Файл: Функциональное тестирование программного обеспечения на примере мобильных приложений (Oснoвныe понятия прoцeссoв тeстирoвaния).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 137

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

2.4. Процесс тестирования мобильных приложений на базе ОС Android

В качестве рабочего окружения для полной интеграции с процессом разработки используется Microsoft Visual Studio Team Foundation Server, который позволяет получить доступ к данным проекта, его требованиям, сборочным конвейерам и единым спискам задач и проблем для каждой команды разработки.

Рис 10. Пример интерфейса программы

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

Рис 11. Создание тестового сценария

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

Рис 12. Создания линков

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

Как правило, тестовые планы создаются в Microsoft test manager — модуле Microsoft TFS, которые посвящен процессу тестирования. Создания тестового плана является, по сути, созданием запроса к базе данных, которой и является TFS, на основе составления регулярных выражений.

Рис 13. Составление тестового плана

Прохождение тестового плана производится там же. Тестеру, согласно выставленной конфигурации становятся доступны те или иные тесты, которые он затем проходи в произвольном или строго заданном порядке.


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

Рис 14. Выполнение тестового сценария

Если хоть один шаг после завершение тест-кейса находится в состоянии “fail” то и весь кейс считается кейсом, завершенным с ошибкой. После завершения такого сценария тестер может оформить дефект, пользуясь автоматически собранной информацией на основе тестового сценарии или же задокументировать дефект самостоятельно.

Рис 15. Выполнение тестового сценария

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

В самом же процессе тестирования в основном используется функционал android sdk,а именно - android debug bridge (adb) и eclipse sdk.

Рис 16. Интерфейс adb

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

Eclipse sdk представляет из себя программный продукт, который состоит из отдельных модулей и может быть использован не только для работы с android но и для работы, например, с tizen (tizen sdk).

Рис 17. Окно Eclipse SDK

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

Сам процесс эмулирование основан на работе AVD — android virtual device.

Рис 18. Окна AVD

В нем задаются параметры эмулируемого устройства, такие как версия операционной системы, наличие и размер SD карты, разрешение экрана, элементы управления и настройки «железа»


После подключения эмулятора с ни можно работать так же, как и с обычным устройством — передавать команды через ADB, устанавливать приложения, снимать метрики.

2.5. Конструкторско-технологическая часть

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

Исходя из своей практики я выделил группу команд, которые встречаются наиболее часто:

- devices

- logcat

- install

- pull

- push

- shell

Итак, основной функционал будет строиться вокруг этих команд.

Так же будет полезно добавить следующие команды:

adb shell pm list packages — получение списка всех установленных приложений

adb shell top (парарметры)- выводит список запущенных процессов и их потребление ЦПУ/памяти

adb shell monkey (параметры)- запускает процедуру тестирования телефона или конкретного процесса на предмет случайных нажатий с указанной скоростью и количеством нажатий.

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

Алгоритм должен быть максимально простым и однозначным.

После запуска программы мы можем вызвать команду adb devices, которая инициализирует и запустит процесс adb.exe и так же подключит к нему подключенное по USB порту устройство.

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

Чтобы успешно инициализировался телефон, необходимо подключить его по USB кабелю к устройству и активировать опцию «отладка по USB» в меня настроек для разработчика.

Так же необходимо скачать драйверы для Android adb device https://dl-ssl.google.com//android/repository/latest_usb_driver_windows.zip

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

Рис 19.Алгоритм работы программы

Алгоритмы для снятия логов и выполнения monkey тестирования линейны и состоят из нескольких шагов: инициализация команды, перевод ее в формат adb и вывод/сохранение результата.


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

После процесса разработке итоговая программа выглядит следующим образом:

Главное окно программы

Вкладка снятия логов и метрик

Вкладка с дополнительными параметрами

Демонстрация работы разработанного программного обеспечения

Установим приложение Shazam на выбранное устройство:

Найдем установленный пакет в списке приложений:

Если приложение уже установлено, то повторно его установить будет нельзя, так как имена пакетов буду совпадать:

Но если активировать пункт «переустановить», то команда adb install выполнится с ключом —r что позволит установить приложение повторно:

Метрики можно выводить двух типов — использование процессора и использование памяти. Для начала процесса необходимо выбрать нужный тип метрики, выставить частоту обновления вывода и нажать кнопку «старт». Процессы буду автоматически располагаться в порядке убывания выбранной метрики:

Для удобства слежения за одним процессом можно использовать фильтр по данному процессу:

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

Содержимое файла logs.txt будет выглядеть примерно следующим образом:

Для остановки записи необходимо нажать кнопку «стоп».

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

На экране с этим видом теста можно задать интервал нажатия (в миллисекундах) и общее количество нажатий.

Если нужно протестировать конкретное приложение, то следует ввести имя его пакета в соответствующую строку.