Автор работы: Пользователь скрыл имя, 04 Декабря 2010 в 12:05, Не определен
Курсовая работа
Остается еще один вопрос: в какой форме пишутся тесты до тех пор, пока не будет достигнута эта цель? Ответ: они включаются в некоторые из заглушек.
Нисходящий метод
имеет как достоинства, так и
недостатки по сравнению с восходящим.
Самое значительное достоинство
— в том, что этот метод совмещает
тестирование модуля, тестирование сопряжении
и частично тестирование внешних
функций. С этим же связано другое
его достоинство — когда модули
ввода-вывода уже подключены, тесты
можно готовить в удобном виде.
Нисходящий подход выгоден также
в том случае, когда есть сомнения
относительно осуществимости программы
в целом или если в проекте
программы могут оказаться
Преимуществом
нисходящего подхода очень
Нисходящий метод тестирования имеет, к сожалению, некоторые недостатки. Основным из них является тот, что модуль редко тестируется досконально сразу после его подключения. Дело в том, что основательное тестирование некоторых модулей может потребовать крайне изощренных заглушек. Программист часто решает не тратить массу времени на их программирование, а вместо этого пишет простые заглушки и проверяет лишь часть условий в модуле. Он, конечно, собирается вернуться и закончить тестирование рассматриваемого модуля позже, когда уберет заглушки. Такой план тестирования определенно не лучшее решение, поскольку об отложенных условиях часто забывают.
Второй тонкий
недостаток нисходящего подхода
состоит в том, что он может
породить веру в возможность начать
программирование и тестирование верхнего
уровня программы до того, как вся
программа будет полностью
2.1.3. Модифицированный
нисходящий метод
Нисходящий подход имеет еще один существенный недостаток, касающийся полноты тестирования. Предположим, что есть большая программа и где-то ближе к нижнему ее уровню находится модуль, предназначенный для вычисления корней квадратного уравнения. Для заданных входных переменных А, В и С он решает уравнение .
При проектировании
и программировании модуля с такой
функцией всегда следует понимать,
что квадратное уравнение может
иметь как действительные, так
и комплексные корни. Для полной
реализации этой функции необходимо,
чтобы результаты могли быть действительными
или комплексными числами (или, если
дополнительные затраты на нахождение
комплексных корней не оправданы, модуль
должен по крайней мере возвращать
код ошибки в случае, когда входные
коэффициенты задают уравнение с
комплексными корнями). Предположим, что
конкретный контекст, в котором используется
модуль, исключает комплексные корни
(т. е. вызывающие модули никогда не
задают входных параметров, которые
привели бы к комплексным корням).
При строго нисходящем методе иногда
бывает невозможно тестировать модуль
для случая комплексных корней (или
тестировать ошибочные условия)
Эта проблема проявляется в разнообразных формах. Применяя нисходящее тестирование в точном соответствии с предыдущим разделом, часто невозможно тестировать определенные логические условия, например ошибочные ситуации или защитные проверки. Нисходящий метод, кроме того, делает сложной или вообще невозможной проверку исключительных ситуаций в некотором модуле, если программа работает с ним лишь в ограниченном контексте (это означает, что модуль никогда не получит достаточно полный набор входных значений). Даже если тестирование такой ситуации в принципе осуществимо, часто бывает трудно определить, какие именно нужны тесты, если они вводятся в точке программы, удаленной от места проверки соответствующего условия.
Метод, называемый
модифицированным нисходящим подходом,
решает эти проблемы: требуется, чтобы
каждый модуль прошел автономное тестирование
перед подключением к программе.
Хотя это действительно решает все
перечисленные проблемы, здесь требуются
и драйверы, и заглушки для каждого
модуля.
2.1.4. Метод большого
скачка.
Вероятно, самый распространенный подход к интеграции модулей — метод «большого скачка». В соответствии с этим методом каждый модуль тестируется автономно. По окончании тестирования модулей они интегрируются в систему все сразу.
Метод большого
скачка по сравнению с другими
подходами имеет много
И все же большой
скачок не всегда нежелателен. Если программа
мала и хорошо спроектирована, он
может оказаться приемлемым. Однако
для крупных программ метод большого
скачка обычно губителен.
2.1.5. Бета - тестирование программного обеспечения.
Другой способ
проверки, - бета-тестирование. В этом случае
разработчики программного обеспечения
разрешают пользователям попробовать
предварительные версии продуктов. Однако
большинство разработчиков, с утверждают,
что внешние бета-тестеры не выявляют
такого большого количества ошибок.
Качественный
и эффективный результат можно
гарантировать лишь только при ответственном
и детальном исполнение каждого
из приведенных этапов.
3. Немного из теории справочных систем
3.1. Описание.
Справочная система программы, или попросту
файл справки, предназначен для предоставлению
пользователю программы полной и исчерпывающей
информации, о том как работать с программой
и для чего данный программный продукт
нужен. Справочная система должна удовлетворять
следующим требованиям:
Давать полное описание по вопросам использования программы.
Иметь графические материалы по вопросам использования программы.
Быть доступной для вызова из любой формы программы.
Иметь контекстные описания и удобную систему поиска информации.
Иметь минимально возможный размер.
Справочная система
Тестирование
и принятие в эксплуатацию
Чтобы выявить
все возможные недоработки в
программном обеспечении и
Когда тестирование
успешно завершено, в правилах следует
зафиксировать, что необходимо разработать
методику проведения инсталляции нового
программного обеспечения. Не имеет
значения, доработанное ли это программное
обеспечение или оно является
абсолютно новой разработкой: в
методике необходимо предусмотреть
оповещение пользователей программного
обеспечения о проведении инсталляции,
рабочую документацию и способ проведения
повторной инсталляции в случае
возникновения каких-либо проблем. Все
эти вопросы можно выразить в трех коротких
формулировках правил.
Принятое после завершения тестирования программное обеспечение должно быть снабжено методикой инсталляции в реальную систему. В методику следует включить процедуры по выгрузке из системы программного обеспечения, если это необходимо.
Инсталляция не
должна проводиться без
Принятое в
эксплуатацию программное обеспечение
не должно инсталлироваться без соответствующей
рабочей документации.
Требования к
документации
Наличие документации
— это не требование обеспечения
безопасности. Документация необходима
для понимания персоналом того, каким
образом эксплуатировать
В документацию
на систему должна входить не только
пользовательская документация. В соответствии
с требованиями разработчикам следует
представить документацию на весь проект,
на каждый программный модуль и их
интерфейсы. Таким образом можно
избежать дублирования в работе, а
также задокументировать
Процесс разработки
программного обеспечения должен включать
разработку пользовательской и технической
документации, в которой описано,
как функционирует программное
обеспечение, как им управлять, его
входные и выходные данные, интерфейсы
с системой и другие компоненты,
а также используемые средства обеспечения
безопасности.
Внедрение и
сопровождение разработанной
Во время внедрения
ПО продолжается улучшаться интерфейс,
в редких случаях выявляются ошибки.
После того, как принято решение
о том, что программный комплекс
успешно внедрен осуществляется
сопровождение. Во время сопровождения
Компания, занимающаяся разработкой
программ, своевременно усовершенствует
программный продукт, обновляя его
в соответствии с актуальными
требованиями рынка и производства.
Согласованная
работа на всех этапах – залог успеха
программного продукта. Грамотно составленное
техническое задание, обеспечивающее
специалиста необходимой для
работы информацией, повышает эффективность
работы в несколько раз. Иммено поэтому,
очень важно чтобы каждый из этапов выполнялся
профессиональными разработчиками. Профессионализм
исполнителей - залог успешной реализации
задуманного проекта.
Замена версий и управление конфигурацией
Как было описано
в предыдущих разделах, после проведенного
тестирования и сдачи программного
обеспечения в эксплуатацию может
появиться необходимость