Читать контрольная по Отсутствует: "Тесты, базирующиеся на блок-схеме" Страница 1

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Тесты, базирующиеся на блок-схеме

Введение

Тестирование - деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах. Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.

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

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

1. Тесты, базирующиеся на блок-схеме

Техники тестирования сильно различаются по своей специфике, которую могут определять, например направленность на тестирование конкретного объекта или на проверку определенного результата.

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

Максимальная отдача от тестов на основе блок-схемы получается когда тесты покрывают различные пути блок-схемы - по сути, сценарии потоков работ (поведения) тестируемой системы. Адекватность таких тестов оценивается как процент покрытия всех возможных путей блок-схемы.

2. Примеры тестов на основе блок-схемПример тестирования программы о том, является ли год високосным

Рассмотрим следующий блок кода. if (year% 400 == 0)

{. WriteLine («Год високосный \n»);

}if (year% 100 == 0)

{. WriteLine («Год не високосный \n»);

}if (year% 4 == 0)

{. WriteLine («Год високосный \n»);

}. WriteLine («Год не високосный \n»); В данном фрагменте программы происходит проверка числа в переменной year, чтобы узнать является ли номер года, введенного в эту переменную, високосным.

Блок-схема к этому коду выглядит следующим образом

Рисунок 1. Блок-схема «Високосный год»

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

· Вводим 1600 год. Выполняется проверка первого условия в результате которого программа вывела результат положительного исхода о том, что год является високосным.


Интересная статья: Основы написания курсовой работы