Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Автоматизация тестирования и отладки




Система автоматизации тестирования и отладки (САТО) пред­ставляет собой сложный комплекс алгоритмических и программных средств, предназначенных для автоматизации анализа АСУП, тес­тирования, отладки и оценки ее качества, и позволяет облегчить модификацию компонент АСУП, обеспечить выявление ошибок на ранних стадиях отладки, повысить процент автоматически обнару­живаемых ошибок. На рис. 23 показано, как использование САТО влияет на цену обнаружения ошибок в течение жизненного цикла АСУП. АСУП становится «работоспособной», когда цена обнару­женной ошибки меньше некоторого значения д, которое отражает уровень терпимости пользователя к программным ошибкам. Число имеющихся ошибок (область под кривой) одно и то же в обоих случаях. Отметим, что число обнаруженных ошибок после того, как АСУП становится работоспособной, почти постоянно по следую­щим причинам:

1) влияние эффекта «ряби» — исправление ошибки служит ис­точником внесения новых ошибок (практика показывает, что такие ошибки составляют 19% всех обнаруженных ошибок);

2) практически для всех АСУП лишь небольшая ее часть интен­сивно эксплуатируется, все остальные функции выполняются от случая к случаю, поэтому ошибки в них могут быть обна­ружены значительно позже при удовлетворении некоторых специальных условий.

САТО значительно сокращает количество ошибок, возникаю­щих по вышеперечисленным причинам за счет предсказания влия­ния модификации, которые будут содержать эффект «ряби», а так­же за счет генерации и оценки тестов для тщательного и системати­ческого тестирования АСУП

I - кривая тестирования с использованием САТО,

II - кривая тестирования без использования САТО.

 

 

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

Средства автоматизации, включаемые в САТО, в зависимости от решаемых ими задач разбиваются на средства автоматизации тести­рования и средства автоматизации отладки.

Средства автоматизации тестирования в соответствии с этапами процесса тестирования классифицируются на следующие пять типов: 1) генераторы тестовых данных (ГТД), способные генерировать большие объемы тестовых данных на основании задаваемых форма­тов и допустимых диапазонов значений входной информации. При этом часто требуется выделить из множества тестовых данных при­емлемое их подмножество. Обычно это осуществляется путем пере­вода ГТД в режим генерации случайных тестовых данных в пределах некоторого диапазона значений или путем выбора тестовых дан­ных, распределенных с равными интервалами по всему диапазону возможных значений. Имеется и другой тип ГТД, строящих так на­зываемые полные системы тестовых данных, позволяющие АСУП проверить все свои ветви или удовлетворяющие в той или иной сте­пени другим критериям тестирования;

2) средства автоматизированного контроля результатов, пред­назначенные для автоматического сравнения ожидаемых результа­тов с реальными и выдачи информации о всех расхождениях. Иног­да удается автоматизировать и получение ожидаемых результатов, однако соответствующие средства не будут являться универсальны­ми по отношению к тестируемым объектам;

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

4) средства автоматизированного контроля тестирования, позво­ляющие оценить, насколько полная и тщательная проверка АСУП была осуществлена, например на основе информации о непрове­ренных операторах/функциях, непроверенных маршрутах и т. п.;

5) средства автоматизации повторного тестирования, включаю­щие в себя средства сохранения результатов, средства сравнения и визуализации всех расхождений.

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

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

Средства статического анализа классифицируются следующим образом:

1) средства анализа потоков управления, осуществляющие кон­троль структуры АСУП в целом, а также отдельных ее конструкций на основе графовой модели. Средства данного типа позволяют авто­матически обнаружить следующие изъяны: невыполняемые опера­торы/функции, тупиковые ветви, некоторые виды бесконечных циклов и др.;

2) средства контроля операций над данными, предназначенные для обнаружения и локализации ошибок, связанных с особеннос­тями конкретного языка программирования и его реализации (на­пример, выход за пределы разрядной сетки значения константы, использование служебных слов языка в качестве имен, использова­ние в отношении равенства вещественных переменных). Обычно такой контроль осуществляется по исходным текстам;

3) средства анализа потоков данных, используемые для обнару­жения ошибок в потоках данных, связанные с нарушениями после­довательности операций над информационными объектами (преж­де всего операций чтения и записи). Анализ осуществляется по гра­фовой модели, при этом обнаруживаются неинициализированные данные, неиспользуемые данные, ошибки в написании имен и т. п.;

4) средства контроля межмодульных интерфейсов, обнаружива­ющие некорректные межмодульные взаимодействия, например, несоответствие типов и числа фактических и формальных парамет­ров при вызове модуля;

5) средства обнаружения возможных источников побочных эф­фектов, позволяющие получать информацию об изменении в теле функции/процедуры/модуля значений параметров вызова, в теле цикла значений управляющих переменных и т. п. для дальнейшего анализа вручную;

6) средства для контроля последовательности событий, произ­водящие сравнение этой последовательности с правильной, зара­нее заданной последовательностью (например, при работе с фай­лом должна соблюдаться следующая последовательность: создание, открытие, совокупность чтений/записей, закрытие).

Основным недостатком средств статического анализа является то, что они обеспечивают обнаружение лишь частных, специальных слу­чаев семантических ошибок (как правило, проявляющих себя в пери­од выполнения). К достоинствам статического анализа следует отнес­ти возможность контроля выбранного по заданным критериям мно­жества маршрутов потенциального выполнения программы.

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

Средства частичной автоматизации позволяют пользователю ав­томатически получать необходимую ему информацию для дальней­шей локализации ошибок вручную. Среди таких средств наиболее распространены DDT (Dinamic Debugging Tools) — «системы для уничтожения блох«(слово «bug» в английском языке означает не только «ошибка», но и»блоха», а ДДТ — популярное в недавнее время средство борьбы с насекомыми). Управление системой DDT и, соответственно, управление отладкой осуществляются посред­ством языка отладки командного типа, его операторы имеют форму приказов (команд), состоящих из ключевого слова и списка опе­рандов, если последние необходимы. Операторы языка отладки обес­печивают взаимодействие программиста с DDT и инициируют вы­полнение соответствующих отладочных функций, согласно которым они могут быть разбиты на следующие группы:

1) управляющие операторы, обеспечивающие управление вы­полнением АСУП в отладочном режиме, а также гибкий контроль исполнения информирующих и контролирующих операторов;

2) информирующие операторы, обеспечивающие сбор статис­тической информации периода выполнения и поддерживающие ап­парат трассировок различного вида (слежение, трассировка по точ­кам ветвления, трассировка по условиям чтения/записи значений, отслеживание частот прохождения через определенные секции кода и др.);

3) контролирующие операторы, осуществляющие контроль зна­чений переменных, маршрутов и т. п. на предмет сравнения с зара­нее заданными;

4) операторы чтения/записи, дающие возможность форматного ввода тестовых данных и вывода результатов в протокол сеанса от­ладки в терминах исходного языка программирования;

5) служебные операторы, обеспечивающие загрузку отлаживае­мых программных и информационных компонент АСУП, переклю­чение режимов (пакет, диалог), ввод в протокол сеанса отладки комментариев и т. д.

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






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных