русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тестирование МС


Дата добавления: 2013-12-23; просмотров: 1399; Нарушение авторских прав


Тестирование — это процесс исполнения программы, с целью обнаружения ошибок.

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

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

По стадиям различают следующие виды тестирования:

- отладка – проводится в процессе разработки модулей системы и ее сборки;

- итоговое тестирование работоспособности – проводится после полной сборки системы;

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

- эксплуатационное тестирование – проводится при внедрении системы путем установки системы на место эксплуатации и прогон работы системы в течение определенного периода с использованием реальных задач и данных (изготовление изделий необходимого качества с необходимой скоростью из конкретного металла и т.д.).

Стратегически можно подойти к процедуре построения тестов по двум направлениям.

Стратегия “Черного ящика”, тестирование с управлением по данным или по входу/выходу. Такое тестирование имеет целью выяснить обстоятельства, в которых поведение МС не соответствует ее внешним спецификациям.

Стратегия “Белого ящика” позволяет исследовать внутреннюю структуру МС и направлена на исчерпывающее тестирование всех маршрутов программы МС.



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

- количество тестов при сложной МС может превысить возможное время на их реализацию;

- за правильность логики отвечает человек;

- обнаружение ошибок, которые зависят от обрабатываемых данных тоже может быть неполной.

Традиционно объединяют методы “Черного” и “Белого ящика”, при этом руководствуясь рядом принципов.

1. Тест должен включать обязательно две компоненты:

- описание входных данных и объектов;

- описание точного результата.

2. Следует избегать тестирования МС ее автором за исключением процесса отладки.

3. Необходимо досконально изучать результаты применения каждого теста.

4. Тесты для неправильных и не предусмотренных входных данных следует разрабатывать также тщательно как для правильных и предусмотренных; необходимо проверять делает ли программа то, что она должна делать или то, что она не должна делать.

5. Вероятность наличия не обнаруженных ошибок в части МС пропорциональна количеству ошибок уже обнаруженных в этой части.

6. Данный процесс творческий в том смысле, что процесс применения методов тестирования должен быть творческим.

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

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

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

Оценка посредством просмотра служит для проведения квалификационной самооценки специалистов. Это метод оценки анонимной МС в терминах ее общего качества, ремонтопригодности, простоты эксплуатации и ясности.

Проектирование тестов. Стратегии проектирования тестов заключается в том, чтобы попытаться уменьшить полноту тестирования настолько, насколько это возможно. При этом, если ввести ограничения на время, стоимость машинного времени и т.п., то ключевым вопросом тестирования становится: “Какое подмножество всех возможных тестов имеет наивысшую вероятность обнаружения большинства ошибок”.

Традиционно процедура отладки предшествует процедуре тестирования и направлена на обнаружение ошибок осуществляется в два этапа:

1. определяется природа и местонахождение подозреваемой ошибки в программе;

2. ошибка фиксируется и исправляется.

Существуют следующие методы отладки МС :

1 Методы “грубой силы”. Являются довольно неэффективными поскольку не требуют большого влияния и умственных затрат.

- метод и использование распечатки всей памяти;

- отладка в соответствии с общим предположением;

- использование автоматических средств отладки.

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

- определения данных и процессов, имеющих отношение к ошибке, а не всех данных;

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

Процедура структурирования осуществляется по вопросам:

- Что — список общих симптомов ошибки;

- Где — место, в котором эти симптомы обнаружены;

- Когда — содержит все, что известно о времени появления ошибки;

- Какова степень — область распространения и степень вложенности ошибок.

Выдвигается гипотеза или несколько гипотез о причине ошибки с учетом закономерностей, выявленных в структуре симптомов ошибки.

Доказательство гипотезы — путем сравнения ее с первоначальными симптомами ошибки или данными. Она должна полностью объяснять существование этих симптомов.

3 Метод дедукции. Позволяет на основании некоторых общих теорий и предпосылок используя операции исключения и уточнения прийти к определенному заключению, т.е. к обнаружению места ошибки.

Последовательность действий:

-перечисление возможных причин или гипотез (причины не должны полностью объяснять ошибку);

-начинается процесс исключения причин, использование данных для исключения, поиск противоречий, в итоге отсеиваются все причины кроме одной;

-уточнение выбранной гипотезы: для этого привлекаются дополнительные данные и составляются спецификации;

-доказательство выбранной гипотезы, выявление ошибки или исключение выбранной гипотезы и начала процесса снова.

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

5 Метод сознательных ошибок. Специалист сознательно делает сбои в МС и ошибки в программе и тем самым могут обнаружится многие другие ошибки МС.



<== предыдущая лекция | следующая лекция ==>
Изготовление (реализация) МС | Оценка качества МС


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.