2012-04-14 4 views
0

Есть ли какой-либо автоматизированный инструмент тестирования или фреймворк, который будет тестировать наш код Java без написания какой-либо части кода в тестовых случаях из представления разработчика?Инструменты автоматического тестирования Java

+3

Вы имеете в виду магический каркас? –

+0

Вы имеете в виду инструмент тестирования, который будет проверять код, не будучи подвергнутым тестированию? –

ответ

1

Вы можете рассмотреть инструменты статического анализа кода, такие как Coverty или FindBugs, которые попытаются найти потенциальные ошибки только на основе исходного кода, фактически не выполнив его.

Вы также можете попробовать randoop, который автоматически генерирует случайные тестовые примеры JUnit (случайные последовательности вызовов методов), которые ищут нарушения объектного контракта. Он отбрасывает последовательности методов, которые приводят к незаконным исключениям аргументов и тому подобное, что является хорошим положительным. Он также запоминает последовательности методов, которые строят сложные объекты, и последовательности, которые приводят к нарушениям контракта.

Если у вашего кода есть спецификация, написанная на JML, ESC/Java Compaq может проверить ваш код на них.

3

Существует инструмент под названием javac, который проведет некоторые рудиментарные тесты вашего кода.

Например, если ваш код отсутствует }, он скажет вам. Кроме того, он будет обнаруживать, когда вы пытаетесь вызвать функцию с неправильным типом аргумента или вызвать функцию, которая не существует.

Возможно, вы найдете FindBugs, так как он может предупредить о потенциально опасном коде, но он имеет много ложных срабатываний.

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

+2

Генератор случайных кодов + Автоматизированный тестовый инструмент = Без усилий! Мне это очень нравится! – emory

1

На самом деле, похоже, есть tools, но я не использовал их. Кроме того, если вы пишете несколько тестов, вы можете изменить свой существующий код, чтобы найти потенциальные ловушки PIT.

Смежные вопросы