Как преобразовать магазин программного обеспечения в TDD?

Я думаю, что настоящей проблемой было отсутствующее свойство ProvisionedThroughput .

Документ AWS говорит, что ProvisionedThroughput требуется, если вы установили BillingMode как PROVISIONED (это также значение по умолчанию для BillingMode)

Когда вы использовали Консольный рекордер для AWS - Chrome Web Store , аддон также генерировал свойство ProvisionedThroughput.

Итак, этот код верен:

AttributeDefinitions:
- AttributeName: name
  AttributeType: S

, но если вы действительно хотите решить проблему, правильный ответ - добавить свойство ProvisionedThroughput или изменить BillingMode

10
задан BalusC 23 October 2011 в 14:20
поделиться

7 ответов

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

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

Вы могли также предложить выполнять некоторый lunch-n-learns об этом для других разработчиков. Обучение является лучшим способом учиться, и Ваш, надо надеяться, получит союзников. Если Вы удачливы, можно уговорить босса на покупку пиццы для lunch-n-learn, и все извлекают выгоду.

14
ответ дан 3 December 2019 в 16:11
поделиться

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

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

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

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

Я напишу код, Вы пишете тест

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

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

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

Я только запущу, и все будут следовать.

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

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

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

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

Единственное препятствие будет существующим кодом, могло бы быть стойким к тестированию, но это - просто другое оправдание сделать некоторый рефакторинг.

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

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

Подайте пример:

  • используйте TDD на всем коде, который Вы пишете
  • покажите им преимущества, как только у Вас есть возможность (регрессия, обнаруженная модульным тестом или инцидентом, воссозданным в Вашей среде поблочного тестирования)
  • поставьте "чистый код, который работает"
  • предложите свою помощь другим
  • не будьте догматичны - TDD не является серебряной пулей
  • сделайте свои модульные тесты видимыми: они должны скомпилировать наряду с кодом, который они тестируют
2
ответ дан 3 December 2019 в 16:11
поделиться

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

Что касается продвижения TDD или некоторой другой религии кода, не беспокоятся.

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

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

Большая проблема с TDD, который вводится "вверх дном", состоит в том, что, когда нажатие прибывает в толчок (поскольку это неизбежно делает, когда крайний срок приближается), управление собирается переопределить акцент на тесты: "Мы не можем позволить себе протестировать! Мы должны закончить проект!"

Конечно, это - самая ситуация (крайний срок, вырисовываясь, значительное отставание, прогресс не на ходу с обещаниями, ведя к быстро смещающимся приоритетам и задачам), где преимущества TDD действительно умирают. Управление переопределяет его, проект / повторение начинает ломаться в том же - старый то же - старый, и взгляды назад управления и говорит, что "Мы попробовали TDD, и это не помогло вообще".

0
ответ дан 3 December 2019 в 16:11
поделиться
Другие вопросы по тегам:

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