Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
125174f.doc
Скачиваний:
195
Добавлен:
08.06.2015
Размер:
386.05 Кб
Скачать

2.2 Преимущества и недостатки автоматического тестирования

Основная особенность автоматизированного тестирования - возможность быстрого проведения регрессионных тестов. Главными плюсами автоматизации является увеличение эффективности персонала b более раннее обнаружение дефектов. Использование системы автоматизации сокращает до минимума время пропуска тестов, без которого невозможно подтвердить уменьшение количества оставшихся ошибок в программной системе. Эти преимущества компенсируются существенным недостатком – дороговизной. Из-за высокой цены на внедрение и поддержку автоматизации тестирования около 50% компаний до сих пор применяют в основном ручное тестирование. Экономическая целесообразность автоматизации тестирования может быть выражена формулой (2.2.1) [5]:

, (2.2.1)

где - коэффициент возврата вложений в автоматизацию;

- количество выполнений данного набора тестов в течение цикла разработки;

- время, затрачиваемое на выполнение набора тестов вручную (ч);

- зарплата тестировщика (в час);

- время, затрачиваемое на автоматический набор тестов (ч);

- зарплата программиста (в час);

- время, затрачиваемое на разработку и поддержку автоматизации тестирования (ч);

- зарплата инженера по автоматизации тестирования ПО (в час);

- стоимость лицензий программного обеспечения для тестирования.

Автоматизация тестирования в проекте будет оправданной, если коэффициент A > 1.

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

Тем не менее, сравнение ручного и автоматизированного подхода (таблица 2 [4]) показывает тенденцию современного тестирования, ориентирующую на максимальную автоматизацию процесса тестирования и генерацию тестового кода, что позволяет справлять с большими объемами данных и тестов, необходимых для обеспечения качества при производстве программных продуктов.

Таблица 2. Сравнение ручного и автоматизированного тестирования

Ручное тестирование

Автоматизированное тестирование

Задание входных значений

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

Входные значения строго заданы

Проверка результата

Гибкая, позволяет тестировщику оценивать сформулированные нечетко критерии.

Строгая. Сформулированные нечетко критерии могут быть проверены только путем сравнения с эталоном.

Повторяемость

Низкая. Человеческий фактор и нечеткое определение данных приводят к неповторяемости тестирования.

Высокая

Надежность

Низкая. Длительные тестовые циклы приводят к снижению внимания тестировщика.

Высокая, не зависит от длины тестового цикла.

Чувствительность к небольшим изменениям в продукте

Зависит от детальности описания процедуры. Обычно тестировщик в состоянии выполнить тест, если внешний вид продукта и текст сообщений несколько изменились.

Высокая. Незначительные изменения в интерфейсе часто ведут к коррекции эталонов.

Скорость выполнения тестового набора

Низкая

Высокая

Возможность генерации тестов

Отсутствует. Низкая скорость выполнения обычно не позволяет исполнить сгенерированный набор тестов.

Поддерживается

Однако автоматические тесты не могут полностью заменить ручное тестирование. Автоматизация всех испытаний — очень дорогой процесс, и поэтому автоматическое тестирование является лишь дополнением ручного тестирования. Наилучший вариант использования автоматических тестов — регрессионное тестирование.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]