Этап выбора тестового обеспечения
Вычисление новой матрицы происходит методом перебора всех существующих матриц с нулевой главной диагональю и кососимметричных относительно нее же (значение «1» выше диагонали, симметрично значению «-1» ниже диагонали, и наоборот). Такой перебор удобнее всего выполнить программно. По новой рассчитанной матрице, строится новое ранжирование для приведенных шести альтернатив по степени… Читать ещё >
Этап выбора тестового обеспечения (реферат, курсовая, диплом, контрольная)
Рассмотрим этап испытания программы. Выбор тестового обеспечения — одна из сложнейших задач. Наибольшее применение для решения данной задачи получил метод аналитических иерархий. Однако серьезные трудности может вызвать сравнительная оценка альтернативных способов тестирования по заданным критериям. В этом случае необходимо использовать групповые методы принятия решений, в частности методы минимального расстояния, кластеризации, лексикографического упорядочивания и полуупорядочивания. Для любого ПП зачастую не существует единственного надежного и полного критерия идеального выбора системы тестов, зависящего от программ или спецификаций. В каждом конкретном проекте обычно происходит многоуровневое тестирование с использованием тестов различных классов. В идеальном случае при определении задач, ресурсов и технологий каждого уровня тестирования выявляется каждый из типов ожидаемых дефектов ПП.
Существует четыре класса тестов .
- · 1. Класс структурных тестов («белого ящика») использует информацию о структуре ПП и проверяет корректность работы всех команд/ветвей/путей программы. Структурный тест должен обеспечить прохождение каждой команды/ветви/пути программы не менее одного раза. Глубина и тщательность проверки ПП усиливается от команд к путям, но даже если получен положительный результат, то нет оснований утверждать, что ПП реализован в соответствии со спецификацией.
- · 2. Класс функциональных тестов («черного ящика») проверяет соблюдение требований к ПП и отражает взаимодействие тестируемого приложения с окружением. Приведем некоторые частные виды функционального тестирования: Т0 — тестирование пунктов спецификации ТЗ (каждого пункта не менее одного раза); Т1 — тестирование классов входных данных (не меньше одного раза для каждого отдельно взятого класса входных данных); Т2 — тестирование правил (каждого правила не менее одного раза); Т3 — тестирование классов выходных данных (представителя каждого выходного класса с учетом ограничений на ресурсы или время); Т4 — тестирование функций (каждого действия, реализуемого тестируемым ПП или его модулем, не менее одного раза); Т5 — комбинированные критерии для программ и спецификаций (подтвердить все комбинации непротиворечивых условий и обнаружить и ликвидировать условия противоречий).
- · 3. Класс стохастических тестов заключается в обнаружении заданных параметров у тестируемого ПП путем проверки какой-либо статистической гипотезы. При тестировании непростых программных комплексов, в которых набор определенных тестов имеет большую мощность применяют этот вид тестирования. Используются статистические методы и метод оценки скорости выявления ошибок.
- · 4. Класс мутационных тестов ориентирован для проверки свойств ПП на основе подхода Монте-Карло, позволяющего при искусственном внесении мутаций (мелких ошибок) оценить общее число ошибок. После формирования тестовых наборов проводится оценка достижения заданной степени тестированности ПП по критериям покрытия программы и проекта:
o достаточность — способность показывать, при каких условиях определенное конечное множество тестов является достаточным для тестирования данного П. О;
o полнота — для каждой ошибки должен существовать тест, который раскрывает эту ошибку;
o надежность — любые два множества надежных тестов должны одинаково раскрывать или не раскрывать ошибки программы;
o легкость проверки, например вычисляемость на тестах.
При проведении тестирования требуется выбрать не единственный класс тестов и один тест из класса, а определить группу тестов или классов, которые максимально позволили бы выявить все возможные некорректности ПП. Поэтому важно уметь проранжировать виды и классы тестов по степени их предпочтительности для конкретного ПП. Для выстраивания шкалы предпочтений по классам тестов, по видам тестов внутри класса можно применить подход к расчету весовых коэффициентов критериев, используемый в методе аналитических иерархий, а также метод минимального расстояния. Данные методы применимы в случае использования как численных, так и лингвистических критериев. Эффективность методов особенно высока при малом числе критериев и альтернатив. Из приведенного перечня показателей видно, что максимальное число критериев равно четырем, …,, а максимальное число альтернатив равно шести, …, (для класса функциональных тестов). Рассмотрим пример ранжирования шести видов тестов, …, из класса 2 тремя экспертами с помощью метода минимального расстояния. Каждым экспертом выстраивается свое ранжирование альтернатив по четырем указанным критериям, …, :
= ,.
=.
=.
Затем строим три матрицы попарного сравнения альтернатив каждым экспертом.(,)После этого находим новую итоговую матрицу рангов, равноудаленную от всех трех матриц (т.е. учитывающую все мнения экспертов) так, чтобы расстояние между каждой парой матриц (новой и матрицей эксперта i) было бы минимальным. За расстояние между матрицами будем считать величину, равную сумме модулей разностей их элементов:
=(,)=-|.
Вычисление новой матрицы происходит методом перебора всех существующих матриц с нулевой главной диагональю и кососимметричных относительно нее же (значение «1» выше диагонали, симметрично значению «-1» ниже диагонали, и наоборот). Такой перебор удобнее всего выполнить программно. По новой рассчитанной матрице, строится новое ранжирование для приведенных шести альтернатив по степени предпочтительности.
Предложенные подходы к принятию решений выбора проекта по разработке ПП, языка программирования, тестовых наборов позволяют автоматизировать процесс проектирования ПП и повысить качество принимаемых решений в целом. Предложенная методика может найти применение на практике при выполнении масштабных работ по проектированию сложных программных продуктов и написанию сопроводительной документации Вывод. В этой главе были рассмотрены этапы разработки ПО, в которых есть возможность использовать методы поддержки принятия решений. Были подобраны методы и обоснован их выбор.