Главная » Просмотр файлов » Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения

Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (1015641), страница 13

Файл №1015641 Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения) 13 страницаКалайда В.Т., Романенко В.В. Технология разработки программного обеспечения (1015641) страница 132017-06-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Большинство руководителей проектов называюттестовый прогон неудачным, если обнаружена ошибка, и, наоборот, удачным, если он прошел без ошибок. Чаще всего этоявляется следствием ошибочного понимания термина «тестирование», так как, по существу, слово «удачный» означает «результативный», а слово «неудачный» — «нежелательный», «нерезультативный». Но если тест не обнаружил ошибки, его выполнение связано с потерей времени и денег, и термин «удачный» никак не может быть применен к нему.87Тестовый прогон, приведший к обнаружению ошибки, нельзя назвать неудачным хотя бы потому, что, как отмечалосьвыше, это целесообразное вложение капитала. Отсюда следует,что в слова «удачный» и «неудачный» необходимо вкладыватьсмысл, обратный общепринятому.

Поэтому в дальнейшем будем называть тестовый прогон удачным, если в процессе еговыполнения обнаружена ошибка, и «неудачным», если — корректный результат.Проведем аналогию с посещением больным врача. Еслирекомендованное врачом лабораторное исследование не обнаружило причины болезни, не назовем же мы такое исследование удачным — оно неудачно: ведь деньги пациент заплатил, аон все так же болен. Если же исследование показало, что убольного язва желудка, то оно является удачным, посколькуврач может прописать необходимый курс лечения. Следовательно, медики используют эти термины в нужном нам смысле(аналогия здесь, конечно, заключается в том, что программа,которую предстоит тестировать, подобна больному пациенту).Определения типа «тестирование представляет собой процесс демонстрации отсутствия ошибок» порождают еще однупроблему: они ставят цель, которая не может быть достигнутани для одной программы, даже весьма тривиальной.

Результатыпсихологических исследований показывают, что если перед человеком ставится невыполнимая задача, то он работает хуже.Иными словами, определение тестирования как процесса обнаружения ошибок переводит его в разряд решаемых задач и, таким образом, преодолевается психологическая трудность.Другая проблема возникает в том случае, когда для тестирования используется следующее определение:«Тестирование — это процесс, позволяющий убедиться втом, что программа выполняет свое назначение», поскольку программа, удовлетворяющая данному определению, может содержать ошибки. Если программа не делает того, что от нее требуется, то ясно, что она содержит ошибки. Однако ошибки могутбыть и тогда, когда она делает, и что от нее не требуется.Подводя итог, можно сказать, что тестирование представляется деструктивным процессом попыток обнаружения ошибок в программе (наличие которых предполагается).

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

Допустим, кто-то обращается к вам с заявлением: «Моя программа великолепна» (т.е. не содержит ошибок).Лучший способ доказать справедливость подобного утверждения — попытаться его опровергнуть, обнаружить неточности,нежели просто согласиться с тем, что программа на определенном наборе входных данных работает корректно.6.2 Экономика тестированияДав такое определение тестированию, необходимо на следующем шаге рассмотреть возможность создания теста, обнаруживающего все ошибки программы.

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

Поэтому для тестирования даже небольшой программытребуется бесконечное число тестов. Как пример можно приве-89сти задачу о треугольниках. Даны три числа — A, B и C. Требуется определить, могут ли эти числа являться длинами сторонтреугольника, и если да, то является ли этот треугольник прямоугольным, равнобедренным или равносторонним.

Очевидно,что если A, B и C являются вещественными числами, то имеется бесконечное количество комбинаций их значений.Если такое испытание представляется сложным, то ещесложнее создать исчерпывающий тест для большой программы.Образно говоря, число тестов можно оценить «числом,большим, чем бесконечность».Из изложенного следует, что построение исчерпывающего входного теста невозможно. Это подтверждается двумя аргументами: во-первых, нельзя создать тест, гарантирующий отсутствие ошибок; во-вторых, разработка таких тестов противоречит экономическим требованиям.

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

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

Одиниз них состоит в том, что число не повторяющих друг другамаршрутов в программе — астрономическое. Чтобы убедитьсяв этом, рассмотрим представленный на рис. 6.1 граф передачуправления простейшей программы. Каждая вершина или кружок обозначают участок программы, содержащий последовательность линейных операторов, которая может заканчиватьсяоператором ветвления. Дуги, оканчивающиеся стрелками, соответствуют передачам управления. По-видимому, граф описывает программу из 10–20 операторов, включая цикл DO, которыйисполняется не менее 20 раз. Внутри цикла имеется несколькооператоров IF. Для того, чтобы определять число неповторяющихся маршрутов при исполнении программы, подсчитаем число неповторяющихся маршрутов из точки A в B в предположении, что все приказы взаимно независимы.

Это число вычисляется как сумма 520 + 519 + … + 51 = 100 триллионов, где5— число путей внутри цикла. Приведем такой пример: если допустить, что на составление каждого теста мы тратим пять минут, то для построения набора тестов нам потребуется примерно один миллиард лет.91A≤ 20разBРис. 6.1 — Граф передач управления небольшой программыВторой слабый пункт утверждения заключается в том,что, хотя исчерпывающее тестирование маршрутов являетсяполным тестом и хотя каждый маршрут программы может бытьпроверен, сама программа может содержать ошибки. Это объясняется следующим образом.

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

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

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