Непрерывное улучшение: возможно ли заранее определить тесты? - PullRequest
0 голосов
/ 23 октября 2018

Я привык к старомодным циклам развития водопада.Для нового проекта непрерывная интеграция, кажется, лучше соответствует нашим потребностям.

В водопаде вы должны заранее указать тесты, которые вы хотите выполнить.

Мои вопросы:

  • Как обычно поступают циклы разработки с непрерывной интеграцией в отношении спецификации тестов?
  • Если вы не укажете тесты, можете ли вы представить способ их заранее указать?

Большое спасибо за вашу помощь.

1 Ответ

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

В университете нас учили, что «разработка через тестирование» имеет смысл, особенно если есть правильная спецификация кодирования.

Если вы не можете написать тесты перед кодированием -> спецификация кодирования должна быть более конкретной / имеет проблемы.

Я обычно пишу юнит-тесты на основе спецификации кодирования для моих классов Java, которые впоследствии будут интегрированы и выполнены на нашем сервере непрерывной интеграции jenkins.

Простите, если я ошибаюсь, но это то, что я выучил ...

Это всегда зависит от сложности требуемых классов Java, тривиальные классы "предметной области" не нуждаются в большой спецификации info

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

Допустим, вы должны написатьметод, который должен проверять, находится ли значение в заданном диапазоне:

// Example Specification:
// the method 'checkIfItsInRange' should return true when : the input lies within the range and it should be devidable by the distance value 
// Lets say the range goes from -30,00 to +30,00 with a distance from 0,25
// valid values :30, -30, 15.25, 15.50, 17.75 etc. -> return true
// invalid : -31, -30.01, +30.08, 0.4 etc. -> return false
// MissingParameterException when one of the Parameters is null

public boolean checkIfItsInRange throws MissingParameterException (BigDecimal from, BigDecimal to, BigDecimal distance, BigDecimal input) {
        // TODO implement depending on spec.
}

В этом случае вы уже можете написать несколько тестов юнитов, прежде чем приступить к реализацииНе сам метод.

Надеюсь, это немного прояснит ситуацию.

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