Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 28.11.2007 | Доступ: свободный | Студентов: 5143 / 801 | Оценка: 4.53 / 3.65 | Длительность: 22:18:00
ISBN: 978-5-94774-825-3
Специальности: Программист, Тестировщик
Лекция 4:

Тестирование программного кода (покрытия)

6.2. Оценка качества тестируемого кода - статистика выполнения тестов

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

Каждый непройденный тест потенциально указывает на потенциальный дефект в тестируемой системе, а общее их количество позволяет оценивать качество тестируемого программного кода и объем изменений, которые необходимо в него внести для устранения дефектов.

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

  • Вывод количества пройденных и количества не пройденных тестовых примеров, а также их общего количества.

    Например,

    180 test cases passed
    20 test cases failed
    200 test cases total
  • 1 + вывод идентификаторов не прошедших тестовых примеров. Позволяет локализовать тестовые примеры, потенциально выявившие дефект.

    Например,

    Invoking test case 1 … Passed
    Invoking test case 2 … Failed
    Invoking test case 3 … Failed
    <…>
    Invoking test case 200 … Passed
    
    Final stats:
    180 test cases passed
    20 test cases failed
    200 test cases total
  • 2 + вывод не совпавших ожидаемых и реальных выходных данных. Позволяет проводить более глубокий анализ причин неуспешного прохождения тестового примера.

    Например,

    Invoking test case 1 … Passed
    ---
    Invoking test case 2 … Failed
    Expected values:      Actual values:
      A = 200        A = 0
      B = 450        B = 0
      Message = "Submenu 1"    Message = ""
    ---
    Invoking test case 3 … Failed
    Expected values:      Actual values:
      A = 0          A = 200
      B = 0          B = 300
      Message = ""      Message = "Main Menu"
    ---
    <…>
    Invoking test case 200 … Passed
    ---
    
    Final Stats
    180 test cases passed
    20 test cases failed
    200 test cases total
  • 2 + вывод всех ожидаемых и реальных выходных данных. Вариант предыдущего пункта.

    Например,

    Invoking test case 1 … Passed
    ---
    Invoking test case 2 … Failed
    Expected values:      Actual values:
      A = 200        A = 0        FAIL
      B = 450        B = 0        FAIL
      C = 500        C = 500        P
      D = 600        D = 600        P
      Message = "Submenu 1"    Message = ""      FAIL
    ---
    Invoking test case 3 … Failed
    Expected values:      Actual values:
      A = 0        A = 200        FAIL
      B = 0        B = 300        FAIL
      C = 500        C = 500        P
      D = 600        D = 600        P
      Message = ""      Message = "Main Menu"    FAIL
    ---
    <…>
    Invoking test case 200 … Passed
    ---
    
    Final Stats
    180 test cases passed
    20 test cases failed
    200 test cases total
  • Полный вывод ожидаемых и реальных выходных данных с отметками о совпадении и несовпадении и отметками об успешном/неуспешном завершении для каждого тестового примера.

    Например,

    Invoking test case 1 … Passed
      A = 0        A = 0      P
      B = 0        B = 0      P
      C = 500        C = 500      P
      D = 600        D = 600      P
      Message = ""      Message = ""    P
    ---
    Invoking test case 2 … Failed
    Expected values:      Actual values:
      A = 200        A = 0      FAIL
      B = 450        B = 0      FAIL
      C = 500        C = 500      P
      D = 600        D = 600      P
      Message = "Submenu 1"    Message = ""    FAIL
    ---
    Invoking test case 3 … Failed
    Expected values:      Actual values:
      A = 0        A = 200      FAIL
      B = 0        B = 300      FAIL
      C = 500        C = 500      P
      D = 600        D = 600      P
      Message = ""      Message = "Main Menu"  FAIL
    ---
    <…>
    Invoking test case 200 … Passed
      Message = "Submenu 1"    Message = "Submenu 1  P
      Prompt  = ">"      Prompt = ">"    P
    ---
    Final Stats
    180 test cases passed
    20 test cases failed
    200 test cases total

Более детально различные форматы отчетов о тестировании будут рассмотрены позднее, а пока остановимся более подробно на важном критерии оценки качества системы тестов и степени полноты тестирования системы - уровне покрытия программного кода тестами.

Илья Макаренко
Илья Макаренко

Добрый день.

Вопрос №1

Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте?

Вопрос №2

Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже?

Александр Медов
Александр Медов

Здравствуйте, какова полная сумма предоставленной услуги с печатью документа и отправкой по почте?