проблема тестирования файлового работника в Java - PullRequest
0 голосов
/ 23 октября 2009

У меня есть вопрос, который описан ниже:

Какие проблемы могут возникнуть при тестировании Java-класса, который считает количество слов в файле?

Подпись функции ниже:

public int wordCount(String filename)

Ну, это вопрос тестирования джунтов.
Если вы знаете проблему, каково ее решение?

Ответы [ 3 ]

2 голосов
/ 23 октября 2009

Итак, ваш вопрос в том, что тестировать? Если да, я бы сказал, что вы должны проверить, правильно ли реализовано определение слова (например, «переполнение стека» одним словом или двумя), правильно ли обрабатываются новые строки, считаются ли числа как слова (например, разница между » 8 "и" восемь ") - это (группы специальных) символов (например, дефис), подсчитанные правильно.

Кроме того, вы должны проверить, возвращает ли метод ожидаемое значение (или исключение), если файл не существует.

Это должно быть хорошей отправной точкой.

0 голосов
/ 23 октября 2009

Это действительно звучит как задача для FIT: Framework for Integrated Test . Это среда приемочного тестирования, которая работает с ant и JUnit.

Один доцент выполнил такую ​​задачу и использовал этот фреймворк. Это позволяет вам написать целую кучу тестовых случаев в одной html / вики таблице. FIT интерпретирует каждую строку как набор параметров для тестируемой функции и проверяет вывод.

Например:

Example for FIT test

В этой таблице показаны результаты трех тестовых случаев. Два пройдено, один провал.

Вы можете использовать fit, если вы пишете предложения и определяете количество слов в вашей таблице. С FIT они выполняются, и результат отображается в новой таблице.

Для получения дополнительной информации, пожалуйста, прочитайте Введение в FIT .

0 голосов
/ 23 октября 2009

В список sfussenegger я бы добавил проверки обработки файлов: правильно ли метод отвечает на файлы, которые не найдены (включая пустое имя файла), или нет разрешения на чтение?

Кроме того, в список правильности sfussenegger я бы добавил, есть ли дублирующие правила и правила учета регистра.

Конечно, все это требует, чтобы вы знали, как метод должен вести себя для всех этих особенностей. Легко сказать кому-то «иди посчитай слова», но в этом задании есть свои тонкости.

Что является одним из больших преимуществ написания хорошего набора модульных тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...