Название: Информатика и программирование(М. Г. Зайцев ,В. М. Неделько)

Жанр: Информатика

Просмотров: 1241


Тестирование программы

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

Е-схеме выполнения программы, полученной из блок-схемы.

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

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

Набор тестов для тестирования разработанной программы представлен в таблице.

 

Номер теста

Исходные данные

Ожидаемый

результат

Путь прохождения

1

n = 0

fac = 1

Цикл не выполняется

2

n = 3

fac = 6

Цикл выполняется два раза

Пример решения задачи № 2

Условие

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

Решение

Организуем вычисление двоичного представления неотрицательного целого числа n с помощью управляющей структуры WHILEDO. Для нахождения значения разрядов двоичного представления неотрицательного десятичного целого числа n необходимо это число делить на основание системы счисления (p = 2) и брать в качестве значения текущего двоичного разряда остаток от деления; частное от деления заносится в n и берётся в качестве делимого для следующего шага. Очевидно, что при n = 0 и n = 1 цикл не надо выполнять ни разу. Потому, что 0 и 1 – двоичные цифры. Поэтому условием выполнения цикла будет утверждение: n > p – 1.  В теле  цикла  (в do-части)  каждый раз будем формировать значение текущего двоичного разряда b = n mod p, делимого n = n div p для следующего шага, и выводить значение текущего двоичного разряда b. Значение старшего разряда будет последним частным от деления, которое будет содержаться в n после выхода из цикла. При описании этой последовательности действий с помощью управляющей структуры WHILEDO получим алгоритм, блок-схема которого представлена на рисунке ниже.

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

 

program PIntTransfer;

 

{$APPTYPE CONSOLE}

 

uses

  SysUtils;

var

  n: integer;//десятичное целое без знака

  b: cardinal;//значение текущего двоичного разряда

  p: integer = 2;//основание системы счисления

begin

  write('n = ');

  readln(n);

  while n > p - 1 do

    begin

      b:= n mod p;

      n:= n div p;

      write(b);

    end;

  write(n);

  readln;

end.

 

Тестирование программы

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

Е-схеме выполнения программы, полученной из блок-схемы.

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

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

Набор тестов для тестирования разработанной программы представлен в таблице.

Номер теста

Исходные данные

Ожидаемый

результат

Путь прохождения

1

n = 0

0

Цикл не выполняется

1

n = 1

1

Цикл не выполняется

2

n = 8

0001

Цикл выполняется три раза