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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 20.09.2014
Размер файла 318,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

  • Введение
  • 1. Тесты, базирующиеся на блок-схеме
  • 2. Примеры тестов на основе блок-схем
    • 2.1 Пример тестирования программы о том, является ли год високосным
    • 2.2 Пример тестирования программы о нахождении корня уравнения на отрезке с заданной точностью
    • 2.3 Пример тестирования программы о пересечении двух прямых на плоскости
  • Заключение
  • Список литературы
  • Введение
  • Тестирование - деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах. Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.
  • Общий взгляд на тестирование программного обеспечения последние годы активно эволюционировал, становясь все более конструктивным, прагматичным и приближенным к реалиям современных проектов разработки программных систем. Тестирование более не рассматривается как деятельность, начинающаяся только после завершения фазы конструирования. Сегодня тестирование рассматривается как деятельность, которую необходимо проводить на протяжении всего процесса разработки и сопровождения и является важной частью конструирования программных продуктов.
  • Действительно, планирование тестирования должно начинаться на ранних стадиях работы с требованиями, необходимо систематически и постоянно развивать и уточнять планы тестов и соответствующие процедуры тестирования. Даже сами по себе сценарии тестирования оказываются очень полезными для тех, кто занимается проектированием, позволяя выделять те аспекты требований, которые могут неоднозначно интерпретироваться или даже быть противоречивыми.
  • 1. Тесты, базирующиеся на блок-схеме
  • Техники тестирования сильно различаются по своей специфике, которую могут определять, например направленность на тестирование конкретного объекта или на проверку определенного результата.
  • Тесты, базирующиеся на блок-схеме относятся к группе техник, ориентированных на код, т.е. они основаны на анализе исходного кода. Тестами предусматриваются возможные сценарии развития событий, исходя из покрытия всех условий и решений блок-схемы кода. В какой-то степени напоминает тесты на основе конечного автомата. Отличие - в источнике набора тестов.
  • Максимальная отдача от тестов на основе блок-схемы получается когда тесты покрывают различные пути блок-схемы - по сути, сценарии потоков работ (поведения) тестируемой системы. Адекватность таких тестов оценивается как процент покрытия всех возможных путей блок-схемы.

2. Примеры тестов на основе блок-схем

2.1 Пример тестирования программы о том, является ли год високосным

Рассмотрим следующий блок кода.

В данном фрагменте программы происходит проверка числа в переменной year, чтобы узнать является ли номер года, введенного в эту переменную, високосным. Блок-схема к этому коду выглядит следующим образом

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

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

· Вводим 500 год. Получаем отрицательный исход после первого условия, переходим ко второму условию и получаем положительный исход, в результате которого программа выводит информацию, что год не является високосным.

· Вводим 2012 год. Получаем отрицательные исходы у двух первых условий и переходим к последнему условию, в результате положительного исхода которого, программа выводит информацию о том, что год является високосным.

· Вводим 99 год. Получаем отрицательные исходы у двух первых условий и переходим к последнему условию, в результате отрицательного исхода которого, программа выводит информацию о том, что год не является високосным.

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

2.2 Пример тестирования программы о нахождении корня уравнения на отрезке с заданной точностью

Рассмотрим следующий блок кода.

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

Рисунок 2. "Программа о нахождении корня уравнения"
Используем следующие тестовые данные (x1,x2,e):

· 123; --3; 0. При таких введенных данных на блоке 3 программа обнаружит ошибку и в 4 блоке будет предоставлена информация, которая сообщит о проблеме и закончит текущую итерацию выполнения программы.

· -1 ; -2 ; -3. При таких данных программа дойдет до 5 блока, обнаружит ошибку в допустимом значении переменной, а на 6 блоке выведет информацию и закончит текущую итерацию выполнения программы.

· 30 ; 20; 15. При таком наборе тестовых данных программа дойдет до блока номер 9 и поскольку не будет выполняться условие, что модуль разности x2 и x1 больше точности e, программа пойдет в блок 10 и затем завершит итерацию выполнения в блоке 15.

· 30; 20; 1. При таких данных программа дойдет до блока 12, после невыполнения условия в котором она попадет в блок 14, а затем обратно в блок 9, и так до тех пор пока на 12 блоке, не выполнится условие и программа на закончит работу в блоке 13.

2.3 Пример тестирования программы о пересечении двух прямых на плоскости

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

Рассмотрит следующий блок кода.

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

Рисунок 3. "Программа о пересечении двух прямых на плоскости"
Используем следующие тестовые данные:

· 1001; 1002; 1003; 1004; -1001; -1002; -1003; -1004. После проверки в блоке 1, программа попадет в блок 2, где выведется сообщение о нарушении границ диапазона.

· 50, 2, 50, 2, 30, 6, 30 , 6. При таком наборе тестовых данных программа зайдет в блок 3 и далее попадет в блок 4, после чего выведет информационное сообщение о вырожденности случая и закончит свою работу.

· 5; 4; 7; 4; 3; 4; 6; 4. При таких данных программа дойдет до блока 5 и оттуда попадет в блок 6, и закончит работу, выведя сообщение о том, что прямые совпадают.

· 5; 2; 5; 7; 8; 1; 8; 7. При таком наборе тестовых данных программа зайдет в блок 7, откуда попадет в блок 8 и выведя сообщение о том, что прямые параллельны, закончит работу.

· 2; 1; 6; 1; 4; 5; 4; -1. При таких данных программа дойдет до блока 9, без исключительных ситуаций, произойдет расчет точки пересечения и программа закончит работу, выведя на экран точку пересечения с координатами (4;1).

Заключение

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

тестирование блок схема программа

Список литературы

1. Канер, С. Тестирование программного обеспечения / С. Канер, Дж. Фолк, Енг. Нгуен. - К : ДиаСофт, 2000.

2. Шимаров, В. А. Тестирование программ: цели и особенности инструментальной поддержки // Программное обеспечение ЭВМ / АН БССР. 1994. - Вып. 100 - с. 19-43

3. Марченко, А. Л. Основы программирования на C# 2.0 / А. Л. Марченко. - М. : БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2007

4. Веб-сайт: http://www.zyxware.com/articles/3436/why-error-guessing-is-significant-in-testing

5. Веб-сайт: http://www.softwaretestingsoftware.com/error-guessing/

Размещено на Allbest.ru


Подобные документы

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

    контрольная работа [161,8 K], добавлен 25.12.2014

  • Рассмотрение двух методов нахождения приближенного корня дифференциального уравнения, применение их на практике. Графическая интерпретация метода Эйлера. Решение задачи усовершенствованным методом Эйлера. Программная реализация, блок-схемы и алгоритм.

    курсовая работа [246,8 K], добавлен 17.06.2013

  • Обеспечение универсальности функций тестирования при разработке программы для тестирования студентов. Бесплатное программное обеспечение. Анализ выбора среды программирования. Особенности среды Delphi и СУБД MySQL. Описание алгоритма и блок-схемы.

    курсовая работа [1,6 M], добавлен 01.02.2013

  • Применение методов касательных (Ньютона) и комбинированного (хорд и касательных) для определения корня уравнения. Разработка алгоритма решения и его описание его в виде блок-схем. Тексты программ на языке Delphi. тестовый пример и результат его решения.

    курсовая работа [923,7 K], добавлен 15.06.2013

  • Разработка программы для расчета корня уравнения в определенном отрезке, по количеству итераций. Рисование в окне консоли на языке программирования C++. Реализация вывода графика функции и корня уравнения. Математическая модель и алгоритм решаемой задачи.

    курсовая работа [521,3 K], добавлен 09.07.2017

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

    курсовая работа [714,9 K], добавлен 25.01.2010

  • Назначение и архитектура экспертных систем, их применение в сфере образования. Экспертные системы тестирования, принципы их функционирования. Инструментальные средства создания приложения и разработка программы тестирования. Описание программы, листинг.

    дипломная работа [706,4 K], добавлен 07.05.2012

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

    курсовая работа [97,1 K], добавлен 10.01.2014

  • Аналитический обзор существующих программ-редакторов схем (Microsoft Office Visio 2007, FCEditor, редактор блок-схем). Математическое описание программы и её интерпретатора. Описание системы и руководство пользователя, XML и текст редактора схем.

    дипломная работа [2,1 M], добавлен 07.07.2012

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

    курсовая работа [364,8 K], добавлен 25.01.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.