Здавалка
Главная | Обратная связь

Построение таблиц решений



1. Выписываем все условия.

2. Определяем количество тестов как 2 в степени N. (!Если условия бинарные)

3. Добавляем все возможные значения решений для условий.

4. Анализируем каждый столбец и определяем правильное действие ПО.

Некоторые тесты невозможны – решения противоречат друг другу.

 

45. Как сократить набор тестов по таблице решений.

 

Путём исключения невозможных тестов.

 

 

46. Тестирование потока управления: идея и цель метода. Применяемая модель. Виды вершин в модели.

 

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

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

программы.

 

Используется модель в виде графа потока управления, где:

 Вершина – последовательность шагов обработки, такая что, выполнение любой части этой последовательности ведет за собой выполнение всей последовательности.

 Отношение (дуга) – соединяет вершины, непосредственно следующие друг за другом при исполнении программы.

 

Можно выделить виды вершин:

 Вершина с условием – вершина с двумя исходящими связями, вес каждой из кот.

равен значению условия (обычно ИСТИНА/ЛОЖЬ).

 Вершина выбора - вершина с двумя или более исходящими связями, вес каждой из кот. равен одному значению величины выбора.

 Соединительная вершина – вершина с двумя или более входящими связями.

 

47. Последовательность действий метода тестирования потока управления.

 

При тестировании потока управления необходимо:

 Формализовать спецификацию в виде последовательности коротких предложений. Уделить особое внимание условиям, сложные условия разделить на простые.

 Однозначно перенумеровать предложения. Впоследствии это будут номера

вершин.

 Построить модель в виде графа потока управления – графически или в виде списка.

 Выбрать пути тестирования.

 Активизировать выбранные пути тестирования. То есть выбрать наборы тестовых входных данных, при кот. программа пройдет по выбранным путям.

 Предсказать итог.

 Выполнить тест.

 Установить соответствие реального итога теста предсказанному.

 

48. Как моделировать сложные логические условия.

 

 При формализации спецификации часто имеют место составные условия –

несколько простых утверждений объединены в одно сложное посредством

логических операций.

 Например: А ИЛИ (В И С). Пользователь = гость ИЛИ (пользователь

зарегистрирован И пароль соответствует пользователю).

 Составные условия перспективны для тестирования т.к. в их реализации

часто допускаются ошибки.

 Всегда можно подробно расписать составное условие, построив модель в

виде графа. Строится дерево условий с числом ветвей, равным 2^n, где n –

число простых условий.

 

49. Виды оракулов при тестировании потока управления.

 

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

Существуют альтернативные варианты:

 Существующие тесты. Большинство сегодняшнего труда программистов -

модификация существующего ПО. Контроль конфигурации существующих тестов поможет предсказать итог большинства новых тестов.

 Старые программы, предыдущие версии. Серьезное обновление ПО не всегда серьезное обновление тестового комплекта. Возможно, старые пути будут валидны и для новой логики.

 Прототипы и модельные программы. Могут быть достаточно детальны, чтобы получить корректный итог. Но не могут использоваться в качестве реального ПО, т.к. не заботятся о доступе к структурам, взаимодействии с ОС, не оптимизированы.

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

 

50. Как формировать сегменты тестов в графе потока управления.

 

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

 

52. Тестирование циклов: идея и цель метода.

 

 Это эвристический метод, кот. следует использовать только в сочетании с другими методами тестирования.

 Применяется, когда имеются циклы в графах, построенных при тестировании другими методами (граф потока управления, синтаксический граф).

 Метод выделяется, потому что опыт показывает, что ошибки часто сопутствуют циклам (особенно совокупности вложенных циклов).

 Следует помнить, что тестируется именно поведение, а не структура программы. Не следует пытаться установить вид цикла, использованного в каждом конкретном случае.

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

 


53. Виды циклов в моделях ПО.

 

Детерминированные. Число повторений цикла известно до того, как будет

выполнен первый оператор цикла. Внутри цикла нет ничего, чтобы могло

изменить это число. (Например, подсчет суммы одномерного массива).

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

внутри цикла существует условие, способное изменить это число. (Например, поиск подстроки в строке).

Вложенные. Один цикл полностью содержится в другом.

Неструктурированные. Имеют место, если существует переход в середину

цикла из-за пределов этого цикла.

 

54. Что такое комбинация критических тестовых значений. Какие комбинации следует протестировать в циклах.

 

Комбинация критических тестовых значений – это такой набор данных, при кот. достигается специальное число проходов по циклу, а именно:

 Обход цикла. Любой набор величин, не приводящий ко входу в цикл или приводящий к немедленному выходу после входа.

 Один проход. Цикл выполняется строго один раз.

 Два прохода. Цикл выполняется строго два раза.

 Max. Максимально разрешенное число проходов.

 Max-1. На 1 меньше максимально разрешенного числа проходов.

 Max+1. На 1 больше максимально разрешенного числа проходов (не всегда

выполнимо).

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

 Типичное число проходов. Количество итераций, кот. обычно будет выполняться

этим циклом при нормальной работе программы.Тестирование циклов.

 

55. Тестирование доменов: идея и цель метода.

 

 Применяется для проверки программного обеспечения, где преобладают численные вычисления.

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

 Смысл тестирования доменов – проверить правильность процедуры анализа и выбора действия, а не правильность самих действий.

 Подразумевается, что процедура анализа и выбора задана в виде системы

неравенств, содержащих набор входных значений. (Если это не так, необходимо

построить систему)

 Для каждого возможного набора входных значений должно существовать свое

неравенство и свой домен, учитывающий его.

! Не рассматриваем негативные тесты.

 Определяем точность вычислений:

 

При тестировании доменов необходимо:

 Проверить хотя бы одну контрольную точку в каждом домене, чтобы убедиться в корректности процедуры выбора.

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

 Убедиться, что входное пространство является полным, каждый набор входных значений будет обработан.

 Убедиться в отсутствии лишних границ и корректности всех граничных неравенств. В этом и заключается основная задача тестирования доменов.

 

56. Сущность стратегии 1*N. Закрытый и открытый домен.

 

 Выбирается N точек НА для каждой N-мерной границы домена. Как можно дальше друг от друга.

 Выбирается одна точка ВНЕ для каждой N-мерной границы домена.

 Точка ВНЕ берется настолько близко к границе, насколько это возможно.

! Точка ВНЕ снаружи, если домен закрыт. Точка ВНЕ изнутри, если домен открыт.

 В результате каждая комбинация точек является тестом. При таком подходе возможно получение одинаковых тестов – их следует убрать.

Закрытый домен – точка на границе включается в рассматриваемый домен, то есть неравенство строгое.

Два смежных домена могут иметь одну и ту же точку ВНЕ.

 

57. Как определять границы доменов и домены?

 


58. Как выбирать точки в доменах?

Выбирается N точек НА для каждой N-мерной границы домена. Как можно дальше друг от друга.

Выбирается одна точка ВНЕ для каждой N-мерной границы домена.

Точка ВНЕ берется настолько близко к границе, насколько это возможно.

! Точка ВНЕ снаружи, если домен закрыт. Точка ВНЕ изнутри, если домен открыт.

Закрытый домен – точка на границе включается в рассматриваемый домен.

Два смежных домена могут иметь одну и ту же точку ВНЕ.

 

       
   
 
 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.