Интернет Университет информационных технологий Твой путь к знаниям
  Искать!
Курсы | Обучение | Школа | Магазин | Общение | Новости | Помощь

поддержка курса Основы тестирования программного обеспечения
информация [+] Автор: В.П. Котляров | ISBN: 978-5-9556-0027-2


 
 
 
Дополнительные материалы:
 
 
2. Лекция: Основные понятия тестирования
Страницы: 1 | 2 | 3 | 4 | вопросы | » для печати и PDA
Если Вы заметили ошибку - сообщите нам или выделите ее и нажмите Ctrl+Enter
Рассмотрены подходы к обоснованию истинности формул и программ и их связь с тестированием. Представлены на конкретных примерах понятия отладки и тестирования. Рассмотрены вопросы организации тестирования. На примерах пояснены методы поиска ошибок и процедура тестирования. Рассмотрены фазы тестирования, основные проблемы тестирования и поставлена задача выбора конечного набора тестов.

Концепция тестирования

Программа – это аналог формулы в обычной математике.

Формула для функции f, полученной суперпозицией функций f1, f2, ... fn – выражение, описывающее эту суперпозицию.

f = f1* f2* f3*... * fn

Если аналог f1,f2,... fn – операторы языка программирования, то их формула – программа.

Существует два метода обоснования истинности формул:

  1. Формальный подход или доказательство применяется, когда из исходных формул-аксиом с помощью формальных процедур (правил вывода) выводятся искомые формулы и утверждения (теоремы). Вывод осуществляется путем перехода от одних формул к другим по строгим правилам, которые позволяют свести процедуру перехода от формулы к формуле к последовательности текстовых подстановок:
    A**3 = A*A*A
    A*A*A = A -> R, A*R -> R, A*R -> R
    Преимущество формального подхода заключается в том, что с его помощью удается избегать обращений к бесконечной области значений и на каждом шаге доказательства оперировать только конечным множеством символов.
  2. Интерпретационный подход применяется, когда осуществляется подстановка констант в формулы, а затем интерпретация формул как осмысленных утверждений в элементах множеств конкретных значений. Истинность интерпретируемых формул проверяется на конечных множествах возможных значений. Сложность подхода состоит в том, что на конечных множествах комбинации возможных значений для реализации исчерпывающей проверки могут оказаться достаточно велики.

    Интерпретационный подход используется при экспериментальной проверке соответствия программы своей спецификации

    Применение интерпретационного подхода в форме экспериментов над исполняемой программой составляет суть отладки и тестирования.

Основная терминология

Отладка (debug, debugging) – процесс поиска, локализации и исправления ошибок в программе [9] [IEEE Std.610-12.1990].

Термин " отладка " в отечественной литературе используется двояко: для обозначения активности по поиску ошибок (собственно тестирование ), по нахождению причин их появления и исправлению, или активности по локализации и исправлению ошибок.

Тестирование обеспечивает выявление (констатацию наличия) фактов расхождений с требованиями (ошибок).

Как правило, на фазе тестирования осуществляется и исправление идентифицированных ошибок, включающее локализацию ошибок, нахождение причин ошибок и соответствующую корректировку программы тестируемого приложения (Application Under Testing (AUT) или Implementation Under Testing (IUT)).

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

Пример поиска и исправления ошибки

Отладка обеспечивает локализацию ошибок, поиск причин ошибок и соответствующую корректировку программы (Пример 2.1, Пример 2.2).

// Метод вычисляет неотрицательную
// степень n числа x
static public double Power(double x, int n)
{
  double z=1; 
  
  for (int i=1;n>=i;i++)
  {
    z = z*x;
  }
  return z;
}
Пример 2.1. Исходный текст метода Power (html, txt)
double Power(double x,int n)
{
  double z=1;
  int i;
  for(i=1;n>=i;i++)
  {
    z=z*x;
  }
  return z;
}
Пример 2.1.1. Исходный текст метода Power (html, txt)

Если вызвать метод Power с отрицательным значением степени n Power(2,-1), то получим некорректный результат -2. Исправим метод так, чтобы ошибочное значение параметра (недопустимое по спецификации значение) идентифицировалось специальным сообщением, а возвращаемый результат был равен 1 (Пример 2.2).

//  Метод вычисляет неотрицательную
//  степень n числа x
static public double PowerNonNeg(double x,
                                 int n)
{
double z=1; 
  if (n>0)
  {
    for (int i=1;n>=i;i++)
    {
      z = z*x;
    }
  }
  else Console.WriteLine(
    "Ошибка ! Степень числа n" +
    " должна быть больше 0.");
  return z;
}
Пример 2.2. Скорректированный исходный текст (html, txt)
double PowerNonNeg(double x, int n)
{
  double z=1;
  int i;
  if (n>0)
  {
    for (i=1;n>=i;i++)
    {
      z = z*x;
    }
  }
  else printf("Ошибка! Степень числа n должна быть больше 0.\n");
  return z;
}
Пример 2.2.1. Скорректированный исходный текст (html, txt)

Если вызвать скорректированный метод PowerNonNeg(2,-1) с отрицательным значением параметра степени, то сообщение об ошибке будет выдано автоматически.

Тестирование разделяют на статическое и динамическое:

Статическое тестирование выявляет формальными методами анализа без выполнения тестируемой программы неверные конструкции или неверные отношения объектов программы (ошибки формального задания) с помощью специальных инструментов контроля кода – CodeChecker.

Динамическое тестирование (собственно тестирование ) осуществляет выявление ошибок только на выполняющейся программе с помощью специальных инструментов автоматизации тестирования – Testbed [9] или Testbench.

Дальше »
Страницы: 1 | 2 | 3 | 4 | вопросы | » для печати и PDA
 
 

Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.
Нужна помощь?
• Забыли пароль? Вам сюда...
• Есть вопрос? Спрашивайте!
Вы можете:
• Изменить персональные данные
• Изменить параметры подписки
Интернет-магазин:
• Ваши заказы здесь
• Ваш личный счет
Курсы | Учебные программы | Учебники | Вопросы и Ответы | Форум | Новости | Помощь

Телефон: +7 (499) 253-9312, 253-9313, факс: +7 (499) 253-9310, email: info@intuit.ru
© INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование, 2003-2011
Проект Издательства "Открытые Системы".
Партнеры: РМ Телеком, KRAFTWAY COMPUTERS.
Rambler's Top100