Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭ_У_Студентам / ТРПС_2010.doc
Скачиваний:
62
Добавлен:
05.06.2015
Размер:
4 Mб
Скачать

14.2 - Тестирование программного обеспечения. Автономное и комплексное тестирование

ЛУЧШЕ ВЗЯТЬ ИЗ РАСПЕЧАТКИ ГЭ_Г_ТЕСТИРОВАНИЕ – ТАМ ОТФОРМАТИРОВАНО

Рекомендации:

Если в спецификации явно указано, что какая-то переменная лежит в каком-то диапазоне, то сразу можно определить 2 КЭ. Пример: 0< X<100. КЭ: 0< X<100; X<=0 и X>100

Если известно, что входная переменная принимает набор дискретных значений, то 1 КЭ будет содержать эти значения, а 2й – все остальные. (N = 1-25; N = 0,26 - ..)

Если в спецификации сказано, что какой-то параметр должен принимать ограниченное кол-во значение (например, символьная строка должна начинаться с букв). КЭ должны строиться на этой основе.

КЭ строятся в виде комбинации этих условий

Выделяют правильные и неправильные КЭ [Объединяет набор данных, с которыми программа работать не будет, или должно выдастся диагностическое сообщение]

  1. Метод граничных условий

Предусматривает формирование тестовых наборов на границе КЭ или близко к этим границам и, во вторых на границах областей результатов.

ЛУЧШЕ ВЗЯТЬ ИЗ РАСПЕЧАТКИ ГЭ_Г_ТЕСТИРОВАНИЕ – ТАМ ОТФОРМАТИРОВАНО

Пример1 0<x<100; ТН: X = 0; 0.01; 100; 0.999

Пример2 N = 1..25; ТН X = 1, 0, 25, 26

Рассчитывается вероятность чего-либо. Надо подобрать ТН так чтобы P = 0 / P=1

Разрабатываем поисковую систему.

Нужно ввести последовательно 100 результатов. Подбираем ТН так чтобы было 0/1/100/101 документ(ов)

Основное кол-во ошибок – на границах области

Метод ГУ надо использовать для тестирования.

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

  • АВТОНОМНОЕ ТЕСТИРОВАНИЕ

Тестирование только одной подпрограммы (модуля, метода) без вовлечения в процесс остальных компонентов системы. Осуществляется разработчиком подпрограммы.

Для АТ используют специальные средства.

  1. Вызывающая подпрограмма (имитирует вызов и набор входных данных).

  2. Заглушки для подпрограмм, которые метод вызывает.

  • КОМПЛЕКСНОЕ ТЕСТИРОВАНИЕ

Разрешается вовлекать уже созданные к данному моменту компоненты системы (осуществляется руководителем проекта)

Включение и тестирование работающего модуля (метода) в составе работающего прототипа.

Вызывающая программа уже существует, необходимы только заглушки.

Чаще использует методы черного ящика

  • СРАВНЕНИЕ

Автономное

Комплексное

Большие затрат труда, но меньше времени на само тестирование

Быстрее обнаруживаются ошибки во взаимодействии между компонентами и в интерфейсе ПС (межмодульное, межпрограммное взаимодействие).

Позволяет распараллелить работу над модулями.

Охватывается большее количество вариантов

Без автономного тестирования комплексное займет много времени.

Без комплексного тестирования нельзя быть уверенным в работоспособности системы.

Основное тестирование – КТ, которое начинается после создания 1-го прототипа программы.

14.3 - Тестирование программного обеспечения. Автономное и комплексное тестирование алгоритм тестирования подпрограммы / метода (модулей)

1 шаг - МЭР: тестовые наборы (классы эквивалентности), провести тестирование (выбирая по 1 тестовому набору), исправить ошибки

2 шаг - МГУ: тестовые наборы для входных данных и для результата, провести тестирование, исправить ошибки

3 шаг. Анализировать, покрыты ли все линии передачи управления в результате шш.1-2. Если нет, то составить покрывающий их тестовый(ые) набор(ы).

4 шаг. Используя знания составить дополнительные тестовые наборы (опираясь на интуицию).

Комплексное тестирование (используем стратегию черного ящика)

  1. Т-е на предельных объемах – проверка работоспособности системы, когда объем входных данных является наиболее полным. Требует применение доп. средств.

  2. Т на предельных нагрузках – актуально для системы работающей в реальном времени

  3. Т средств обеспечения безопасности и защиты (от несанкционированного доступа) – ключи, коды, шифры

  4. Тестирование производительности, Время отклика системы – показатель производительности. Кол-во обрабатываемых запросов в ед. времени. Компилятор – Кол-во строк в ед. времени.

  5. Т требований к памяти. Сколько места занимает система в оперативной памяти.

  6. T Интерфейса. Доп требования – дружественность, удобство, лаконичность, соответствие предметной области

  7. T совместимости. Совместимость с предыдущими версиями. То есть программа, написанная на старой версии должна работать и на новой версии “снизу-вверх’. Иначе будет потеряна преемственность – новой разработкой будет пользоваться только новички

  8. T надежности. Долгосрочность – “время наработки на отказ”. Кол-во ошибок обнаруженное в течение какого-либо времени эксплуатации.

  9. Т восстановления. Специальные программные средства для восстановления после ошибок/сбоя. Такие ср-ва тоже должны тестироваться. Транзакция – набор/последовательность действий, которые либо все выполняются до конца, либо не одна из них не выполняется. Если в процессе выполнения транзакции произошел сбой, то надо восстановить всё.

  10. Т инсталляции. Тестируется программа инсталляции. Такое тестирование проводиться только для крупных программных проектов.

Не ко всем типам ПС применимы все типы тестирования.