TDD. Когда вы можете двигаться дальше?

Посылка электронной почты иногда может быть как черная магия. Обратный DNS действительно важен.

Я нашел, что очень полезно тщательно отслеживать отчеты о недоставке. Я направляю все свои отчеты о недоставке на один адрес, и у меня есть служба Windows, разбирающая их (Google ListNanny). Я помещаю столько информации из NDR, сколько могу, в базу данных, а затем я запускаю отчеты об этом, чтобы узнать, вдруг ли я начал блокироваться определенным доменом. Кроме того, вам следует избегать отправки писем по адресам, которые ранее были отмечены как NDR, потому что это, как правило, хороший признак спама.

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

Некоторые домены просто невозможно доставить иногда , Comcast.net - худшее.

Убедитесь, что ваши IP-адреса не указаны на сайтах, таких как http://www.mxtoolbox.com/blacklists.aspx .

13
задан Rob Prouse 16 November 2008 в 22:47
поделиться

13 ответов

С Разработкой через тестирование you’ll пишут тест перед записью кода, который она тестирует. Однажды you’re записанный код и тестовые передачи, тогда it’s время для записи другого теста. Если Вы следуете за TDD правильно, you’ve, достаточно записанные тесты однажды you’re код делают все, что требуется.

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

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

13
ответ дан Josh Sklare 16 November 2008 в 22:47
поделиться
  • 1
    автоматическое обновление должно быть сохранено, так как p2 управляют плагинами в dropins папке тем же путем, это контролирует тот в затмении. Что касается перемещения правильных файлов, просто получите новую установку затмения (не Aptana) и сделайте сравнить папка btw. затмевает/... и Aptana/...: дополнительные должны быть перемещены;) – VonC 21 October 2008 в 17:03

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

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

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

2
ответ дан Mike Stone 16 November 2008 в 22:47
поделиться
  • 1
    Эта установка определяет, должен ли клиент отправить информацию о безопасности с запросом. Если запрос не будет содержать информацию о безопасности, то Вы получите 401 ответ. – Shiraz Bhaiji 3 August 2009 в 14:38

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

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

Некоторые люди жалуются, когда у них нет X процентов покрытия...., некоторый тест бесполезен, и 100%-е покрытие не означает тестирование всего, что может заставить код повредиться, только факт это повреждение привычки для способа, которым Вы использовали его!

2
ответ дан pmlarocque 16 November 2008 в 22:47
поделиться
  • 1
    Клиент doesn' t отправляют информацию о безопасности, пока сервер не просит ее. 401 ответ состоит в том, как сервер спрашивает. Вы can' t избегают первых 401, добавляете ли Вы его к Зоне Интранет или нет. Это просто сделает автора прозрачным вместо раскрывающегося диалогового окна входа в систему. Кроме того, надежные сайты не сделают автоматического квитирования NTLM по умолчанию. Только Зона Интранет будет. – Amit Naidu 8 October 2013 в 03:03

возможно, я пропустил что-то где-нибудь в Гибком мировом / мировом XP, но мое понимание процесса было то, что разработчик и клиент определяют тесты как часть Функции . Это позволяет тестовым сценариям заменять документацию более формальных требований, помогает определить примеры использования для функции, и т.д. Таким образом, Вы сделаны, тестируя и кодируя, когда все эти тесты передают... плюс больше пограничные случаи, о которых Вы думаете по пути

1
ответ дан Steven A. Lowe 16 November 2008 в 22:47
поделиться
  • 1
    Хороший ответ! I' ve, сделанный, что Вы сделали успешно также. Я предпочитаю Ayende' s NhProf для профилирования, намного лучше, чем профилировщик SQL, но it' s не свободный (существует пробная версия), и it' s NHibernate конкретный. – James Allen 24 November 2009 в 22:16

Теоретически необходимо покрыть все возможные входные комбинации и тест, что вывод корректен, но иногда это просто не стоит того.

1
ответ дан Andrei Rînea 16 November 2008 в 22:47
поделиться

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

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

Это не о покрытии кода. Это - опасная метрика, потому что код "покрыт" задолго до того, как он "тестируется хорошо".

0
ответ дан Brendan Enrick 16 November 2008 в 22:47
поделиться
  • 1
    @Skliwz: +1, только разность, мы выполняем уменьшенный набор во время dev, но должны передать его полный для QA. – user7116 27 September 2008 в 23:37

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

, Конечно, Вы могли использовать некоторый инструмент, чтобы сделать тесты мутации и получить больше уверенности от Ваших тестов. Я использовал Шут , и это улучшает и мои тесты и способ, которым я записал им. Рассмотрите для использования чего-то как он.

Наилучшие пожелания

1
ответ дан marcospereira 16 November 2008 в 22:47
поделиться
  • 1
    Выкрик, я видел некоторый screensots NHProf, хорошие взгляды. Мог бы дать ему попытку, прежде чем мы пойдем живые. – Dai Bok 25 November 2009 в 09:12

Вы могли всегда использовать инструмент тестового покрытия как EMMA ( http://emma.sourceforge.net/ ) или его плагин Eclipse EclEmma ( http://www.eclemma.org/ ) и т.п. Некоторые разработчики полагают, что 100%-е тестовое покрытие является достойной целью; другие не соглашаются.

0
ответ дан Jim Kiley 16 November 2008 в 22:47
поделиться

На некотором уровне это - инстинктивное чувство

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

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

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

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

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

3
ответ дан casademora 16 November 2008 в 22:47
поделиться
  • 1
    Привет, спасибо за Ваш ответ. я; m Тринг для нахождения решения от стороны сервера так я won' t должен изменить настройки для каждого clients' браузер. можно ли думать о чем-то еще? – Satumba 3 August 2009 в 14:32

Тесты в TDD о покрытии спецификация , на самом деле они могут быть замена для спецификации. В TDD тесты не о покрытии кода. Они удостоверяются, что код покрывает спецификацию, потому что код провалит тест, если это не покроет спецификацию. Любой дополнительный код, который Вы имеете, не имеет значения.

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

2
ответ дан Cade Roux 16 November 2008 в 22:47
поделиться

Тест является способом точного описания чего-то, что Вы хотите. Добавление теста расширяется объем из того, что Вы хотите, или добавляет детали из того, что Вы хотите.

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

2
ответ дан jml 16 November 2008 в 22:47
поделиться

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

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

я не собираюсь лежать, но я часто становлюсь ленивым при возвращении для записи дополнительных тестов. Я мог бы пропустить то свойство, которое содержит 0 кодов или конструктора по умолчанию, о котором я не забочусь. Иногда быть абсолютно анальным о процессе может сэкономить Вам время n области, которые меньше тогда очень важны (100%-й миф о покрытии кода).

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

Удача и счастливое кодирование.

1
ответ дан smaclell 16 November 2008 в 22:47
поделиться
  • 1
    Связь сообщения Gabriel Schenker, кажется, разорвана теперь. – longda 4 September 2011 в 23:13

Совет Kent Beck к тестам записи, пока страх не превращается в скуку. Таким образом, пока Вы больше не боитесь, что что-либо повредится, предполагая, что Вы запускаете с соответствующего уровня страха.

9
ответ дан John D. Cook 16 November 2008 в 22:47
поделиться
  • 1
    +1 для ответа от самого Eric. Я хочу поблагодарить Вас лично за создание фантастического Скрипача. Это сделало мое понимание HTTP намного лучше и сделало меня и многих других лучшими веб-разработчиками:) – Punit Vora 6 August 2009 в 14:32
Другие вопросы по тегам:

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