- •Отчет по курсовой работе
- •Цели и задачи курсовой работы
- •Часть 1. Разработка программы Предметная область
- •Описание алгоритма
- •Описание реализации
- •Часть 2. Тестирование методом «черного ящика» Спецификация программы
- •Ограничения
- •Классы эквивалентности
- •Покрытие тестами классов эквивалентности
- •Часть 3. Тестирование методом «белого ящика». Модульное тестирование Модуль DictionaryParser.Parse() Алгоритм и код
- •Тестирование базового пути
- •Построение потового графа
- •Оценка цикломатической сложности
- •Определение базового множества независимых путей
- •Подготовка тестовых вариантов
- •Тестирование ветвей и операторов отношений
- •Тестирование потоков данных
- •Тестирование циклов
- •Набор модульных тестов.
- •Модуль String.Capitalize() Алгоритм и код
- •Тестирование базового пути
- •Построение потового графа
- •Оценка цикломатической сложности
- •Определение базового множества независимых путей
- •Подготовка тестовых вариантов
- •Тестирование ветвей и операторов отношений
- •Тестирование потоков данных
- •Тестирование циклов
- •Набор модульных тестов
- •Часть 4. Интеграционное тестирование Определение модулей и способа тестирования
- •Набор юнит-тестов
- •Набор интеграционных тестов
- •Часть 5. Регрессионное тестирование Понятие регрессионного тестирования. Основные положения
- •Виды тестов регрессии. Верификационные тесты (Verification Test).
- •Тесты регрессии (Regression Test Pass).
- •Тесты регрессии на "закрытых" багах.
- •Классификация с. Канера
- •Классификация по способу сопровождения
- •Выбор тестов регрессии
- •Автоматизация тестирования
- •Заключение
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего образования «Ивановский государственный энергетический университет имени В. И. Ленина» (ИГЭУ)
Кафедра программного обеспечения компьютерных систем
Отчет по курсовой работе
по дисциплине
«Тестирование и отладка программного обеспечения»
Выполнил студент группы IV-42,
обучающийся по направлению:
231000 –Программная инженерия
Профиль: Разработка программно-информационных систем,
Шарыкин С.П.
Преподаватель:
доцент каф. ПОКС Зубков В.П.
Дата сдачи: __________
Оценка: _____________
Иваново
2016
Оглавление
Цели и задачи курсовой работы 3
Часть 1. Разработка программы 4
Предметная область 4
Описание алгоритма 5
Описание реализации 6
Часть 2. Тестирование методом «черного ящика» 8
Спецификация программы 8
Ограничения 9
Классы эквивалентности 10
Покрытие тестами классов эквивалентности 11
Часть 3. Тестирование методом «белого ящика». Модульное тестирование 14
Модуль DictionaryParser.Parse() 14
Модуль String.Capitalize() 25
Часть 4. Интеграционное тестирование 31
Определение модулей и способа тестирования 31
Набор юнит-тестов 32
Набор интеграционных тестов 33
Часть 5. Регрессионное тестирование 36
Понятие регрессионного тестирования. Основные положения 36
Виды тестов регрессии. 37
Выбор тестов регрессии 41
Автоматизация тестирования 42
Заключение 44
Цели и задачи курсовой работы
Целью настоящей курсовой работы является закрепление знаний по тестированию программного обеспечения, полученных при изучении дисциплины «Тестирование и отладка программного обеспечения» и использование их для решения практических задач.
Для достижения поставленной цели в ходе работы необходимо выполнить следующие задачи:
Разработать программу превращения, обращения, противопоставления предикату произвольного суждения. Операции выполнять над общеутвердительными (A), и общеотрицательными (E) суждениями.
Разработать спецификацию задачи и выполнить тестирование программы методом «черного ящика», описав классы эквивалентности.
Выполнить тестирование двух модулей разработанной программы, имеющих среднюю или высокую логическую сложность, методом «белого ящика».
Выполнить интеграционное тестирование не менее трех модулей разработанной программы.
Описать методику выполнения регрессионного тестирования.
Отчет по курсовой работе должен содержать:
код разработанной программы;
спецификацию программы; описание классов эквивалентности;
программный код и результаты выполнения модульных и интеграционных тестов;
выводы по работе
Часть 1. Разработка программы Предметная область
Суждения – это форма мышления, в которой утверждается или отрицается связь между предметом и его признаком, отношения между предметами или факт существования предмета и которая может быть либо истинной, либо ложной. Языковой формой выражения суждения является повествовательное предложение. Вопросительные и побудительные предложения суждениями не являются.
Простое (атрибутивное) суждение — это суждение о принадлежности предметам свойств (атрибутов), а также суждения об отсутствии у предметов каких-либо свойств. В атрибутивном суждении могут быть выделены термины суждения — субъект, предикат, связка, квантор.
Для упрощения записи операций над суждениями введем следующие обозначения:
символ «S» используется для обозначения субъекта;
символ «P» используется для обозначения предиката;
символ «:» применяется для обозначения связки «есть»;
символ «~» используется для обозначения отрицательной частицы «не»;
символ «» применяется для обозначения терминов «все», «всякий», «любой»;
символ «#» обозначает термин «ни один»;
символ «!» применяется для обозначения термина «только»;
символ «» обозначает термины «существует», «некоторый».
Тогда результат выполнения операций в общем виде может быть представлен в виде таблицы (см. Таблица 1).
Таблица 1. Правила выполнения операций над суждениями
Операция |
Суждение |
|
Общеутвердительное S : P |
Общеотрицательное # S ~: P |
|
Превращение |
# S ~: ~P |
S : ~P |
Обращение |
Р : S |
# P ~: S |
Противопоставление предикату |
# ~P ~: S |
Р : S |
