Lecture 10 12/22/2011 4:08:00 PM Покрытие требований

advertisement
Lecture 10
5/5/2016 12:08:00 PM
Покрытие требований (Requirements Coverage)
Тестовое Покрытие - это одна из метрик оценки качества тестирования, представляющая из себя плотность
покрытия тестами требований либо исполняемого кода.
Покрытие требований (Requirements Coverage) - оценка покрытия тестами функциональных и
нефункциональных требований к продукту
Ограничения:
Метод покрытия требований может оставить непроверенными некоторые участки кода, потому что не
учитывает конечную реализацию.
Расчет тестового покрытия относительно требований проводится по формуле:
Tcov = (Lcov/Ltotal) * 100%
где:
Tcov - тестовое покрытие
Lcov - количество требований, проверяемых тест кейсами
Ltotal - общее количество требований
Для измерения покрытия требований, необходимо проанализировать требования к продукту и разбить их на
пункты. Опционально каждый пункт связывается с тест кейсами, проверяющими его. Проследив связи, можно
понять какие именно требования проверяет тестовый случай.
Тесты не связанные с требованиями не имеют смысла. Требования, не связанные с тестами - это "белые
пятна", т.е. выполнив все созданные тест кейсы, нельзя дать ответ реализовано данное требование в
продукте или нет.
Automation testing
Автоматизированное тестирование является составной частью тестирования. Оно использует
программные средства для выполнения тестов и проверки результатов выполнения, что помогает сократить
время тестирования и упростить его процесс.
Существует два основных подхода к автоматизации тестирования: тестирование на уровне кода и GUIтестирование. К первому типу относится, в частности, модульное тестирование. Ко второму - имитация
действий пользователя с помощью специальных тестовых фреймворков.
Автоматические тесты не могут полностью заменить ручное тестирование. Автоматизация всех испытаний —
очень дорогой процесс, и потому автоматическое тестирование является лишь дополнением ручного
тестирования. Наилучший вариант использования автоматических тестов — регрессионное тестирование.
Выгода и риски использования тестовных инструментов
Тестовый инструмент подразумивает долгосрочные вложения, которые требуют поддержку для обеспечения
долгосрочной прибыли. Вложения авансом – разработка и поддержка - подразумивают существенную
прибыль в будущем. Затраты на поддержку использования программного инструмента и эти затраты должны
быть меньше, чем затраты на исполнение техже задач вручную.
1
Lecture 10
5/5/2016 12:08:00 PM
Преимущества автоматизации тестирования:
 Повторяемость – все написанные тесты всегда будут выполняться однообразно, то есть исключен
«человеческий фактор». Тестировщик не пропустит тест по неосторожности и ничего не напутает в
результатах.
Результат более предсказуем по сравнению с тестированием, проделанным человеком: исключаются
o Человеческие ошибки
o Ошибки ввода тестируемых данных
o Недопонимание
o Забывчивость
 Быстрое выполнение – автоматизированному скрипту не нужно сверяться с инструкциями и
документациями, это сильно экономит время выполнения.
 Меньшие затраты на поддержку – когда автоматические скрипты уже написаны, на их поддержку и
анализ результатов требуется, как правило, меньшее время чем на проведение того же объема
тестирования вручную.
 Отчеты – автоматически рассылаемые и сохраняемые отчеты о результатах тестирования.
 Выполнение без вмешательства – во время выполнения тестов инженер-тестировщик может
заниматься другими полезными делами (такими как планирование, разработка тестов или анализ
результатов), или тесты могут выполняться в нерабочее время (этот метод предпочтительнее, так как
нагрузка на локальные сети ночью снижена).
Недостатки автоматизации тестирования (их тоже немало):





Повторяемость – все написанные тесты всегда будут выполняться однообразно. Это одновременно
является и недостатком, так как тестировщик, выполняя тест вручную, может обратить внимание на
некоторые детали и, проведя несколько дополнительных операций, найти дефект.
Затраты на поддержку – несмотря на то, что в случае автоматизированных тестов они меньше, чем
затраты на ручное тестирование того же функционала – они все же есть. Чем чаще изменяется
приложение, тем они выше.
Большие затраты на разработку – разработка автоматизированных тестов это сложный процесс, так
как фактически идет разработка приложения, которое тестирует другое приложение. В сложных
автоматизированных тестах также есть фреймворки, утилиты, библиотеки и прочее. Все это нужно
тестировать и отлаживать, а это требует времени.
Стоимость инструмента для автоматизации – в случае если используется лицензионное ПО, его
стоимость может быть достаточно высока.
Пропуск мелких ошибок - автоматический скрипт может пропускать мелкие ошибки на проверку
которых он не запрограммирован. Это могут быть неточности в позиционировании окон, ошибки в
надписях, которые не проверяются, ошибки контролов и форм с которыми не осуществляется
взаимодействие во время выполнения скрипта.
Риски использования автоматизации тестирования
Большинство рисков, которые ассоциируются с использованием тест инструментов относятся к
 Переоцениванию возможностей автоматических инструментов
 Недооцениванию необходимых для разработки и поддержки инструмента ресурсов
2
Download