Значение поблочного тестирования

Да, вы можете достичь того же, используя @Enumerated(EnumType.ORDINAL).

См. Эти примеры.

map-enum-in-jpa-with-fixed-values ​​

mapping-enum-types-with-hibernate-annotations

10
задан Am I Crazy 3 April 2009 в 05:09
поделиться

11 ответов

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

Например: Инвестиции:

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

Прибыль:

  • никакая ошибка никогда не вновь появляется без знака;
  • никакие основные функции не выпущены без передачи модульных тестов;
  • цикл development-qa-fix ошибки сокращается в половине для большинства ошибок: единица разработки фиксирует тест ошибки;
  • и т.д.
10
ответ дан 3 December 2019 в 13:30
поделиться

Относительно № 3, проводя время на поблочном тестировании, скорее всего, уменьшит полное время выхода на рынок. Большая статья - http://blog.scottbellware.com/2008/12/does-test-driven-development-speed-up.html

6
ответ дан 3 December 2019 в 13:30
поделиться

Люди слушают свои кошельки. Покажите, сколько времени можно сэкономить путем ловли ошибок вначале. Переведите это в долларовые сбережения.

7
ответ дан 3 December 2019 в 13:30
поделиться

Большинство менеджеров не будет видеть преимуществ поблочного тестирования, пока они не будут видеть его в действии, где это имеет смысл, таким образом, мой совет, на основе опыта, состоит в том, чтобы взять и следующие шаги:

  1. Примените модульные тесты к повторяющимся ошибкам - Это - лучший вариант использования для доказательства значения модульных тестов. Когда у Вас есть ошибки, которые просто появляются и вновь появляются любая сборка, модульный тест позволит разработчикам видеть, какие изменения вызвали ошибки кроме предупреждения их заранее, что фиксация в порядке. Довольно легко продемонстрировать к управлению также.
  2. Примените модульные тесты к регулярным ошибкам - С полноценностью модульных тестов, теперь ясно продемонстрированных, нескольких экземпляров повторяющихся ошибок, исчезающих в долгосрочной перспективе, должно быть достаточно, чтобы поощрить всех использовать модульные тесты, чтобы оценить все ошибки, препятствовать тому, чтобы они стали повторяющимися ошибками.
  3. Примените модульные тесты к новой функциональности - С модульными тестами, удостоверившись, что старые ошибки не повторяются и подтверждают, что они фиксируются во-первых, следующий шаг должен был бы применить ее к новой функциональности, чтобы гарантировать, что ошибки будут минимизированы. Проясните, что невозможно полностью устранить ошибки.
  4. Примените полноценный TDD - заключительный шаг должен будет применить поблочное тестирование даже перед кодированием как средство проектирования, которое и помогает в разработке кода и уменьшении ошибок.

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

Если позже Вы решаете идти дальше к другой компании, можно хотеть явно искать компанию это методы TDD.

8
ответ дан 3 December 2019 в 13:30
поделиться

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

если бы Вы не можете практиковать модульный тест в своем реальном проекте из-за проблем управления, я принял бы решение практиковать на некотором маленьком игрушечном проекте, только чтобы вынудить себя получить способ написать тестируемый код даже нет НИКАКОГО модульного теста.

Мои собственные 2 цента.

5
ответ дан 3 December 2019 в 13:30
поделиться

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

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

Пока Ваши менеджеры не понимают, что TDD НЕ только о предотвращении ошибок или "тестировании", они никогда не будут получать его. TDD о дизайне, и в целом кодируйте качество.

Необходимо показать им. Если бы они не могут быть убеждены затем, что я начал бы смотреть. Бесшумно ;)

3
ответ дан 3 December 2019 в 13:30
поделиться

Мой короткий и неполный совет был бы к:

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

  • Инвертируйте поиски виновного. Сделайте официальное заявление каждым разом, когда что-то выпущено без поблочного тестирования, что оно было сделано так, и что Вы не гарантируете, что это без ошибок.

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

2
ответ дан 3 December 2019 в 13:30
поделиться

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

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

Существует много подсказок в этом потоке (ответ Jon Limjap), пробует его!

2
ответ дан 3 December 2019 в 13:30
поделиться

Не продавайте управление на конкретном подходе; это просто будет трудным и действительно не собирается покупать Вас очень. Ценит ли Ваша цепочка управления протестированную единицу, кодируют, не имеет значения.

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

2
ответ дан 3 December 2019 в 13:30
поделиться

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

Поскольку Mark сказал, что показ чего-то конкретного является лучшим способом убедить PHBs, что что-то хорошо, поскольку они так привыкли к слушанию разговора и вероятно не знают различия между поблочным тестированием и другим тестированием.

1
ответ дан 3 December 2019 в 13:30
поделиться

Еще одна мысль для добавления к другим превосходным комментариям к этому потоку (многие из которых у меня есть upvoted): удостоверьтесь, что Ваше управление знает, что Поблочное тестирование очень высоко автоматизировано в этой точке. Я нахожу очень впечатляющим вытолкать NUnit на экране, нажать кнопку "Run All" и видеть десятки тестов, которым дают зеленый свет, передаваемых в секундах. Сделайте это однажды, говоря, что "это проверяет, что вся моя более старая работа все еще корректна несмотря на все мои более новые изменения", и просто можно выиграть несколько преобразований. В любом случае они начнут доверять Вам - с Вашим видимым доказательством качества - больше, чем они доверяют другим. Это может только быть хорошо для Вашей карьеры.

1
ответ дан 3 December 2019 в 13:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: