ПО
Преимущества
Недостатки
Monkey
1. Отсутствие затрат на
обслуживание.
2. Отсутствует
зависимость от
устройства.
3. Тестирование
нагрузки позволит
вывить сложные и
непосредственные
ошибки.
1. Для разных приложений
может заметно
отличаться качество
тестирования
2. Достаточно тяжело
воспроизвести
последовательность
действий, вызвавших
ошибку
3. Во время тестирование
не проверяется
состояние приложения
10
ПО
Преимущества
Недостатки
MonkeyRunn
er
1. Гибкий
инструментарий.
1. Достаточно сложное
написание сценариев,
даже для простых
приложений.
Getevent and
Sendevent
1. Шаги
последовательности
можно написать без
лишних затрат, в ходе
проведения ручного
тестирования.
2. Для записи шагов
последовательности
событий не требуются
навыки в области
программирования.
1. Алгоритм действий
подойдет только для
одного устройства при
использовании
фиксированного экрана.
2. Последовательность
шагов необходимо
описывать отдельно для
каждого устройства.
3. Во время теста не
проверяется состояние
приложения.
4. Для воспроизведения
сложных и быстрых
шагов
последовательности
действий уходит
больше.
Robotium
1. Действия можно
описывать на уровне
пользовательского
интерфейса.
2. Написанный скрипт не
зависит от разрешения
и ориентации экрана.
3. После действий
скрипта проверяется
состояние
приложения.
4. Создаются сценарии
высокого качества с
разумными затратам
1. Достаточно сложное
написание сценариев на
языке Java. Это
потребует значительное
количество времени и
навыки в области
программирования.
2. Если меняется
интерфейс в
приложении, то
необходимо изменять
скрипт.
3. Создание тестовых
сценариев сложнее, чем
запись событий
11
ПО
Преимущества
Недостатки
Ranorex
1. Отсутствие
собственного языка
1. Возможность записи
проводимых тестов и их
результатов
Espresso Test
Recorder
1. Основной API
достаточно мал и
примитивен
2. Открытый исходный
код, с возможностью
расширения и
применения под
определенные действия.
На основе такого сравнительного анализа систем тестирования,
можно выбирать оптимальный вариант, исходя из задач тестирования,
возможностей и предпочтений. Используя определенны преимущества и
избегая недостатков, можно проводить тестирование, с возможностью
ограничиться от серьезных затруднений и выполнить необходимые задачи.
1.2 Назначение и процесс тестирования
Тестирование – это, одна из технологий проверки качества, оно
осуществляется на стадии проектирования и в дальнейшем, перед выпуском
разрабатываемого программного продукта. Основная задача тестирования
обнаружить несоответствий в работе приложения, оно так же, является важным
этапом жизненного цикла любого разрабатываемого приложения. Тестирование
позволит обнаружить несоответствия между ожидаемым и реальным
поведением программы, такая проверка осуществляется на наборе тестов,
выбранных определенным образом. В тестирование включены определенные
процессы такие как: проектирование тестов, выполнение тестирования и анализ
полученных результатов.
Все эти процессы являются неотъемлемой частью всего процесса
тестирования, где формируются тестовые случаи или сценарии, выполняется
тестирования и анализируется поведение тестируемого приложения.
На рисунке 1.1 так же продемонстрирована логическая модель
выполнения тестирования.
12
Рисунок 1.1 – Логическая модель тестирования
Если рассматривать в целом связь процессов тестирования и разработки
программного продукта, можно выделить взаимосвязь, параллельно идущих
процессов. На рисунки 1.2 продемонстрирована связь процессов тестирования и
разработки ПО.
Рисунок 1.2 – Связь процессов тестирования и разработки ПО
13
Тестирование приложений на реальных устройствах позволяет
предоставить клиентам по-настоящему качественные продукты и повысить
эффективность бизнеса в сфере предоставления услуг.
Стоит заметить, что процесс тестирования проходит в рамках
последовательности выполнения поставленных задачи, выбирается программа
или приложение, которое будет проходить тестирование, на соответствие
требованиям установленных при разработке и действующих стандартов
качества. После проверки на критерии соответствия требованиям, происходит
анализ и сбор информации, в результате чего будет получена информация о
несоответствиях между ожидаемым результатом и фактическим.
Действующий процесс тестирования можно рассмотреть на уровне
концептуальной модели, с целью определить протекание процесса и всех
этапов прохождения тестирования. Для этого была построена специальная
модель, AS-IS по-другому модель «КАК ЕСТЬ», это означает, что эта
модель является уже существующей моделью процесса или функции.
Исследование процессов является обязательной частью при проектировании
или развитии системы. Модель «КАК ЕСТЬ» предназначена для точного
фиксирования процессов, которые осуществляются в системе, а так же
какие объекты используются при выполнении каких либо процессов или
функций, различного уровня детализации.
Во время построения модели «КАК ЕСТЬ», очень важно
спроектировать модель, максимально приближенную к действительности,
которая основывается на естественно присутствующих процессах в системе.
В
данном
случае, продемонстрированный ниже процесс,
рассматривается как процесс тестирования с помощью готовой системы
тестирования, с уже имеющимися данными, написанными сценариями и
готовыми тест-кейсами.
Контекстная диаграмма «КАК ЕСТЬ» процесса «Тестирования»
представлена на рисунке 1.3.
14
Рисунок 1.3 – Концептуальная модель тестирования
После того, как система будет описана в целом, проводится ее
разбиение на фрагменты, такой процесс называется функциональной
декомпозицией, а диаграммы, которые участвуют в описании каждого
фрагмента и взаимодействия этих фрагментов, называются диаграммой
декомпозиций. Диаграммы потоков данных «DataFlowDiagrams» или по-
другому DFD - диаграмма, предназначена для демонстрации
функциональных процессов, которые связываются потоками данных. С
помощью такой диаграммы можно увидеть процесс преобразование
входных данных в выходные и установить отношения между этими
данными. Данная диаграмма так же используется для установления связи
между протеканием процессов тестирования.
В данной диаграмме, продемонстрированный процесс, так же
рассматривается как процесс тестирования с помощью готовой системы
тестирования, с уже имеющимися данными, написанными сценариями и
готовыми тест-кейсами.
15
На рисунке 1.4. представлена диаграмма декомпозиции основного
процесса тестирования.
Рисунок 1.4 – Декомпозиция процесса тестирования «КАК ЕСТЬ»
На входе будет получена программа, которую необходимо тестировать и
данные к тестированию. Наблюдая за программой в определенных условиях, на
выходе будет получена информация о соответствии или несоответствии
программы установленным требованиям. Данная информация будет
использована для исправления ошибок в действующем продукте, любо для
изменения требований к продукту еще на стадии разработки.
Тестирование включает в себя выбранную определенным образом,
искусственно созданную ситуацию, по сымитированным запросам и описанием
наблюдений, которые нужно осуществить, для проверки программы на
соответствие определенным требованиям.
Тест может занять совсем немного времени, так и наоборот, например,
тест производительности, проверяющий работоспособность системы при
длительной нагрузке.
Таким образом, в процессе тестирования, человек выполняющий
проведение тестирование продукта, выполняет две основные задачи:
16
1. Первой задачей является управление выполнением программы, а также
создание искусственных ситуаций, в которых и происходит проверка поведения
программы.
2. Вторая задача состоит в наблюдении за тем, как программа ведет себя в
различных созданных ситуациях, и в сравнении того, что он видит с тем, что
ожидается.
Тестированием является процесс выполнения проверки на предмет
соответствия программного обеспечения требованиям, заявленным заказчиком.
Оно осуществляется в специальных, искусственно сымитированных ситуациях
посредством наблюдения за работой программного обеспечения. Именно такие,
искусственно построенные ситуации называют процессом тестирования.
Тест-кейс является минимальным элементом тестирования, в котором
интегрируются конкретные действия, а так же условия и параметры, задача
которых осуществлять проверку определенной функциональности. Набор тест-
кейсов называется тестовым набором (test suite).
Тест-кейсы позволяют при тестировании продукта выполнить проверку
без полного ознакомления с документацией. При условии, что созданный тест-
кейс удобен в поддержке, то, написанный один раз, он позволит сократить
затрачиваемое время на тестирование в будущем и улучшить процесс
тестирования. Подробные тест-кейсы так же способны значительно снизить
вариативность выполнения тестов различными тестировщиками, что повышает
качество тестирования программного продукта.
Рассматривая задачи современного тестирования, можно сделать вывод,
что предназначены они не только для обнаружения ошибок в программах, но и
в выявлении причин, по которым возникают данные ошибки. Такой подход к
процессу тестирования позволяет разработчикам выполнять свою работу с
максимальной эффективностью, устраняя обнаруженные ошибки быстро и
своевременно.
Анализируя эту информацию, можно с точностью определить всю
важность и необходимость выполнения тестирования.
|