тестирование по треугольнику. Тестирование по треугольнику. Программа выводит сообщение о том, каким является данный треугольник разносторонним, равнобедренным или равносторонним
Скачать 23.41 Kb.
|
Программа считывает три целочисленных значения из консоли. Эти значения интерпретируются как длины сторон треугольника. Программа выводит сообщение о том, каким является данный треугольник — разносторонним, равнобедренным или равносторонним. Напишем, функцию, которая принимает на вход три стороны треугольника, которые заданы целыми числами и возвращает тип треугольника. Сохраним написанный код в файле triangle.php. Функция достаточно тривиальна, поэтому мы не будем останавливаться на ее реализации. Нас будет интересовать, как найти в ней ошибки. Для начала потребуется реализовать механизм, который позволит вводить данные с консоли и получать результат. Сохраним следующий код в файле main.php. Чуть позже вы поймете, почему мы используем разные файлы для самой функции и для кода, который обрабатывает пользовательский ввод. Код также достаточно тривиален. Теперь мы можем запустить полученное приложение (да, это именно приложение — последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером). Откроем терминал, перейдем в каталог, с проектом и выполним следующую команду (для того, чтобы все сработало у вас должен быть установлен интерпретатор php в системе). Программа будет ожидать ввод трех чисел, разделенных пробелами. И вот что мы можем увидеть на экране. Поэкспериментируйте немного с программой вводя разные наборы чисел. А теперь рассмотрим эту программу с точки зрения разработчика, которому досталось ее тестировать. Какие наборы тестов он должен разработать, чтобы отыскать все возможные баги? Прежде чем читать дальше подумайте и попробуйте посчитать то количество, которое придумали вы. Итак. Ниже приведен набор тестовых сценариев, которые должны быть написаны для нашей функции. тест для проверки действительно неравностороннего треугольника (наборы [1, 2, 3], [2, 5, 10] треугольниками не являются). проверка на действительно равносторонний треугольник проверка на равнобедренный треугольник (наборы вида [2, 2, 4] треугольником не являются) как минимум три теста для проверки равнобедренного треугольника, которые представляют собой перестановки одного и того же набора чисел ([3, 3, 4], [3, 4, 3], [4, 3, 3]) тест на нулевую длину одной из сторон тест на сторону, имеющую длину меньше нуля проверка набора чисел, в котором сумма длин двух сторон равна третьей тест перестановок для троек чисел из теста 7 проверка набора чисел, в котором сумма длин двух сторон меньше третьей ([12, 15, 30]) тест перестановок для троек чисел из теста 9 проверка на нулевую длину всех трех сторон проверка на передачу нецелочисленных значений проверка на передачу неполного набора значений проверка не только входных данных, но и ожидаемого выходного значения в каждом из тестов 1-13 |