Функциональное тестирование программного обеспечения

Автор работы: Пользователь скрыл имя, 18 Июня 2014 в 10:58, курсовая работа

Описание работы

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

Содержание работы

Введение
3
Глава 1
Функциональное тестирование программного обеспечения
5
1.1 Осоьбенности тестирования черного ящика
5
1.2 Способ разбиения по эквивалентности
7
1.3 Способ анализа граничных значений
10
1.4 Способ диаграмм причин-следствий
15
Заключние
21
Список литературы
23

Файлы: 1 файл

ТОпильская ТРПП Курсовая.doc

— 171.50 Кб (Скачать файл)

1) массив из одного элемента;

2) массив из четного количества  элементов;

3) массив из нечетного количества  элементов, большего единицы.

Наконец на последнем, 4-м уровне критерием разбиения может быть анализ ребер классов эквивалентности. Очевидно, возможны следующие варианты:

1) работа с первым элементом  массива;

2) работа с последним элементом  массива;

3) работа с промежуточным (ни  с первым, ни с последним) элементом массива.

Структура дерева разбиений приведена на рис. 7.3.

Рис.3. Дерево разбиений области исходных данных бинарного поиска

 

Это дерево имеет 11 листьев. Каждый лист задает отдельный тестовый вариант. Покажем тестовые варианты, основанные на проведенных разбиениях.

Тестовый вариант 1 (единичный массив, элемент найден) ТВ1:

ИД: М=15; Кеу=15.

ОЖ.РЕЗ.: Resutt=True; I=1.

Тестовый вариант 2 (четный массив, найден 1-й элемент) ТВ2:

ИД: М=15, 20, 25,30,35,40; Кеу=15.

ОЖ.РЕЗ.: Result=True; I=1.

Тестовый вариант 3 (четный массив, найден последний элемент) ТВЗ:

ИД: М=15, 20, 25, 30, 35, 40; Кеу=40.

ОЖ.РЕЗ:. Result=True; I=6.

Тестовый вариант 4 (четный массив, найден промежуточный элемент) ТВ4:

ИД: М=15,20,25,30,35,40; Кеу=25.

ОЖ.РЕЗ.: Result-True; I=3.

Тестовый вариант 5 (нечетный массив, найден 1-й элемент) ТВ5:

ИД: М=15, 20, 25, 30, 35,40, 45; Кеу=15.

ОЖ.РЕЗ.: Result=True; I=1.

Тестовый вариант 6 (нечетный массив, найден последний элемент) ТВ6:

ИД: М=15, 20, 25, 30,35, 40,45; Кеу=45.

ОЖ.РЕЗ.: Result=True; I=7.

Тестовый вариант 7 (нечетный массив, найден промежуточный элемент) ТВ7:

ИД: М=15, 20, 25, 30,35, 40, 45; Кеу=30.

ОЖ.РЕЗ.: Result=True; I=4.

Тестовый вариант 8 (четный массив, не найден элемент) ТВ8:

ИД: М=15, 20, 25, 30, 35,40; Кеу=23.

ОЖ.РЕЗ.: Result=False; I=?

Тестовый вариант 9 (нечетный массив, не найден элемент) ТВ9;

ИД: М=15, 20, 25, 30, 35, 40, 45; Кеу=24.

ОЖ.РЕЗ:. Result=False; I=?

Тестовый вариант 10 (единичный массив, не найден элемент) ТВ10:

ИД: М=15; Кеу=0.

ОЖ.РЕЗ.: Result=False; I=?

Тестовый вариант 11 (нарушены предусловия) ТВ11:

ИД: М=15, 10, 5, 25, 20, 40, 35; Кеу=35.

ОЖ.РЕЗ.: Аварийное донесение: Массив не упорядочен.

 

 

1.4 Способ диаграмм причин-следствий

 

Диаграммы причинно-следственных связей — способ проектирования тестовых вариантов, который обеспечивает формальную запись логических условий и соответствующих действий [3], [64]. Используется автоматный подход к решению задачи.

Шаги способа:

1)  для каждого модуля перечисляются причины (условия ввода или классы эквивалентности условий ввода) и следствия (действия или условия вывода). Каждой причине и следствию присваивается свой идентификатор;

2) разрабатывается граф причинно-следственных связей;

3) граф преобразуется в таблицу  решений;

4) столбцы таблицы решений преобразуются  в тестовые варианты.

Изобразим базовые символы для записи графов причин и следствий (cause-effect graphs).

Сделаем предварительные замечания:

1) причины будем обозначать символами сi, а следствия — символами еi;

2) каждый узел графа может находиться в состоянии 0 или 1 (0 — состояние отсутствует, 1 — состояние присутствует).

Функция тождество (рис. 7.4) устанавливает, что если значение с1 есть 1, то и значение е1 есть 1; в противном случае значение е1 есть 0.

Рис. 4. Функция тождество

 

Функция не (рис. 7.5) устанавливает, что если значение с1 есть 1, то значение e1 есть 0; в противном случае значение е1 есть 1.

Рис. 5. Функция не

 

Функция или (рис. 7.6) устанавливает, что если с1 или с2 есть 1, то е1 есть 1, в противном случае e1 есть 0.

Рис. 6. Функция или

 

Функция и (рис. 7.7) устанавливает, что если и с1 и с2 есть 1, то е1 есть 1, в противном случае е1 есть 0.

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

Рис. 7. Функция и

 

Ограничение Е (исключает, Exclusive, рис. 7.8) устанавливает, что Е должно быть истинным, если хотя бы одна из причин — а или b — принимает значение 1 (а и b не могут принимать значение 1 одновременно).

Рис. 8. Ограничение Е (исключает, Exclusive)

 

Ограничение I (включает, Inclusive, рис. 7.9) устанавливает, что по крайней мере одна из величин, а, b, или с, всегда должна быть равной 1 (а, b и с не могут принимать значение 0 одновременно).

Рис. 9. Ограничение I (включает, Inclusive)

 

Ограничение О (одно и только одно, Only one, рис. 7.10) устанавливает, что одна и только одна из величин а или b должна быть равна 1.

Рис. 10. Ограничение О (одно и только одно, Only one)

 

Ограничение R (требует, Requires, рис. 7.11) устанавливает, что если а принимает значение 1, то и b должна принимать значение 1 (нельзя, чтобы а было равно 1, a b - 0).

Рис. 11. Ограничение R (требует, Requires)

 

Часто возникает необходимость в ограничениях для следствий.

Ограничение М (скрывает, Masks, рис. 7.12) устанавливает, что если следствие а имеет значение 1, то следствие b должно принять значение 0.

Рис. 12. Ограничение М (скрывает, Masks)

 

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

При расчете по среднему тарифу:

  • при месячном потреблении энергии меньшем, чем 100 кВт/ч, выставляется фиксированная сумма;
  • при потреблении энергии большем или равном 100 кВт/ч применяется процедура А планирования расчета.

При расчете по переменному тарифу:

  • при месячном потреблении энергии меньшем, чем 100 кВт/ч, применяется процедура А планирования расчета;
  • при потреблении энергии большем или равном 100 кВт/ч применяется процедура В планирования расчета.

 

Шаг 1. Причинами являются:

1) расчет по среднему тарифу;

2) расчет по переменному тарифу;

3) месячное потребление электроэнергии  меньшее, чем 100 кВт/ч;

4) месячное потребление электроэнергии большее или равное 100 кВт/ч.

На основе различных комбинаций причин можно перечислить следующие следствия:

  • 101 — минимальная месячная стоимость;
  • 102 — процедура А планирования расчета;
  • 103 — процедура В планирования расчета.

Шаг 2. Разработка графа причинно-следственных связей (рис. 7.13).

Узлы причин перечислим по вертикали у левого края рисунка, а узлы следствий — у правого края рисунка. Для следствия 102 возникает необходимость введения вторичных причин — 11 и 12, — их размещаем в центральной части рисунка.

Рис. 13. Граф причинно-следственных связей

 

Шаг 3. Генерация таблицы решений. При генерации причины рассматриваются как условия, а следствия — как действия.

Порядок генерации.

1. Выбирается некоторое следствие, которое должно быть в состоянии «1».

2.  Находятся все комбинации причин (с учетом ограничений), которые устанавливают это следствие в состояние «1». Для этого из следствия прокладывается обратная трасса через граф.

3.  Для каждой комбинации причин, приводящих следствие в состояние «1», строится один столбец.

4. Для каждой комбинации причин доопределяются состояния всех других следствий. Они помещаются в тот же столбец таблицы решений.

5. Действия 1-4 повторяются для всех следствий графа.

Таблица решений для нашего примера показана в табл. 7.1.

Шаг 4. Преобразование каждого столбца таблицы в тестовый вариант. В нашем примере таких вариантов четыре.

Тестовый вариант 1 (столбец 1) ТВ1:

ИД: расчет по среднему тарифу; месячное потребление электроэнергии 75 кВт/ч.

ОЖ.РЕЗ.: минимальная месячная стоимость.

Тестовый вариант 2 (столбец 2) ТВ2:

ИД: расчет по переменному тарифу; месячное потребление электроэнергии 90 кВт/ч.

ОЖ.РЕЗ.: процедура A планирования расчета.

Тестовый вариант 3 (столбец 3) ТВЗ:

ИД: расчет по среднему тарифу; месячное потребление электроэнергии 100 кВт/ч.

ОЖ.РЕЗ.: процедура А планирования расчета.

Тестовый вариант 4 (столбец 4) ТВ4:

ИД: расчет по переменному тарифу; месячное потребление электроэнергии 100 кВт/ч.

ОЖ.РЕЗ.: процедура В планирования расчета.

 

Таблица 1. Таблица решений для расчета оплаты за электричество

Номера столбцов — >

1

2

3

4

Условия

Причины

1

1

0

1

0

   

2

0

1

0

1

   

3

1

1

0

0

   

4

0

0

1

1

 

Вторичные причины

11

0

0

1

0

   

12

0

1

0

0

Действия

Следствия

101

1

0

0

0

   

102

0

1

1

0

   

103

0

0

0

1


 

 

Заключение

Известно, что основной задачей первых трех десятилетий компьютерной эры являлось развитие аппаратных компьютерных средств. Это было обусловлено высокой стоимостью обработки и хранения данных. В 80-е годы успехи микроэлектроники привели к резкому увеличению производительности компьютера при значительном снижении стоимости.

Основной задачей 90-х годов и начала XXI века стало совершенствование качества компьютерных приложений, возможности которых целиком определяются программным обеспечением (ПО).

Современный персональный компьютер теперь имеет производительность большой ЭВМ 80-х годов. Сняты практически все аппаратные ограничения на решение задач. Оставшиеся ограничения приходятся на долю ПО.

Чрезвычайно актуальными стали следующие проблемы:

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

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

Компьютерные науки вообще и программная инженерия в частности — очень популярные и стремительно развивающиеся области знаний. Обоснование простое: человеческое общество XXI века — информационное общество. Об этом говорят цифры: в ведущих странах занятость населения в информационной сфере составляет 60%, а в сфере материального производства — 40%. Именно поэтому специальности направления «Компьютерные науки и информационные технологии» гарантируют приобретение наиболее престижных, дефицитных и высокооплачиваемых профессий. Так считают во всех развитых странах мира. Ведь не зря утверждают: «Кто владеет информацией — тот владеет миром!»

Поэтому понятно то пристальное внимание, которое уделяет компьютерному образованию мировое сообщество, понятно стремление унифицировать и упорядочить знания, необходимые специалисту этого направления. Одними из результатов такой работы являются международный стандарт по компьютерному образованию Computing Curricula 2001 — Computer Science и международный стандарт по программной инженерии IEEE/ACM Software Engineering Body of Knowledge SWEBOK 2001.

 

СПИСОК ЛИТЕРАТУРЫ

 

  1. “Новые языки программирования и тенденции их развития”, Ушкова В., 2005 г.
  2. Антони Синтес Освой самостоятельно объектно-ориентированное программирование за 21 день = Sams Teach Yourself Object-Oriented Programming in 21 Days. — М.: «Вильямс», 2002. — С. 672.
  3. Бертран Мейер Объектно-ориентированное конструирование программных систем + CD . Интернет-университет информационных технологий - ИНТУИТ.ру, Русская Редакция, 2005
  4. Биллиг В.А. Основы программирования на C# . Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
  5. Иан Грэхем Объектно-ориентированные методы. Принципы и практика = Object-Oriented Methods: Principles & Practice. — 3-е изд. — М.: «Вильямс», 2004. — С. 880.
  6. Пестриков, В. М. Delphi на примерах / В. М. Пестриков, А. Н. Маслобоев. — СПб. : БХВ-Петербург, 2005. — 496 с.
  7. Программирование в Delphi. Учебник по классическим версиям Delphi Для программистов и разработчиков Архангельский А.Я. Бином  2006
  8. Торрес Роберт Дж. Практическое руководство по проектированию и разработке пользовательского интерфейса. Пер. с англ. – М: Изд. дом «Вильямс», 2005 – 400 с.
  9. Фаронов В. В. Deiphi 6. Учебный курс / В. В. Фараонов. – СПб. : Питер, 2002. – 260с.
  10. Фленов М. Е. Библия Delphi / М. Е. Фленов. — 2-е изд. , перераб. и доп.
  11. Электронное учебное пособие «Учимся проектировать на компьютере».
  12. Язык Pascal и основы программирования в Delphi А. Я. Архангельский  Бином 2005
  13. http://freepascal.org/
  14. http://lazarus.freepascal.org/
  15. http://beluch.ru/progr/100comp.htm
  16. http://www.maksakov-sa.ru/TeorDelphi/FailDelphi/page69/index.html
  17. http://delphi-prg.ru/komponent-button-v-delphi

Информация о работе Функциональное тестирование программного обеспечения