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

Основные проблемы организации тестирования программы:

  • нередко отсутствует эталон, которому должны соответствовать результаты;

  • невозможно создать набор тестов для исчерп.-ей проверки сложной системы;

  • отсутствуют практически пригодные формальные критерии качества тест.-ия.

Исправление ошибки, внесенной на стадии анализа требований и обнаруженной на стадии окончательной проверки, строит в среднем в 100 раз дороже, чем исправление этой же ошибки на стадии анализа. Для исправления проблем, выявленных при сопровождении продукта, программисты по статистике тратят до 60 % времени, пытаясь понять документацию и логику программы.

Тестирование является затратной деятельностью. Поэтому в большинстве случаев разработчики заранее формулируют какой-либо критерий качества создаваемых программ, добиваются его выполнения и после этого выпускают продукт на рынок. Такой подход получил название Good Enough Quality в противовес Best Possible Quality.

Концепция GEQ вовсе не эквивалентна отказу от полноценного тестирования. Выпуск с задержкой лучше, чем плохое качество выпущенного продукта.

19. Виды тестирования

Дымовое тестирование

Термином дымовое тестирование (smoke testing) обозначают быстрое тестирование системы, при котором проверяют несколько ключевых возможностей. Такое тестирование проводят, если нет времени или ресурсов на более тщательное тестирование или в таковом нет объективной необходимости. Для проведения дымового тестирования надо заранее определить набор дымовых тестов.

Автономное и комплексное тестирование

Автономное тестирование, или тестирование модулей (unit testing), заключается в изолированной проверке каждого отдельного элемента программной системы: компонента, модуля, подпрограммы.

Этот вид тестирования чаще всего выполняется самим программистом, создавшим соответствующий код, и является в цикле тестирования самым ранним.

После успешного завершения тестирования и отладки отдельных модулей начинается процесс сборки их в группы и системы, появляются новые объекты для тестирования. При этом сложность объектов и продолжительность тестирования гораздо выше.

Цель комплексного тестирования, или тестирования интеграции (integration testing) – исследование программы целиком (в сборе, в интеграции). Проверяется взаимодействие частей программы и их взаимное влияние.

Тестирование белого и черного ящика

При тестировании «белого ящика» (white-box testing) тестер осуще­ствляет формирование теста с учетом знания об испытываемом объекте. Напротив, при тестировании «черного ящика» (black-box testing) о внутреннем устройстве тестируемого объекта неизвестно ничего, и тес­тирование осуществляется только на основе внешней спецификации.

Чаще всего автономное тестирование является тестированием «бе­лого ящика», поскольку оно выполняется программистом, знающим устройство своего кода. Комплексное же тестирование может быть и тестированием «белого ящика», и тестированием «чёрного ящика».

Альфа- и бета-тестирование

Термином альфа-тестирование традиционно обозначают всю дея­тельность организации-разработчика по тестированию данного продук­та, которую она выполняет своими силами.

Бета-тестирование выполняется силами большого количества пользователей, которые не являются сотрудниками организации, — бе­та-тестеров. За счёт массовости этого процесса выявляются ошибки, упущенные штатными тестерами.

Регрессионное тестирование

Регрессионное тестирование {regression testing) — это повторное тестирование всей программы после внесения изменений в её часть.

Принцип регрессионного тестирования предписывает тестировать при внесении изменений даже те части системы, которые непосредственно не изменились. Оправданность такого подхода доказана длительным опытом. Взаимовлияние частей программы друг на друга весьма велико.

Регрессионное тестирование требует много ресурсов. Снижение за тратности этого подхода возможно при внедрении средств автоматиза­ции тестирования. При малой степени автоматизации частоту перетес­тирования системы приходится снижать.

Функциональное тестирование

Функциональным называют такой вид тестирования, при котором проверяются только функциональные возможности системы, то есть полнота и правильность реализации функциональных требований. Не­функциональные характеристики (надёжность, эффективность, защи­щённость и т. д.) целенаправленно не проверяются. Поскольку функ­циональные возможности системы обычно наиболее важны, этот вид тестирования является основным.

Нагрузочное тестирование

При таком тестирование система подвергается предельным на­грузкам за счёт повышения интенсивности поступления входных дан­ных и (или) за счёт ограничения системных ресурсов (процессорного времени, памяти, дискового пространства и т. д.).

Цели: 1) оценить способ­ность системы правильно функционировать при высокой интенсивности поступления входных данных и при недостатке системных ресурсов, 2)точно определить минимальные и оптимальные требования к системные ресурсам.

Тестирование уязвимости

Встречается нечасто. Тестирование уяз­вимости, или тестирование безопасности, направлено на проверку безопасности и защищённости программных продуктов. Оно проводит­ся с целью проверки эффективности используемых в программах меха­низмов защиты информации, их устойчивости к атакам, а также к ошибкам персонала.

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