Тест для оценки себя как тестировщика



 

Давайте сейчас испытаем себя в тестировании. Итак, задача состоит в том, чтобы протестировать маленькую программу. Программа представляет из себя три поля, в которые в которые вводятся целые числа, которые интерпретируются как длины сторон треугольника. После нажатия на кнопку “Проверить” появляется сообщение о том, является ли треугольник неравносторонним, равнобедренным или равносторонним.

Возьмите лист бумаги, или в текстовом редакторе на компьютере составьте набор тестов, т.е.

Последовательность входных данных, которые, как вам кажется адекватно проверят эту программу. Как только вы построите свои тесты, мы их проанализируем.

Следующий шаг состоит в оценке эффективности вашей проверки.

Оказывается, что программу написать труднее , чем это могло показаться в начале. Были изучены различные версии данного метода и составлен список общих ошибок. Оцените ваш набор тестов, попытавшись с его помощью ответить на приведенные ниже вопросы. За каждый ответ «да» присуждается одно очко.

• Составили ли вы тест, который представляет правильный неравносторонний треугольник? (Заметим, что ответ«да» на тесты, со значениями 1, 2, 3 и 2, 5, 10 не обоснован, так как не существует треугольников, имеющих такие стороны.)

• Составили ли вы тест, который представляет правильный равносторонний треугольник?

• Составили ли вы тест, который представляет правильный равнобедренный треугольник? (Тесты со значениями 2, 2, 4 принимать в расчет не следует, т.к сумма двух сторон должна быть больше третьей.)

• Составили ли вы, по крайней мере, три теста, которые представляют правильные равнобедренные треугольники, полученные перестановкой двух равных сторон треугольника (например, 3, 3, 4; 3, 4, 3 и 4, 3, 3)?

• Составили ли вы тест, в котором длина одной из сторон треугольника принимает нулевое значение? 

• Составили ли вы тест, в котором длина одной из сторон треугольника принимает отрицательное значение? 

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

• Составили ли вы, по крайней мере, три теста с заданными значениями всех трех перестановок, в которых длина одной стороны равна сумме длин двух других сторон (например, 1, 2, 3; 1, 3, 2 и 3, 1, 2)?

• Составили ли вы тест из трех целых положительных чисел, таких, что сумма двух из них меньше третьего числа (т. е. 1, 2, 4 или 12, 15, 30)?

• Составили ли вы, по крайней мере, три теста из категории 9, в которых вами испытаны все три перестановки (например, 1, 2, 4; 1, 4, 2 и 4, 1, 2)?

• Составили ли вы тест, в котором все стороны треугольника имеют длину, равную нулю (т. е. 0, 0, 0)?

• Составили ли вы, по крайней мере, один тест, содержащий нецелые значения?

• Составили ли вы хотя бы один тест, содержащий неправильное число значений (например, два, а не три целых числа)?

• Описали ли вы заранее в каждом тесте не только входные значения, но и выходные данные программы?

Конечно, нет гарантий, что с помощью набора тестов, который удовлетворяет вышеперечисленным условиям, будут найдены все возможные ошибки. Но поскольку вопросы 1–13 представляют ошибки, встречались при разработке подобных программ, адекватный тест для него должен их обнаруживать. Для сравнения отметим, что опытные профессиональные программисты и тестировщики набирают в среднем только 7–8 очков из 14 возможных. Выполненное упражнение показывает нам, что тестирование даже тривиальных программ, подобных приведенной, – непростая задача.


Категории программных ошибок

Не существует ни абсолютного определения ошибок, ни точного критерия наличия их в программе. Можно лишь сказать, насколько программа не справляется со своей задачей, это исключительно субъективная характеристика.

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

Программные ошибки так же принято называть багами (англ. “bug”). Такой термин стали использовать в связи с легендой, по которой при тестировании вычислительной машины Mark II в Гарвардском университете был обнаружен мотылек, застрявший между контактами реле. Извлеченное насекомое было вклеено скотчем в технический дневник с надписью “Firstactualcaseofbugbeingfound”.​           

Рассмотрим 13(в методичке написать 14) категорий ошибок в ПО, охватывающих все возможные варианты:


Дата добавления: 2018-08-06; просмотров: 915; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!