Методы тестирования 6 августа 2011 года. Пример для тестирования Программа читает три числа с экранной формы. Эти числа соответствуют длинам сторон треугольника.

Презентация:



Advertisements
Похожие презентации
1. Задача Исходные данные: Программа производит чтение трех целых чисел, которые интерпретируются как длины сторон треугольника. Далее программа печатает.
Advertisements

Диктант 1 Тема: Треугольники. 1.Треугольник, у которого две стороны равны - 1. Прямоугольный 2. Равносторонний 3. Равнобедренный 4. Нет правильного ответа.
Диктант 1 Тема: Треугольники. 1.Треугольник, у которого две стороны равны - 1. Прямоугольный 2. Равносторонний 3. Равнобедренный 4. Нет правильного ответа.
Путешествие в страну геометрия.. Город треугольников. Прямоугольный треугольник. Остроугольный треугольник. Тупоугольный треугольник.
Тестирование программных средств Сафронов Сергей, 2009 год.
Логические функции в Calc. Логические функции предназначены для проверки выполнения условия или для проверки нескольких условий.
Разбор заданий ЕГЭ Типичные задания С1. Содержание Задача С1 варианта 1 и другие типичные задачиС1 варианта 1 другие типичные задачи Задача С1 варианта.
1 Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков,
Введение в тестирование. 1. Команда тестирования Тестер; Разработчик тестов; Разработчик автоматизированных тестов.
Тема: Решение задач с условным оператором. Цели: Научить решать задачи с условным оператором. Развивать умения составлять программы с условным оператором.
Тема: Управление потоком в PHP Изучить возможности языка PHP при решении задач, требующих использования условного оператора. Рассмотреть примеры управления.
Использование составных логических выражений в условном операторе Паскаля.
Тестирование программных продуктов «Разработка тестов (test case design)» СПб 2009, Oksana Naboka.
Цикл REPEAT Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз!
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Центр математического образования СПб АППО
Тема урока: Операторы цикла. Решение задач со счетчиком. Выполнила: Троегубова Татьяна Сергеевна учитель МОУ «СОШ 87»
1 Программирование на языке Паскаль Сложные условия.
Ключевая тема этого задания ЕГЭ – использование вложенных условных операторов, причем в тексте задания фрагмент программы обычно записан без отступов «лесенкой»
Условный оператор. Определение линейного алгоритма. Линейный алгоритм – это алгоритм, этапы которого выполняются однократно и строго последовательно.
Транксрипт:

Методы тестирования 6 августа 2011 года

Пример для тестирования Программа читает три числа с экранной формы. Эти числа соответствуют длинам сторон треугольника. После этого программа отображает сообщение, которое сообщает о том, был ли треугольник неравносторонний, равнобедренный или равносторонний. Необходимо составить набор тестов, проверяющий правильность работы это программы.

Критерии оценки Допустимый неравносторонний (2,5,10 – но не 1,2,3!) Допустимый равносторонний Допустимый равнобедренный (не 2,2,4!) Три варианта равнобедренного (перебор всех пар) Одна сторона равна 0 (перебор всех сторон) Одна сторона меньше 0 (перебор всех сторон) Сумма двух сторон равна третьей (перебор всех пар) Все стороны равны 0 Стороны нецелые числа Указаны не все стороны (например, только две) Указаны ли для всех тестов ожидаемые результаты?

Подходы к тестированию Black box Equivalence partitioning Boundary-value analysis Cause-effect graphing Error guessing White box Statement coverage Decision coverage Condition coverage Decision-condition coverage Multiple-condition coverage

Equivalence partitioning Входные значения (стороны ) Valid partition Все стороны равны и больше 0 Invalid partition Первая сторона меньше 0 Partition – набор входных значений, выполнение или невыполнение теста для одного из которых означает аналогичное выполнение или невыполнение теста для всех остальных значений из этого набора. … 2,2,2 -3,2,2 Для каждого partition пишется один тест.

Boundary-value analysis Тесты пишутся таким образом, чтобы покрыть каждую границу классов входных и выходных значений сверху и снизу. Входные значенияВыходные значения Все стороны больше 0 и сумма каждой из двух больше третьей , 0.1, , 0,1, , -0,1, , 0,1, , 1, 2.1 1, 1, 1.9 Равностор онний. Равнобедр енный.... 2, 2, 2 2, 2, 2.1 2, 2, 1 2, 2.1, 1

Error guessing Проводится мысленное проектирование тестируемого кода, после чего пишутся тесты, проверяющие набор типичных ошибок, которые могли быть допущены. Error guessing s, 1, 2 – проверка, не забыл ли программист, что в поля могут быть переданы не только числа

Statement coverage if (a > 1 && b == 0) x = x / a; if (a == 2 || x > 1) x = x + 1; Выполнение тестов должно приводить к выполнению каждого оператора. a = 2, b = 0, x = 3 – выполняются все операторы

Decision coverage Выполнение тестов должно приводить к тому, что условное выражение каждого оператора if примет хотя бы раз значение true и false. if (a > 1 && b == 0) – первое условие x = x / a; if (a == 2 || x > 1) – второе условие x = x + 1; a = 3, b = 0, x = 3 – первое условие = true, второе = false a = 2, b = 1, x = 1 – первое условие = false, второе = true

Condition coverage Выполнение тестов должно приводить к тому, что каждое условие в условном выражении каждого оператора if примет хотя бы раз значение true и false. if ((1) a > 1 && (2) b == 0) x = x / a; if ((3) a == 2 || (4) x > 1) x = x + 1; a = 2, b = 0, x = 4 – (1) = true, (2) = true, (3) = true, (4) = true a = 1, b = 1, x = 1 – (1) = false, (2) = false, (3) = false, (4) = false

Decision-condition coverage Удовлетворение требований condition coverage не всегда приводит к удовлетворению decision coverage (как в предыдущем примере). if ((1) a > 1 && (2) b == 0) – первое условие x = x / a; if ((3) a == 2 || (4) x > 1) – второе условие x = x + 1; a = 1, b = 0, x = 3 – (1) = false, (2) = true, (3) = false, (4) = true первое условие = false, второе = true a = 2, b = 1, x = 1 – (1) = true, (2) = false, (3) = true, (4) = false первое условие = false, второе = false Decision-condition coverage – требует условие как Decision coverage, так и Condition coverage.

Multiple-condition coverage if (a > 1 && b == 0) x = x / a; if (a == 2 || x > 1) x = x + 1; a > 1b = 0 x = x / a (1) Да a > 2 x > 1 (2) Да (4) Нет(3) Нет (5) Нет x = x + 1 (6) Да (7) Да (8) Нет a = 2, b = 0, x = 4 – (1) + (2) + (5) + (7) a = 1, b = 1, x = 1 – (3) + (5) + (8) Выполнение тестов должно приводить к тому, что каждое примитивное условие в коде примет хотя бы раз значение true и false. Тесты, удовлетворяющие Decision-condition coverage не проходят по условию (4) и (6)