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

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



Advertisements
Похожие презентации
Введение в тестирование. 1. Команда тестирования Тестер; Разработчик тестов; Разработчик автоматизированных тестов.
Advertisements

Тестирование программных средств Сафронов Сергей, 2009 год.
Методы тестирования 6 августа 2011 года. Пример для тестирования Программа читает три числа с экранной формы. Эти числа соответствуют длинам сторон треугольника.
УТИЦКИХ Л.А. – ЗАМЕСТИТЕЛЬ ДИРЕКТОРА ПО УЧЕБНО- ВОСПИТАТЕЛЬНОЙ РАБОТЕ Разработка педагогических измерителей для оценки образовательных достижений.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Диктант 1 Тема: Треугольники. 1.Треугольник, у которого две стороны равны - 1. Прямоугольный 2. Равносторонний 3. Равнобедренный 4. Нет правильного ответа.
Урок 5 1. Что такое формула Excel 2007? Что может содержать такая формула? 2. Укажите правила записи формулы в Excel Что называется функцией? Что.
Государственная итоговая аттестация 9 класс. На экзамене разрешается иметь при себе дополнительные материалы, указанные в инструкциях экзаменационных.
55 Всего заданийВремя тестированиямин. Введите фамилию и имя Тест АЛГЕБРА 9 класс Начать тестирование МНОЖЕСТВА И ОПЕРАЦИИ НАД НИМИ.
Решение заданий части С Подготовка к ЕГЭ по информатике.
Результаты ГИА по информатике Ульяновск, ЕГЭ Участников 507 Пороговый балл - 40 Доля участников, не преодолевших «минимальный порог» (%) Доля участников,
840 Всего заданийВремя тестированиямин. Введите фамилию и имя Тест М – 6, Решение уравнений Начать тестирование.
Диктант 1 Тема: Треугольники. 1.Треугольник, у которого две стороны равны - 1. Прямоугольный 2. Равносторонний 3. Равнобедренный 4. Нет правильного ответа.
Методика решения и оценивания задач «С1», «С2» Единого Государственного Экзамена.
Представление числовой информации с помощью систем счисления. Перевод чисел в позиционных системах счисления ТЕМА:
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Понятие оператора и программы 11 класс. Программирование.
Апрель - май 2011 г. Выполнил : Шамов Сергей Ученик 11 б класса МОУ ФСОШ 2 « с углубленным изучение отдельных предметов » Апрель - май 2011 г. Задания.
НА ТЕМУ СОДЕРЖАНИЕ ВИТАМИНОВ В ПРОДУКТАХ Выполнили ученицы 8 А класса : Шикунова Анастасия Ильина Алена.
Тест по теме «Текстовый процессор MS Word» Для корректной работы с тестом проверьте следующие настройки - сервис параметры безопасность безопасность макросов.
Транксрипт:

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

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

2. Вопросы Оцените Ваш набор тестов, попытавшись с его помощью ответить на приведенные ниже вопросы. За каждый ответ "ДА" присуждается одно очко. 1. Составили ли Вы тест, который представляет правильный неравносторонний треугольник? (Ответ "ДА" на тесты со значением (1,2,3), (2,5,10) не обоснован, т.к. не существует треугольник, имеющий такие стороны). 2. Составили ли Вы тест, который представляет правильный равносторонний треугольник?

3. Составили ли Вы тест, который представляет правильный равнобедренный треугольник? (Значения (2,2,4) не засчитывать). 4. Составили ли Вы по крайней мере три теста, которые представляют правильные равнобедренные треугольники, полученные как перестановки двух равных сторон треугольника (например, (3,3,4),(3,4,3),(4,3,3))? 5. Составили ли Вы тест, в котором длина одной из сторон треугольника принимает нулевое значение? 6. Составили ли Вы тест, в котором длина одной из сторон треугольника принимает отрицательное значение?

7. Составили ли Вы тест, включающий три положительных целых числа, сумма двух из которых равна третьей (например (1,2,3))? 8. Составили ли Вы по крайней мере три теста с заданными значениями всех трех перестановок, в которых длина одной стороны равна сумме длин двух других сторон ((1,2,3),(1,3,2),(3,1,2))? 9. Составили ли Вы тест из трех целых положительных чисел, таких что сумма двух из них меньше третьего числа ((1,2,4),(12,15,30))? 10. Составили ли Вы по крайней мере три теста из категории 9, в которых Вами испытаны все три перестановки (например, (1,2,4),(1,4,2),(4,1,2))?

11. Составили ли Вы тест, в котором все стороны треугольника имеют длину, равную нулю (0,0,0)? 12. Составили ли Вы по крайней мере один тест, содержащий нецелые значения? 13. Составили ли Вы по крайней мере один тест, содержащий неправильное число значений (например, два, а не три целых числа)? 14. Составили ли Вы по крайней мере один тест, содержащий нечисловые значения (например (А,2,3))? 15. Специфицировали ли Вы в каждом тесте не только входные значения, но и выходные данные программы?

Вопросы 1-13 представляют ошибки, имевшие место в различных версиях данной программы, адекватный тест для нее должен их обнаруживать. Опытные профессиональные программисты набирают в среднем только 7-8 очков. Задача и вопросы взяты из книги: Г.Майерс, "Искусство тестирования программ", М, Финансы и статистика, 1982

3. Документ определения требований (ДОТ) к задаче Функциональные требования: 1. Чтение данных 2. Интерпретация данных 3. Вывод сообщения.

Входные и выходные данные: 4. Вход - три целых положительных числа, которые интерпретируются как длины сторон треугольника. 5. Выход - сообщение: треугольник - неравносторонний, равнобедренный или равносторонний; сообщение об ошибке. Нефункциональные требования:

4. Спецификация требований (СТ) к задаче Функциональные требования: 1.1. Программа должна последовательно читать элементы набора данных, разделенные определенным разделителем Должно быть управление выбором вида разделителя между элементами набора данных (., ; пробел) Наборы должны отделяться друг от друга определенным образом Если обнаруживается ошибка при чтении данных, анализ данных не производится, выводится сообщение об ошибке.

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

Входные и выходные данные: 4.1. Элемент набора - число 4.2. Элемент набора - целое число Элемент набора - целое положительное число Определены минимальное и максимальное значение элемента набора - 1 и В наборе три элемента, разделенные разделителем Элементы набора должны интерпретироваться как длины сторон треугольника.

5.1. Сообщение 01 - неравносторонний треугольник, если ни одна из сторон не равна другой Сообщение 02 - равнобедренный треугольник, если две из сторон равны друг другу Сообщение 03 - равносторонний треугольник, если все три стороны равны друг другу. В данном случае сообщение о равнобедренном треугольнике не выводится Сообщение 04 - неправильный разделитель элементов набора данных 5.5. Сообщение 05 - неправильный разделитель наборов данных

5.6. Сообщение 06 - неправильный тип элемента набора данных 5.7. Сообщение 07 - выход за определенные границы данных 5.8. Сообщение 08 - неправильное количество элементов в наборе данных Сообщение 09 - входные данные не могут интерпретироваться как длины сторон треугольника Если при чтении или анализе входных данных обнаруживается ошибка, то выводится сообщение об ошибке (ошибках), сообщения не выводятся.

5. Наборы тестовых данных для задачи Начальные условия: - разделитель между элементами набора данных - (,) - запятая - разделитель между наборами данных - каждый набор данных на отдельной строке, ограничен скобками () - диапазон данных Чистый и грязный тест: Чистый тест (позитивный тест) - тест с правильным набором данных. Проверка соответствия. Цель - демонстрация корректной работы программы. В одном тесте данные могут соответствовать многим требованиям. Все чистые тесты могут быть сведены к небольшому количеству.

Грязный тест (негативный тест) - тест с неправильным набором данных. Проверка искаженности. Цель - проверка обработки программой искаженных (неправильных) данных. Цель - взломать программу. В одном тесте искажается только одно требование. Грязные тесты желательно проверять все. При формировании входных наборов данных указываются также ожидаемые результаты и сообщения.

Правильный разделитель в наборе данных (2,3,4) - 01 (Сообщение) Неправильный разделитель в наборе данных (2.3,4) - 04 (2,3.4) нет (пока) наборов данных для проверки возможности смены разделителя между элементами.

Правильный ограничитель набора данных (3,3,4) Неправильный ограничитель набора данных [2,3,4] - 05

Типы данных: - буквы (литеры) - цифры (числа) - группы специальных символов - прочие символы Элемент набора - число (3,3,3) - 03

Элемент набора - не число, по очереди на каждом месте, а также во всех местах (А,3,3) Литера - 1 позиция (3,А,3) - 06 (3,3,А) - 06 (А,A,3) позиции (A,3,А) - 06 (3,A,А) - 06 (А,А,А) позиции

(-,3,3) Символ - 1 позиция (3,!,3) - 06 (3,3,%) - 06 (-,!,3) позиции (-,3,?) - 06 (3,!,?) - 06 (!,/,?) позиции Элемент набора - целое число (4,5,6) - 01

Элемент набора - не целое число, по очереди на каждом месте, а также во всех местах (-2.5,5,6) - 06 (5,0.5,6) - 06 (5,5,6.6) - 06 (-2.5,+5.5,0.6) Элемент набора - целое положительное число (5,5,6) - 02

Элемент набора - не целое положительное число, по очереди на каждом месте, а также во всех местах (0,5,6) Ноль как элемент набора - 1 позиция (5,0,6) - 06 (5,5,0) - 06 (0,0,5) позиции (0,5,0) - 06 (5,0,0) - 06 (0,0,0) позиции

(-2,5,6) Отрицательное число как элемент набора (5,-2,6) - 06 (5,5,-2) - 06 (-4,-4,6) позиции (-4,5,-4) - 06 (5,-4,-4) - 06 (-2,-2,-2) позиции

Проверка минимальной и максимальной границы наборов данных (1,2,2) Проверка минимальной границы (2,1,2) - 02 (2,2,1) - 02 (1,1,1) - 03 (9999,5001,5002) Проверка максимальной границы (5001,9999,5002) - 01 (5001,5002,9999) - 01 (9999,9999,9999) - 03

Выход за границы интервала. Выход за минимальные границы - проверен в п (10000,5005,5005) Проверка выхода за максимальные границы (5005,10000,5005) - 07 (5005,5005,10000) - 07 (10000,10000,10000) В наборе 3 элемента (4,4,4) - 03

В наборе не 3 элемента (,,) элементов (1,,) элемент (1,2,) элемента (1,1,1,1) элемента Входные данные могут интерпретироваться как длины сторон треугольника (2,3,4) a+b>c (2,3,2) a+c>b (4,4,4) b+c>a

Входные данные не могут интерпретироваться как длины сторон треугольника (1,2,3) a+b=c (1,3,2) a+c=b (3,1,2) b+c=a (1,2,4) a+b