Cтраница 3
Этап, на котором определяются подробности этапа реализации. Результатом этого этапа является план, определяющий порядок и способ программирования и тестирования модулей. [31]
![]() |
Структура загрузчика. [32] |
Затем тестируются модули, непосредственно вызывающие уже проверенные Эти модули более высокого уровня тестируются не автономно а вместе с уже проверенными модулями более низкого уровня. Процесс повторяется до тех пор, пока не будет достигнута вершина Здесь завершаются и тестирование модулей, и тестирование сопряжений программы. [33]
Основное средство взаимодействия с пользователем - язык MIL-S, служащий для описания входных данных и ожидаемых результатов каждого теста. Программист начинает с представления своих тестов на языке MIL-S и запоминания их в базе данных. Для тестирования модуля MATCHES он затем напечатает на терминале AUT MATCHES, после чего AUT выбирает каждый тест на MIL-S для MATCHES, компилирует тест и вызывает модуль. Когда выполнение модуля заканчивается, ожидаемые результаты сравниваются с действительными и пользователь оповещается обо всех расхождениях. [34]
Вероятно, самый распространенный подход к интеграции модулей - метод большого скачка. В соответствии с этим методом каждый модуль тестируется автономно. По окончании тестирования модулей они интегрируются в систему все сразу. [35]
Прежде всего нужно решить, как обеспечить функционирование операций ввода-вывода - ключевой вопрос при выборе последовательности сборки модулей. В программе загрузчика, изображенной на рис. 10.5, входные данные читаются модулями D и Е, а выходные данные вырабатываются модулем С. Все начинается с программирования и тестирования модуля А. Модуль А на самом деле мал, он просто последовательно вызывает три других модуля и может также добавить одно или несколько сообщений в список сообщений об ошибках, если таковые обнаружит модуль G. Для тестирования модуля А должно быть написано три заглушки. [36]
Блснил неходкого TCKCTG необходимо подготовить контрольные тесты и проверить правильность внесенных исправлений на этих тестах. Любое исправление программы нуждается в тестировании. Если ошибка была обнаружена после тестирования модуля, необходимо для откорректированного модуля повторно выполнить все имеющиеся тесты. [37]
Таким образом, тестирование программ одиночного модуля позволяет узнать о наличии ошибок, а отладка призвана определить причину этих ошибок. Поэтому отладка и тестирование представляют собой две различные частично перекрываемые стадии контроля. В этой связи затраты времени на тестирование должны быть разделены на отладку и собственно тестирование одиночного модуля с тем, чтобы подчеркнуть, что обе стадии нуждаются в выполнении. [38]
Дело, однако, обстоит не так; в действительности в отношении программирования часто справедливо замечание, что здесь. В этом и следующих разделах описываются некоторые попытки двигаться в правильном направлении - программные инструменты, помогающие в работе по тестированию модулей. [39]
![]() |
Диаграмма PERT для нисходящего тестирования. [40] |
При восходящем тестировании для каждого модуля необходим драйвер: нужно подавать тесты в соответствии с сопряжением тестируемого модуля. Тестовые данные представляются как встроенные непосредственно в эту программу переменные и структуры данных, и она многократно вызывает тестируемый модуль, с каждым вызовом передавая ему новые тестовые данные. Имеется и лучшее решение: воспользоваться программой тестирования модулей - это инструмент тестирования, позволяющий описывать тесты на специальном языке и избавляющий от необходимости писать драйверы. [41]
Для выявления нереализуемых маршрутов в формально построенном графе программы каждый из них должен быть проанализирован на наличие подобных пар несовместимых условий. Такой анализ относительно просто выполнить для условий первого вида, которые, однако, не так часто встречаются. Наиболее важный вид неявных несовместимых условий формально проанализировать невозможно без привлечения описаний всех связей между переменными. Это затрудняет формализованное выделение нереализуемых маршрутов и оценку влияния несовместимости условий на снижение сложности тестирования модулей. Особенно быстро возрастают трудности при попытке формального выделения нереализуемых маршрутов в группах программ, состоящих из многих модулей. [42]
Во время осуществления проекта он прослеживает продвижение по плану и расход ресурсов, давая руководителю более наглядное представление о состоянии проекта. IMPACT используется также для запросов к базе данных управления проектом в терминах описанных выше отношений и для ответов на более простые вопросы, касающиеся размеров модуля, числа его компиляций, числа выявленных в нем ошибок или состояния тестирования модуля. [43]
Прежде всего нужно решить, как обеспечить функционирование операций ввода-вывода - ключевой вопрос при выборе последовательности сборки модулей. В программе загрузчика, изображенной на рис. 10.5, входные данные читаются модулями D и Е, а выходные данные вырабатываются модулем С. Все начинается с программирования и тестирования модуля А. Модуль А на самом деле мал, он просто последовательно вызывает три других модуля и может также добавить одно или несколько сообщений в список сообщений об ошибках, если таковые обнаружит модуль G. Для тестирования модуля А должно быть написано три заглушки. [44]
Наименования подлежащих проверке модулей и контролируемые параметры сведены в таблицу исходных данных, подстыкованную к программе. В таблице зарезервировано место для расширения числа модулей, подлежащих проверке. Это позволяет использовать разработанное тестовое программное обеспечение для различных конфигураций комплексов. Процесс тестирования комплекса отображается на экране видеоконтрольного устройства. Перед тестированием модулей осуществляется самоконтроль модуля дисплейного адаптера и видеоконтрольного устройства в символьном и графическом режимах. Тестирование начинается автоматически сразу после включения источника питания комплекса. По окончании тестирования комплекса на экране видеоконтрольного устройства формируется сводная таблица результатов проверки модулей. Программа тестирования хранится в модуле ЭППЗУ ( Электроника С5 - 2113) и занимает объем 3 К слов. [45]