ВВЕДЕНИЕ 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. Выявлена взаимосвязь типов тестирования и багов на проектах
Также была проведена следующая работа для наглядного применения некоторых видов тестирования, указанных ранее в тест-плане:
• Создание тестовых сценариев для проекта "Мобильный студент"
• Проведение этапов тестирования, основанных на тест-плане для проекта "Мобильный студент"
• Выявление ряда задач, направленных на улучшение функционала, и занесение их в баг репорт