tehnologia (1018792), страница 45

Файл №1018792 tehnologia (Г.С. Иванова - Учебник - Технология программирования) 45 страницаtehnologia (1018792) страница 452017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

Метод эквивалентного разбиения заключается вследующем. Область всех возможных наборов входных данных программы по каждомупараметру разбивают на конечное число групп - классов эквивалентности. Наборы данныхтакого класса объединяют по принципу обнаружения одних и тех же ошибок: если наборкакого-либо класса обнаруживает некоторую ошибку, то предполагается, что все другиетесты этого класса эквивалентности тоже обнаружат эту ошибку и наоборот.Разработку тестов методом эквивалентного разбиения осуществляют в два этапа: напервом выделяют классы эквивалентности, а на втором - формируют тесты.Выделение классов эквивалентности является эвристическим процессом, однакоцелесообразным считают выделять в отдельные классы эквивалентности наборы,содержащие допустимые и недопустимые значения некоторого параметра.

При этомсуществует ряд правил:• если некоторый параметр х может принимать значения в интервале [1, 999], товыделяют один правильный класс 1 < х < 999 и два неправильных: х < 1 и х >999;• если входное условие определяет диапазон значений порядкового типа,например, «в автомобиле могут ехать от одного до шести человек», тоопределяется один правильный класс эквивалентности и два неправильных: ниодного и более шести человек;• если входное условие описывает множество входных значений и естьоснования полагать, что каждое значение программист трактует особо,например, «типы графических файлов: bmp, jpeg, vsd», то определяютправильный класс эквивалентности для каждого значения и одиннеправильный класс, например, txt;• если входное условие описывает ситуацию «должно быть», например, «первымсимволом идентификатора должна быть буква», то определяется одинправильный класс эквивалентности (первый символ - буква) и одиннеправильный (первый символ - не буква);• если есть основание считать, что различные элементы класса эквивалентноститрактуются программой неодинаково, то данный класс разбивается на меньшиеклассы эквивалентности.Таким образом, классы эквивалентности выделяют, перебирая ограничения,установленные для каждого входного значения в техническом задании или при уточненииспецификации.

Каждое ограничение разбивают на две или более групп. При этомиспользуют специальные бланки - таблицы классов эквивалентности:Ограничение назначение параметраПравильные классыэквивалентностиНеправильные классыэквивалентности274Правильные классы включают правильные данные, неправильные классы неправильные данные. Для правильных и неправильных классов тесты проектируютотдельно.

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

Например, если в программеанализа вида треугольника было записано А + В ≥ С вместо А + В > С, то задание граничныхзначений приведет к ошибке: линия будет отнесена к одному из видов треугольника.Применение метода анализа граничных значений требует определенной степенитворчества и специализации в рассматриваемой проблеме. Тем не менее существуетнесколько общих правил для применения этого метода:• если входное условие описывает область значений, то следует построить тестыдля границ области и тесты с неправильными входными данными для ситуацийнезначительного выхода за границы области, например, если описана область[-1.0, +1.0], то должны быть сгенерированы тесты: -1.0, +1.0,-1.001 и +1.001;• если входное условие удовлетворяет дискретному ряду значений, то следуетпостроить тесты для минимального и максимального значений и тесты,содержащие значения большие и меньшие этих двух значений, например, есливходной файл может содержать от 1 до 255 записей, то следует проверить 0, 1,255 и 256 записей;• если существуют ограничения выходных значений, то целесообразноаналогично тестировать и их: конечно не всегда можно получить результат вневыходной области, но тем не менее стоит рассмотреть эту возможность;• если некоторое входное или выходное значение программы являетсяупорядоченным множеством, например, это последовательный файл,линейный список или таблица, то следует сосредоточить внимание на первом ипоследнем элементах этого множества.Помимо указанных граничных значений, целесообразно поискать другие.Анализ граничных значений, если он применен правильно, является одним изнаиболее полезных методов проектирования тестов.

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

Метод использует алгебрулогики и оперирует понятиями «причина» и «следствие». Причиной в данном случаеназывают отдельное входное условие или класс эквивалентности. Следствием - выходноеусловие или преобразование системы. Идея метода заключается в отнесении всех следствийк причинам, т. е. в уточнении причинно-следственных связей. Данный метод дает полезныйпобочный эффект, позволяя обнаруживать неполноту и неоднозначность исходныхспецификаций.Построение тестов осуществляют в несколько этапов. Сначала, поскольку таблицыпричинно-следственных связей при применении метода к большим спецификациямстановятся громоздкими, спецификации разбивают на «рабочие» участки, стараясь повозможности выделять в отдельные таблицы независимые группы причинно-следственныхсвязей. Затем в спецификации определяют множество причин и следствий.Далее на основе анализа семантического (смыслового) содержания спецификациистроят таблицу истинности, в которой каждой возможной комбинации причин ставится всоответствие следствие.

При этом целесообразно истину обозначать «1», ложь - «0», а дляобозначения безразличных состояний условий применять обозначение «X», котороепредполагает произвольное значение условия (0 или 1). Таблицу сопровождаютпримечаниями, задающими ограничения и описывающими комбинации причин и/илиследствий, которые являются невозможными из-за синтаксических или внешнихограничений. При необходимости аналогично строится таблица истинности для классаэквивалентности.И, наконец, каждую строку таблицы преобразуют в тест.

При этом рекомендуется повозможности совмещать тесты из независимых таблиц.Данный метод позволяет строить высокорезультативные тесты и обнаруживатьнеполноту и неоднозначность исходных спецификаций. Его недостатком являетсянеадекватное исследование граничных значений.Предположение об ошибке. Часто программист с большим опытом находит ошибки,«не применяя никаких методов». На самом деле он подсознательно использует метод«предположение об ошибке».Процедура метода предположения об ошибке в значительной степени основана наинтуиции.

Основная его идея заключается в том, чтобы перечислить в некотором спискевозможные ошибки или ситуации, в которых они могут появиться, а затем на основе этогосписка составить тесты. Другими словами, требуется перечислить те особые случаи, которыемогут быть не учтены при проектировании.Проиллюстрируем применение всех рассмотренных выше методов на примере.276Пример 9.1. Пусть необходимо выполнить тестирование программы, определяющейточку пересечения двух прямых на плоскости. При этом она должна определятьпараллельность прямой одной из осей координат.В основе программы лежит решение системы линейных уравнений:Ax + By = C,Dx + Ey = F.По методу эквивалентных разбиений формируем для каждого коэффициента одинправильный класс эквивалентности (коэффициент - вещественное число) и одиннеправильный (коэффициент - не вещественное число).

Откуда генерируем 7 тестов:1) все коэффициенты - вещественные числа (1 тест);2-7) поочередно каждый из коэффициентов - не вещественное число (6 тестов).По методу граничных значений можно считать, что для исходных данных граничныезначения отсутствуют, т. е. коэффициенты - «любые» вещественные числа. Для результатовполучаем, что возможны варианты: единственное решение, прямые сливаются - множестворешений, прямые параллельны - отсутствие решений.

Следовательно, целесообразнопредложить тесты с результатами внутри областей возможных значений результатов:8) результат - единственное решение (δ ≠ 0);9) результат - множество решений (δ = 0 и δx = δу = 0);10) результат - отсутствие решений (δ = 0, но δx ≠ 0 или δу ≠ 0);и с результатами на границе:11) δ = 0,01;12) δ = -0,01;13) δ = 0, δx = 0,01, δy = 0;14) δ = 0, δy = -0,01, δx = 0.По методу анализа причинно-следственных связей определяем множество условий:а) для определения типа прямой:a=0b=0c=0- для определения типа и существования первой прямой;277d=0e=0f=0- для определения типа и существования второй прямой;б) для определения точки пересечения:δ = 0,δx = 0,01,δy = 0.Выделяем три группы причинно-следственных связей (определение типа исуществования первой линии, определение типа и существования второй линии, определениеточки пересечения) и строим таблицы истинности для определения типа первой прямой(табл.

9.1) и для определения результата (табл. 9.2). В обеих таблицах X означаетнеопределенное значение. Для второй прямой таблица истинности будет выглядетьаналогично табл. 9.1.Каждая строка этих таблиц преобразуется в тест. При возможности (с учетомнезависимости групп) берутся данные, соответствующие строкам сразу двух или всех трехтаблиц.278В результате к уже имеющимся тестам добавляются:15-21) проверки всех случаев расположения обеих прямых - 6 тестов по первойпрямой совмещают с 6-ю тестами по второй прямой так, чтобы варианты не совпадали (6тестов);22) проверка несовпадения условия δx = 0 или δy = 0 (в зависимости от того, какойтест был выбран по методу граничных условий) - тест также можно совместить спредыдущими 6-ю тестами.По методу предположения об ошибке добавим тест:23) все коэффициенты - нули.Всего получили 23 теста по всем четырем методам. Для каждого теста передприменением необходимо указать ожидаемый результат.

Характеристики

Тип файла
PDF-файл
Размер
7,85 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Учебник - Технология программирования
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее