2012-10-26 3 views
0

Я действительно доволен тем, что такое автоматические тесты для простой программы чтения данных из файла и нахождения сумм, средних и минимальных значений. Я чувствую, что у него есть очевидный ответ, поскольку я имею в виду тестовые примеры но я понятия не имею, что это значит. Может ли кто-нибудь пролить свет на это?Значение автоматизированного теста

+1

Это означает, что вы пишете некоторый код для некоторой рамки тестирования, которую вы можете запустить тест одним нажатием кнопки. – nhahtdh

+1

Посмотрите учебники JUnit или учебники TDD.Это должно дать вам представление о том, какие автоматические (единичные) тесты обычно означают для разработчиков, считая, что они не являются полностью автоматическим тестом. –

+1

Начните сначала с поиска (например, см. Http://www.codeproject.com/Articles/5404/The-benefits-of-automated-unit-testing) - однако, в отличие от предыдущих комментариев, я бы сказал, что * * вручную ** работает. Устные тесты * не * ** автоматизированы ** тестирование, хотя модульные тесты могут быть формой «test * automation *»; это может несколько зависеть от контекста «автоматизированного». –

ответ

1

Я действительно доволен тем, что такое автоматические тесты для простой программы чтения данных из файла и нахождения сумм, среднего и минимального. Я чувствую, что у него есть очевидный ответ, поскольку я имею в виду тестовые примеры, но Я понятия не имею, что это значит.

ОК ... сделайте глубокий вдох.

Автоматизированные тесты - это тесты, которые могут быть автоматически запущены на вашем коде. За счет автоматизации тестов, вы убедитесь, что:

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

(Другой вид тестирования, где вы вручную запустить программу с разными входами, различными конфигурациями, различными сценариями.)

Существуют различные виды автоматизированного тестирования.

  • Простейший вид для программы Java - это модульное тестирование с использованием JUnit (или аналогичной модульной тестовой среды). Идея модульного тестирования заключается в том, что вы пишете поведенческие тесты для отдельных компонентов приложения (например, методы и классы) и сборки компонентов.

  • Другой вид тестирования сосредоточен на системе в целом. Это называется системным или интеграционным тестированием. Здесь вы выбираете какую-либо задачу в возможностях полного приложения, используете сценарии (или что-то еще), чтобы заставить его выполнить эту задачу, и убедитесь, что результаты (например, выходы, обновления баз и т. Д.) Верны.


В вашем случае, это звучит как ваше приложение может быть слишком простым для модульного тестирования. Но в любом случае, что вам нужно будет сделать, это организовать некоторые Java-код (или оболочки некоторых других видов сценариев), что:

  • запускает приложение с известными входными файлами,
  • перехватывает вывод,
  • сравнивает результат с известным «правильным» результатом для ввода.

Вам также необходимо убедиться, что ваши тесты проверяют случаи «края»; например пустые входные файлы, входные файлы, содержащие недопустимые данные, и так далее.

+0

Отличный ответ, спасибо за ответ –

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