Три фазы тестирования

Реализация тестирования разделяется на три этапа:

  • Создание тестового набора (testsuite) путем ручной разработки или автоматической генерации для конкретной среды тестирования (testingenvironment).
  • Прогон программы на тестах, управляемый тестовым монитором (testmonitor, testdriver [IEEE Std 829-1983]) с получением протокола результатов тестирования (testlog).
  • Оценка результатов выполнения программы на наборе тестов с целью принятия решения о продолжении или остановке тестирования.

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

Простой пример

Рассмотрим вопросы тестирования на примере простой программы на языке С#. Текст этой программы и некоторых других несколько видоизменен с целью сделать иллюстрацию описываемых фактов более прозрачной.

/* Функция вычисляет неотрицательную

степень n числа x */

1 double Power(double x, int n){

2 double z=1; inti;

3 for (i=1;

4 n>=i;

5 i++)

6 {z = z*x;} /* Возврат в п.4 */

7 return z;}

2.6. Пример простой программы на языке С#

/* Функция вычисляет неотрицательную

степень n числа x */

1 double Power(double x, int n){

2 double z=1; inti;

3 for (i=1;

4 n>=i;

5 i++)

6 {z = z*x;} /* Возврат в п.4 */

7 return z;}

2.6.1. Пример простой программы на языке С

 


Управляющий граф программы (УГП) отображает поток управления программы. Нумерация узлов графа совпадает с нумерацией строк программы. Узлы 1 и 2 не включаются в УГП, поскольку отображают строки описаний, т.е. не содержат управляющих операторов.


Управляющий граф программы

Управляющий граф программы (УГП) – граф G(V,A), где V(V1,… Vm) – множество вершин (операторов), A(A1,… An) – множество дуг (управлений), соединяющих операторы-вершины.

Путь – последовательность вершин и дуг УГП, в которой любая дуга выходит из вершины Vi и приходит в вершину Vj, например: (3,4,7), (3,4,5,6,4,5,6), (3,4), (3,4,5,6)

Ветвь – путь (V1, V2, … Vk), где V1 - либо первый, либо условный оператор программы, Vk - либо условный оператор, либо оператор выхода из программы, а все остальные операторы – безусловные, например: (3,4) (4,5,6,4) (4,7). Пути, различающиеся хотя бы числом прохождений цикла – разные пути, поэтому число путей в программе может быть не ограничено. Ветви - линейные участки программы, их конечноe число.

Существуют реализуемые и нереализуемые пути в программе, в нереализуемые пути в обычных условиях попасть нельзя.

 

Тема: Диагностика неисправностей средств сетевых коммуникаций

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

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

Аппаратно-программный комплекс часто состоит из отдельных АПС, которые и могут быть протестированы автономно, соответствующими тест-программами в рамках самой АПС.

Функциональный контроль АПС

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

Если говорить об АПС типа персональный компьютер, то программы комплексного тестирования для них практически отсутствуют, т. к. разработка подобных программ, в общем случае, невозможна. АПС, используя одно и то же вычислительное ядро (системную плату), могут иметь самую различную аппаратную конфигурацию в зависимости от задач, на которые они ориентированы. Поэтому, для функционального контроля РС используются тест-программы общего применения, такие как рассмотренные выше CheckIt, NDiags, Sandra и т. п.

Контроль и диагностика компонент системной платы

Системные платы РС, в зависимости от их модификаций, могут содержать либо только собственно вычислитель (CPU с его системной обвеской, оперативную память и систему шин со своими контроллерами и формирователями), либо дополнительно – некоторые из контроллеров периферийных устройств (НЖМД, видеоконтроллер, коммуникационные порты, аудиоконтроллер, сетевые средства межкомпьютерной связи и т. д.). Это нужно иметь в виду и, когда разговор пойдет о контроле и диагностике системной платы, то будет подразумеваться системная плата минимальной конфигурации, без интегрированных в нее контроллеров периферийных устройств.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: