Что делают тестеры?

Aug 03, 2012 12:14

Если вдруг интересно, тест, позволяющий оценить "насколько хорошо Вы составляете тесты".
Дано:
Программа, три поля ввода и кнопка "Считать".
По нажатию на кнопку программа забирает введенные целые числа, интерпретирует их как стороны треугольника и выдает сообщение - равносторонний треугольник, равнобедренный или разносторонний.
Задача - написать набор тестов, которые адекватно проверят программу.
Под катом - самопроверка, набор тестов. Если тест такого типа есть в Вашем списке - плюс балл.
Можно сразу посмотреть, конечно, если не интересно подумать-прикинуть :)



А. Корректные значения.

1. Равносторонний треугольник
7, 7, 7 - ответ: равносторонний треугольник.

2. Равнобедренный треугольник
7, 7, 12 - ответ: равнобедренный треугольник.

3. Серия тестов на равнобедренные треугльники:
7, 12, 7 - ответ: равнобедренный треугольник.
12, 7, 7 - ответ: равнобедренный треугольник.
(7,7,12 проверен в п.2)

4. Разносторонний треугольник
7, 9, 12 - ответ: разносторонний треугольник.

Б. Границы значений.

5. Обработка единиц (минимальное):
1, 1, 1 - ответ: равносторонний треугольник.

6. Максимальное значение:
12345678101234567820123456783012345678401234567850 - ожидаем: запрещено вводить больше какого-то числа;

7. Проверка на максимальное значение:
Число девяток берется из п.6 (например, ответ - 5):
99999, 99999, 99999 - ответ: равносторонний треугольник.

8. Серия тестов на максимальные значения:
99999, 99999, 99998 - ответ: равнобедренный треугольник.
99997, 99998, 99999 - ответ: разносторонний треугольник.

В. Не корректные треугольники.

9. Линия (сумма двух сторон равна третьей):
5, 5, 10 - ответ: не треугольник.

10. Серия тестов на линию:
44444, 99999, 55555 - ответ: не треугольник;
2, 1, 1 - ответ: не треугольник.

11. Совсем не треугольники (длина одной стороны больше суммы двух других):
7, 7, 15 - ответ: не треугольник.

12. Серия тестов на не треугольник:
44444, 99999, 55554 - ответ: не треугольник;
3, 1, 1 - ответ: не треугольник.

Г. Не корректные данные.

13. Ноль:
7, 8, 0 - ответ: нельзя ввести / ноль!
Лучше серию - все нули, нули по очереди.

14. Пропущенное значение:
24, 12,  - ответ: не хватает данных!

15. Отрицательное значение:
10, -1, 12 - ответ: нельзя ввести / отрицательное число!
Лучше серию - все отрицательные и по очереди.

16. Дробное число ч/з точку:
11.8, 12, 15,  - ответ: нельзя ввести / не целое число!
Лучше серию - все дробные и по очереди.

17. Дробное число ч/з запятую:
12, 15, 11,8 - ответ: нельзя ввести / не целое число!
Лучше серию - все дробные и по очереди.

18. Буква:
44, 55, а - ответ: нельзя ввести / вообще не число!
Лучше серию - символы во все поля и по очереди, плюс хорошо бы проверить спец.символы.

Д. Два дополнительных балла, начисляются за ответы "да":

19. Во всех тестах указаны конкретные входные значения?
Если не указывать - потом можно забыть и не вопроизвести баг; во вторых - тесты 7-12 используют не просто данные;

20. Во всех тестах укзана ожидаемые ответы?
Если не указывать - можно пропустить багу.

Итого, максимальное число баллов: 20.

Пример взят из Майерс Г, "Искусство тестирования программ", 1982, и доработан :)

testing, вопросы

Previous post Next post
Up