ВВЕДЕНИЕ 8
1 АРХИТЕКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ ANDROID И ПРОБЛЕМЫ
ТЕСТИРОВАНИЯ 9
1.1 Архитектура операционной системы Android 9
1.1.1 Уровень приложений 11
1.1.2 Уровень библиотек 14
1.1.4 Уровень абстрагирования оборудования 16
1.1.5 Ядро Linux 16
1.2 Проблемы, связанные с тестированием Android-приложений 17
1.2.1 Четыре типа компонентов 17
1.2.2 Уникальные жизненные циклы компонентов Android 21
1.2.3 Интенсивное использование XML-файлов 26
1.2.4 Контекстно-зависимые характеристики 28
1.2.5 Два типа ориентации экрана 29
1.2.6 Разрешения приложений Android 30
1.2.7 Разнообразные сетевые подключения 32
1.2.8 Ограниченное время автономной работы 33
Выводы по разделу один 35
2 ИССЛЕДОВАНИЕ ИНСТРУМЕНТОВ И МЕТОДОЛОГИЙ ТЕСТИРОВАНИЯ
ANDROID-ПРИЛОЖЕНИЙ 36
2.1 Введение в тестирование программного обеспечения 36
2.2 Жизненный цикл программного обеспечения 36
2.3 Жизненный цикл тестирования программного обеспечения 38
2.2 Типы тестов Android-приложений 41
2.2.1 Unit-тесты 41
2.2.2 Интеграционные тесты 43
2.2.3 Тесты пользовательского интерфейса 44
2.3 JUnit-фреймфорк 46
2.4 Espresso-фреймворк 47
2.5 Разработка через тестирование 49
Выводы по разделу два 52
3 РАЗРАБОТКА И АВТОМАТИЗАЦИЯ ТЕСТОВЫХ СЦЕНАРИЕВ 53
3.1 Автоматизированное тестирование 53
3.2 Создание тестовых случаев Android-приложения для ведения и управления
задач 57
3.3 Создание автоматизированных сценариев тестирования 61
3.4 Анализ результатов тестирования 70
Выводы по разделу три 75
ЗАКЛЮЧЕНИЕ 76
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 77
Актуальность исследования. Наряду со значительным распространением мобильных устройств, мобильные приложения также доминируют на мировом рынке с точки зрения пользователей, разработчиков, выпусков приложений и загрузок. Тем не менее, качество приложений является растущей и значительной проблемой. Многие приложения выпускаются на рынок с серьезными ошибками программного обеспечения. Тестирование приложений отличается от тестирования традиционных программ, поскольку включают новые функции и структуры программирования, которые раньше никогда не использовались.
Цель. Целью выпускной квалификационной работы является исследование области тестирования мобильных приложений, изучение методов и инструментов тестирования мобильных приложений, изучение проблем, с которыми сталкивается разработчик при тестирование мобильных приложений и способы их решения, а также создание тестовых случаев и разработка автоматизированных сценариев тестирования мобильного приложения для управления задачами проекта, которые обеспечат высокое качество программного продукта.
Задачи, которые необходимо выполнить для достижения поставленной цели исследования:
1. Изучить и определить архитектуру Android-приложений, а также проблемы, связанные с тестированием приложений;
2. Исследовать методологии, подходы и инструменты для тестирования Android-приложений;
3. Создать автоматизированные сценарии тестирования Android- приложений.
Объект исследования: автоматизированное тестирование программного обеспечения.
Предмет исследования: мобильные приложения.
Мобильные приложения в современном мире доминируют на мировом рынке с точки зрения пользователей, разработчиков, выпусков приложений и загрузок, соответственно качество приложений является растущей и значительной проблемой.
В данной выпускной квалификационной работе была исследована архитектура операционной системы Android, проведен анализ компонентов и функций Android-приложений, выяснилось, что Android использует новые функции программирования, которые никогда ранее не использовались традиционным программным обеспечением. Эти уникальные характеристики приложений Android приводят к новым типам ошибок, которые обычно не выявляются существующими методами тестирования программного обеспечения. Следовательно, нужны специализированные инструменты и подходы для тестирования Android-приложений.
Также были исследованы инструменты и методологии тестирования Android-приложений, рассмотрены самые популярные и рекомендуемые подходы к тестированию.
Кроме того, были описаны основные понятия, связанные с автоматизированным тестированием. Одновременно с этим, были описаны подходы к написанию автоматизированных тестовых сценариев и рассмотрены инструменты, посредством которых были решены практические задачи.
В результате выполнения всех поставленных задач было улучшено качество Android-приложения, были своевременно обнаружены и устранены ошибки в работе программы, что позволило сэкономить затраты на дальнейшее развитие программного продукта.