- •Тема 1. Введение. Основы методологии проектирования информационных систем 5
- •Жизненный цикл программного обеспечения
- •Модели жизненного цикла программного обеспечения
- •Макетирование
- •Спиральная модель жизненного цикла
- •Компонентно-ориентированная модель
- •Тема 2. Структурный анализ и проектирование Определение структурного анализа
- •Средства структурного анализа
- •Моделирование потоков данных
- •Контекстная диаграмма
- •Построение иерархии диаграмм потоков данных
- •Методология функционально стоимостного анализа
- •Методология функционального моделирования sadt (Structured Analysis and Design Technique)
- •Состав функциональной модели sadt
- •Иерархия диаграмм
- •Словарь данных
- •Тема 3. Построение информационной модели системы. Проектирование баз данных Диаграммы сущность-связь (erd)
- •Сущности, отношения и связи в нотации Чена
- •Типы связей в нотации Чена
- •Ассоциативная связь
- •Диаграммы атрибутов в классической модели Чена
- •Диаграмма категоризации
- •Нотация Баркера. Модель сущность- связь в нотации Баркера
- •Методология idef1x
- •Тема 4. Методика построения информационной модели данных (модели «сущность-связь»)
- •Идентификация отношений между сущностями
- •Разрешение неспецифических отношений
- •Использование средств и техники структурного системного анализа
- •Основные виды работ, рекомендуемые при построении логической и физической моделей программной системы
- •Подход Мартина (ie–методология)
- •Тема 5. Методология rad (Rapid Application Development)
- •Основные принципы методологии rad
- •Состав, структура и функциональные особенности case-средств
- •Поддержка графических моделей
- •Требования к современному диаграммеру
- •Тема 6. Структурное тестирование программного обеспечения Основные понятия и принципы тестирования программного обеспечения
- •Особенности тестирования белого ящика
- •Способ тестирования базового пути
- •Потоковый граф
- •Цикломатическая сложность
- •Шаги способа тестирования базового пути
- •Способы тестирования условий
- •Тестирование ветвей и операторов отношения
- •Способ тестирования потоков данных
- •Тестирование циклов
- •Тема 7. Функциональное тестирование программного обеспечения Особенности тестирования черного ящика
- •Способы разбиения на эквивалентности
- •Способ анализа граничных значений
- •Способ диаграмм причин–следствий
- •Тема 8. Организация процесса тестирования программного обеспечения
- •Методика тестирования программных систем
- •Тестирование элементов
- •Тестирование итераций
- •Восходящее тестирование интеграции
- •Тестирование правильности
- •Системное тестирование
Тестирование ветвей и операторов отношения
Способ тестирования ветвей и операторов отношений обнаруживает ошибки ветвления и операторов отношения в условии, для которого выполняются следующие ограничения:
Все булевы переменные и операторы отношения входят в условие только по одному разу;
В условиях нет общих переменных;
В данном способе используются естественные ограничения условий. Для составного условия, включающего n простых условий, формируется ограничение условия ОУ=(), где– ограничение на результатi-ого простого условия.
Ограничения на результат фиксируют возможное ограничение аргумента, если он один, или соотношение между значениями аргументов, если их несколько.
Если i-ое простое условие является выражением отношения, то его ограничение на результат состоит из трех значений и имеет вид .
На основе ограничений условий создается ограничивающее множество, элементы которого являются сочетаниями всех возможных значений . Ограничивающее множество – это удобный инструмент для записи задания на тестирование, поскольку оно составляется из сведений о значениях переменных, которые влияют на значение проверяемого условия. Каждый элемент ограничивающего множества задает отдельный тестовый вариант. Исходные данные тестового варианта должны обеспечить соответствующую комбинацию значений простых условий, а ожидаемый результат равен значению составного условия.
Таким образом, способ тестирования ветвей и операторов отношений для каждого условия в программе включает следующие действия:
Строятся ограничения условий;
Выявляются ограничения результата по каждому простому условию;
Строится ограничивающее множество. Его построение выполняется путем подстановки в константные формулы выявленных ограничений результата.
Для каждого элемента ограничивающего множества разрабатывается тестовый вариант.
Способ тестирования потоков данных
При тестировании потоков данных анализу подвергается информационная структура программы. Работу любой программы можно рассматривать как обработку потока данных, передаваемых от входа программы к ее выходу.
Пример.
Пусть потоковый граф программы имеет следующий вид:
Сплошные дуги – это связи по управлению между операторами в программе.
Пунктирные дуги обозначают информационные связи или связи по потокам данных.
Обозначенные информационные потоки соответствуют следующим допущениям:
в вершине 1 определяются значения переменных a и b;
значение переменной a используется в вершине 4;
значение переменной b используется в вершинах 3 и 6;
в вершине 4 определяется значение переменой c, которая используется в вершине 6.
В общем случае для каждой вершины графа можно записать:
множество определений данных
DEF = {x| i–я вершина содержит определение x};
множество использований данных
USE (i) = {x| i–я вершина использует x}.
Под определением данных понимают действие, изменяющее элемент данных. Признак определения состоит в том, что имя элемента находится в левой части оператора присваивания.
Использование данных – это применение элементов в выражении, где происходит обращение к элементу данных, но не изменение элемента. Признак использования состоит в том, что имя элемента находится в правой части оператора присваивания.
Назовем DU-цепочкой или цепочкой определения использования конструкцию типа [x, i, j], где i,j – имена вершин, а переменная x определена в i–ой вершине и используется в j–ой вершине.
DU[x, i, j], DEF (i),USE (j).
В примере перечислим следующие цепочки: [a,1,4], [b,1,3], [b,1,6],[c,4,6].
Способ DU–тестирования требует охвата всех DU–цепочек в программе. Поэтому разработка тестов проводится на основе анализа определения и использования всех данных программы.
Для подготовки тестов требуется определение пути выполнения программы на управляющем графе. В качестве критерия выбора пути используется покрытие максимального количества DU–цепочек.
Шаги способа DU–тестирования:
построение потокового графа программы;
построение информационного графа;
формирование полного набора DU–цепочек;
формирование полного набора отрезков путей в потоковом графе путем отображения набора DU–цепочек информационного графа;
построение маршрутов или полных цепей на потоковом графе, покрывающих набор отрезков путей потокового графа.
подготовка тестовых вариантов.
Достоинства DU–тестирования:
простота необходимого анализа операционно управляющей структуры программы;
простота автоматизации.
Недостаток DU–тестирования заключается в трудности выбора минимального количества максимально эффективных тестов.
Областями использования DU–тестирования являются программы с вложенными условными операторами и операторами циклов.