ВВЕДЕНИЕ 3
1 РАЗРАБОТКА СТРАТЕГИИ 6
1.1 Применение типов тестирования к мобильным приложениям 6
1.2 Сбор данных для разработки стратегии 14
1.3 Выделение характеристик проектов 22
1.4 Взаимосвязь типов тестирования и характеристик проектов 23
1.5 Классифицирование ошибок 25
1.6 Взаимосвязь типов тестирования и ошибок 28
1.7 Взаимосвязь характеристик проектов и ошибок 33
2 РЕЗУЛЬТАТЫ ПРИМЕНЕНИЯ СТРАТЕГИИ 42
ЗАКЛЮЧЕНИЕ 45
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 46
Приложения должны быть в работе, но в данный момент отсутствуют
Тестирование программного обеспечения - особый процесс исследования программного обеспечения с целью выявления ошибок и определения соответствия между реальным и ожидаемым его поведением, осуществляемый на основе набора тестов. Иными словами, тестирование - сравнение реального продукта с тем программным продуктом, который был задуман.
С каждым годом количество мобильных приложений неуклонно растет. Так, за последние семь лет количество скачиваний мобильных приложений возросло с 2 до 200 миллиардов [1]. Во всем мире использование мобильных приложений уже превосходит все другие каналы потребления медиа и составляет 82% от общего времени взаимодействия с интернет-ресурсами [2].
В условиях внушительной конкуренции основной задачей является выпуск качественного мобильного приложения в кратчайшие сроки. Также особенностью проекта может быть ограниченный бюджет разработки, выход за пределы которого приведет к убыткам. Как показывает практика, программисты-разработчики при данном ограничении не успевают обеспечить свой продукт надлежащим качеством, и в ходе эксплуатации программного продукта пользователь обнаруживает огромное количество ошибок. Далее, в силу распространенности данного определения в области тестирования программного обеспечения, будет применен профессиональный термин "баг".
По примерным оценкам на обнаружение и исправление ошибок тратится от 40 до 80 процентов общей стоимости разработки программного обеспечения [3]. Кроме того, по статистике, программы содержат от 1 до 3 ошибок на 100 строк кода [3]. Ошибка, найденная на поздних этапах разработки программного продукта может привести к необходимости внесения серьезных изменений в общую архитектуру продукта. Таким образом, чем раньше будет найдена ошибка, тем дешевле будет стоить ее исправление. Именно поэтому контроль качества, который обеспечивает программному продукту надежность, безопасность и удобство использования, является одним из самых важных в процессе разработки. Однако стоит отметить, что, стараясь уменьшить количество рабочих часов на проекте, не всегда удается протестировать весь функционал разработанного продукта и предоставить пользователям качественное приложение.
В связи с этим, целью работы является разработка оптимальной стратегии, охватывающей максимально важный функционал мобильных приложений при их проверке. Разработанная стратегия позволит найти баланс между финансовыми и временными ограничениями проекта и выпустить продукт, соответствующий техническому заданию.
Характерными особенностями тестирования мобильных приложений являются огромное количество платформ, версий операционных систем, разрешений и размеров экрана, разное количество SIM-карт, наличие или отсутствие поддержки устройством интернета, WiFi и другие. При пересчете комбинаций можно обнаружить, что количество тестовых сценариев оказывается куда больше, чем при тестировании веб-приложений. Вследствие этого стоит отметить, что проверка качества программных продуктов в выбранной нами области намного сложнее и требует наибольших затрат в сравнении с другим типом программного обеспечения.
Для реализации поставленной цели, необходимо:
1. Выделить типы тестирования, применимые к мобильным приложениям
2. Собрать необходимые для реализации данные по ранее тестируемым проектам
3. Выделить характеристики проектов
4. Построить взаимосвязь типов тестирования и характеристик проектов
5. Провести классификацию багов
6. Построить взаимосвязь характеристики проектов и багов
7. Выявить взаимосвязь типов тестирования и багов на проектах
После выполнения поставленных задач будет разработана стратегия тестирования, которая позволит находить минимальный набор типов тестирования, покрывающих максимальное количество багов, соответствующих указанным характеристикам.
В ходе проделанной работы, была разработана оптимальная стратегия тестирования для покрытия основного функционала мобильных приложений ОС Android, iOS и Windows Phone. Описаны все виды тестирования, применение которых необходимо для проверки мобильных приложений, с указанием эффективности каждого из них и требуемых трудозатрат на их проведение. Написано методическое пособие к созданию плана тестирования на проекте.
Выполненные задачи:
1. Выделены типы тестирования, применимые к мобильным приложениям
2. Собраны необходимые для реализации данные по ранее тестируемым проектам
3. Выделены характеристики проектов
4. Построена взаимосвязь типов тестирования и характеристик проектов
5. Проведена классификация багов
6. Построена взаимосвязь характеристики проектов и багов
7. Выявлена взаимосвязь типов тестирования и багов на проектах
Также была проведена следующая работа для наглядного применения некоторых видов тестирования, указанных ранее в тест-плане:
• Создание тестовых сценариев для проекта "Мобильный студент"
• Проведение этапов тестирования, основанных на тест-плане для проекта "Мобильный студент"
• Выявление ряда задач, направленных на улучшение функционала, и занесение их в баг репорт
1. Number of mobile app downloads worldwide from 2009 to 2017 (in
millions). [Электронный ресурс]. Режим доступа:
http://www.statista.com/statistics/266488/forecast-of-mobile-app-downloads/(дата обращения: 22.09.2015)
2. Обзор рынка мобильных приложений. [Электронный ресурс]. Режим доступа: https://habrahabr.ru/post/291238/(дата обращения: 22.09.2015)
3. Тестирование программного обеспечения. [Электронный ресурс]. Режим доступа: http://aiika.narod.ru/Tnd.htm(дата обращения: 01.10.2015)
4. Шаблоны и примеры документов. Тест план RUP. [Электронный ресурс]. Режим доступа: http://www.protesting.ru/testing/templates.html(дата обращения: 15.11.2016)
5. Alpana Quality services. Тестирование программного обеспечения. [Электронный ресурс]. Режим доступа: http://aplana.ru/(дата обращения: 17.11.2016)
6. Мобильные приложения. [Электронный ресурс]. Режим доступа:
http://www.ringames.rU/testirovanie-5/154-mobilnye-prilozhenij a.html (дата
обращения: 26.01.2016)
7. Особенности тестирования приложений на мобильных устройствах.
[Электронный ресурс]. Режим доступа: http://www.ringames.ru/testirovanie- 3/154-osobennosti-testirovaniya-prilozhenij-na-mobilnykh-ustrojstvakh.html (дата
обращения: 27.01.2016)
8. Ручное тестирование мобильных приложений. [Электронный
ресурс]. Режим доступа: http://droidnews.ru/ruchnoe_testirovanie_mobilnyh-
prilozhenij (дата обращения 10.03.2016)
9. Тестирование приложений. [Электронный ресурс]. Режим доступа: http://www.intuit.ru/studies/courses/611/467/lecture(дата обращения 10.04.2016)
10. Тестирование мобильных приложений с поддержкой нескольких
языков. [Электронный ресурс]. Режим доступа: http://mobile-
testing.ru/iosapptesting/(дата обращения 08.04.2016)
11. 255 ступеней. Блог об управлении, модульных тестах, аналитике.
[Электронный ресурс]. Режим доступа: http://blog.shumoos.com/(дата
обращения 10.04.2016)
12. Чек-листы проверки безопасности. [Электронный ресурс]. Режим
доступа: http://getbug.ru/testirovanie-bezopasnosti-saytov-i-prilozheniy/(дата
обращения 12.05.2016)
13. Devopswiki. Стресс-тестирование. [Электронный ресурс]. Режим доступа: http://devopswiki.net/index.php/Стресс-тестирование (дата обращения 12.05.2016)
14. Тестирование установки. [Электронный ресурс]. Режим доступа:
http://www.protesting.ru/testing/types/installation.html (дата обращения
12.05.2016)
15. Тестирование удобства пользования. Про тестинг. [Электронный ресурс]. Режим доступа: http://www.protesting.ru/testing/types/usability.html(дата обращения 12.05.2016)