Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процесс и инструменты для разработки 
:(
    Опции темы
PashaPash
Дата 7.11.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Цитата(Любитель @  7.11.2009,  11:39 Найти цитируемый пост)
Хм.. Всё-таки тогда хотелось услышать твоё понимание ТДД. В первую очередь - какие тесты? И кто их пишет? Как? И насчёт покрытия функционала/кода тестами - тоже интересно (грубо говоря, достаточно доли).

Это довольно подробно в вики расписано, но можно тут продублировать.
0. Появляется новыйз use-case (user story). Пользователь зашел на страницу XXX, нажал YYY, увидел ZZZ, при этом в базе был набор AAA, после стал AAAB.
1. Пишется один (!) тест, который все это проделывает. Ес-но все управление на себя наборами данных и прочим стаффом берет фреймворк. В тесте непосредственно два вызова XXX и YYY и последующие ассерты. Формально - это не unit-тест, т.к. покрывает кучу всего.
2. Девелопер убеждается что тест падает smile
3. Пишется минимальный код, позволяющий тесту не упасть.
4. Девелопер проверяет что все тесты заработали
5. Рефакторит то, то написал
6. Повторяет.

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

На выходе получается софт, в котором (теоретически) все существующие юзкейсы покрыты тестами, т.е. после (5) tdd-ный тест нахаляву превращается в регрессионнный.
Цитата(Любитель @  7.11.2009,  11:39 Найти цитируемый пост)
Ну.. теоретически - само собой. Но называть это регрессион-тестирование - язык не поворачивается. Когда в проекте ещё ничего толком нету, регрессион-тестирование заключается в запуске приложения девелопером при разработке новой функциональности. Хотя, конечно, опять-таки - универсального ответа нет, надо смотреть по ситуации.

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

Цитата(Любитель @  7.11.2009,  11:39 Найти цитируемый пост)
Да, конечно, дешевле. Но, я думаю, явно не настолько. И плюс, самое главное, опять-таки - всё зависит от ситуации..

Цитата(Любитель @  7.11.2009,  11:39 Найти цитируемый пост)
Вот именно! Т. е. понадобились тесты - давай добавим. И архитектура, тест-фреймворк и пр. должны позволять это сделать с минимальными затратами. А писать тесты ради того, что они могут понадобиться - я это не поддерживаю

Именно настолько, и разрыв может быть и побольше. Проблема в том, что написанию тестов обычно мешает не архитектура (что там, заюзать IoC/DI), а именно сам код, который захочется протестировать. А говорить девелоперам "пишите весь код так, чтобы его можно было потом протестировать" - это взывать к их способнастям телепатов smile И опять же, тест понадобится тогда, когда он в первый раз упадет. Как ты предлагаешь предугадывать этот момент? 
Проблема как раз в том, что девелопер почти всегда уверен, что он пишет код идеально, и что тесты - бесполезны. Тесты лично девелоперу не нужны, и он искренне удивляется каждому багу. А еще он может сделать любую задачу за 3 дня. ;)
Цитата(Любитель @  7.11.2009,  11:39 Найти цитируемый пост)
Ну.. Если проекты подобны - я бы просто считал бы это ветками того же проекта.

У них абсолютно другая предметная область smile Просто тест-oriented архитектура оказалась очень удобна для наколбашивания проектов без тестов.
Цитата(Любитель @  7.11.2009,  11:39 Найти цитируемый пост)
А вообще, что-то мы с тулзов совсем перешли на менеджмент.   

Дык, делись списком тулзов.



--------------------
PM MAIL WWW   Вверх
Любитель
Дата 7.11.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 11
Всего: 92



Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
1. Пишется один (!) тест, который все это проделывает. Ес-но все управление на себя наборами данных и прочим стаффом берет фреймворк. В тесте непосредственно два вызова XXX и YYY и последующие ассерты. Формально - это не unit-тест, т.к. покрывает кучу всего.

Т. е. тест должен покрывать именно юзкейс? Тогда AFAIK это функциональный тест. Но (!) тогда он (вообще говоря) никак не сможет быстро отработать. Я всё время мыслил о ТДД именно в контексте "быстрых" юнит-тестов и, как следствие, часто запускаемых.

Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
в котором (теоретически) все существующие юзкейсы покрыты тестами

Вот имено, что юзкейсы. Т. е. это исключительно high level тесты. Грубо говоря - код ими не покрывается. Т. е., я не могу гарантировать что этот класс работает правильно. Он работает правильно при том, как он сейчас используется. Нет, это не есть плохо - но это никак не юнит-тесты.

ИМХО, конечно, но функциональными тестами тоже должны заниматься QA. Ибо они не привязаны к внутреннему коду. Если они это автоматизируют, интегрируют в билд-систему и т. д. Отлично. Но девелоперы, я думаю, если и должны писать тесты - то только юнит-тесты.

Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
Именно настолько, и разрыв может быть и побольше. Проблема в том, что написанию тестов обычно мешает не архитектура (что там, заюзать IoC/DI), а именно сам код, который захочется протестировать. А говорить девелоперам "пишите весь код так, чтобы его можно было потом протестировать" - это взывать к их способнастям телепатов smile И опять же, тест понадобится тогда, когда он в первый раз упадет. Как ты предлагаешь предугадывать этот момент? 
Проблема как раз в том, что девелопер почти всегда уверен, что он пишет код идеально, и что тесты - бесполезны. Тесты лично девелоперу не нужны, и он искренне удивляется каждому багу. А еще он может сделать любую задачу за 3 дня. ;)

Я не очень понял. Что значит "мешает код, а не архитектура"?

Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
У них абсолютно другая предметная область smile Просто тест-oriented архитектура оказалась очень удобна для наколбашивания проектов без тестов.

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

Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
Дык, делись списком тулзов.

Дык я вначале того.. послушать зашёл smile Уникальных тулзов у меня нет. И, самое главное, особо полезного реального экспиринса по внедрению и интеграции - тоже smile 


--------------------
PM MAIL ICQ Skype   Вверх
PashaPash
Дата 7.11.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Цитата(Любитель @  7.11.2009,  13:30 Найти цитируемый пост)
Т. е. тест должен покрывать именно юзкейс? Тогда AFAIK это функциональный тест. Но (!) тогда он (вообще говоря) никак не сможет быстро отработать. Я всё время мыслил о ТДД именно в контексте "быстрых" юнит-тестов и, как следствие, часто запускаемых.

Что у вас за юзкейсы такие? O_o? У нас пока в среднем 0.1-0.2с на юзкейс. Вся фишка как раз в том, чтобы заполучить фреймворк, который по настоящему test-friendly, а не "позволяет использовать тесты".
Кстати, в 2010-й студии есть test impact view, который позволяет запускать только затронутые изменениями тесты, если уж дествительно по времени прижимает. 
Цитата(Любитель @  7.11.2009,  13:30 Найти цитируемый пост)
Вот имено, что юзкейсы. Т. е. это исключительно high level тесты. Грубо говоря - код ими не покрывается. Т. е., я не могу гарантировать что этот класс работает правильно. Он работает правильно при том, как он сейчас используется. Нет, это не есть плохо - но это никак не юнит-тесты.

ИМХО, конечно, но функциональными тестами тоже должны заниматься QA. Ибо они не привязаны к внутреннему коду. Если они это автоматизируют, интегрируют в билд-систему и т. д. Отлично. Но девелоперы, я думаю, если и должны писать тесты - то только юнит-тесты.

Вот это и фишка TDD - когда функциональные тесты пишут девелоперы. Так же особенность TDD-тестов - они не привязаны к внутреннему коду, они вообще не гарантируют что там этот класс есть. Зато они гарантируют что архитектура отвечает реальным требованиям, а не какому-то абстрактному мега-плану (см Agile ;). А еще TDD тесты отлично переживают вообще любой рефакторинг - потому что они тестируют не юниты, которые при рефакторинге колбасит, а общее поведение, которое при рефакторинге не должно измениться.
А код этими тестами отлично покрывается в том смысле, что они его хотя бы исполняют, и проверяют окончательный результат. А если кусок не покрыт - то он, по определению, не нужен. Кроме очевидных исключений.

А написание именно unit-тестов вообще на все - действительно бессмысленное занятие. Они слишком дороги в поддержке, повышают стоимость рефакторинга, мешают новому функционалу, и вообще ведут себя не по agile-овски smile

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

Проблемы у TDD такие же, как и у Agile:
- его неправильно понимают
- выбирают неверные инструменты
- ударяются в крайности

Цитата(Любитель @  7.11.2009,  13:30 Найти цитируемый пост)
Я не очень понял. Что значит "мешает код, а не архитектура"?

В том смысле что архитектура - это общее описание того, как работает приложение. А код - непосредственная реализация задумок архитектора. Простой пример - вызов HttpContext.Current сделает кусок кода практически нетестируемым, как бы не продумывал testeability архитектор.

Цитата(Любитель @  7.11.2009,  13:30 Найти цитируемый пост)
Ну.. мне тяжело сдуить столь абстрактно, но, если архитектура та же - это тот же проект  Если с бизнес точки зрения проекты абсолютно разные - значит просто очень крутая архитектура  И очень большой проект.

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


--------------------
PM MAIL WWW   Вверх
Любитель
Дата 7.11.2009, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 11
Всего: 92



Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
Пользователь зашел на страницу XXX, нажал YYY, увидел ZZZ, при этом в базе был набор AAA, после стал AAAB.

Цитата(PashaPash @  7.11.2009,  15:18 Найти цитируемый пост)
У нас пока в среднем 0.1-0.2с на юзкейс.

При достаточно количестве данных - я не представляю, как это может быть 01.-0.2 секунды :(

Цитата(PashaPash @  7.11.2009,  15:18 Найти цитируемый пост)
В том смысле что архитектура - это общее описание того, как работает приложение. А код - непосредственная реализация задумок архитектора. Простой пример - вызов HttpContext.Current сделает кусок кода практически нетестируемым, как бы не продумывал testeability архитектор.

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


--------------------
PM MAIL ICQ Skype   Вверх
PashaPash
Дата 7.11.2009, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Цитата(Любитель @  7.11.2009,  16:13 Найти цитируемый пост)
При достаточно количестве данных - я не представляю, как это может быть 01.-0.2 секунды :(

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

Это сообщение отредактировал(а) PashaPash - 7.11.2009, 16:37


--------------------
PM MAIL WWW   Вверх
Любитель
Дата 7.11.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 11
Всего: 92



Ну.. не всякой страницы. Есть фичи, которые в любом случае занимают время - и это нормально. Но это один (!) тест. А если тестировать весь проект - это явно приличная задержка.. Что-то я всё-таки не понимаю smile


--------------------
PM MAIL ICQ Skype   Вверх
PashaPash
Дата 7.11.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Любитель, это задержка в пару минут при сборке среднего проекта. Код дольше компилируется, чем тестируется smile Да и прогонка тестов при CI не требует непосредтсвенного участия разработчика.


--------------------
PM MAIL WWW   Вверх
Любитель
Дата 7.11.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 11
Всего: 92



Не, с CI всё понятно. Непонятно с TDD. Ибо в моём понимании ТДД предполагает частый запуск тестов девелопером. А тесты после билда - в этом ничего нового нет (всё равно, конечно, далеко не всегда эти тесты автоматизированны, но я не отношу это к ТДД).


--------------------
PM MAIL ICQ Skype   Вверх
PashaPash
Дата 8.11.2009, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Цитата(Любитель @  7.11.2009,  23:25 Найти цитируемый пост)
Не, с CI всё понятно. Непонятно с TDD. Ибо в моём понимании ТДД предполагает частый запуск тестов девелопером.

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

Можно понаблюдать за собой, как типичный разработчик пишет код в среднем таком проекте
1. рисует зародыш ui
2. пишет логику
3. дергает ее из ui
4. правит баги
5. повторяет раз так N
6. коммитает

Минусы: 
- занимается ручным тестированием, что при некотором количестве итераций (то 2-х) просто медленнее, чем один раз написать тест
- он не оставляет артефактов в виде теста, т.е. работа по ручному тестированию не приносит пользы в будущем

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


--------------------
PM MAIL WWW   Вверх
Любитель
Дата 8.11.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 11
Всего: 92



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


--------------------
PM MAIL ICQ Skype   Вверх
ivashkanet
Дата 9.11.2009, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Ой нафлудили smile На выходных отдызать нужно  smile 

Цитата(PashaPash @  6.11.2009,  21:21 Найти цитируемый пост)
Там же была фраза про шутку, нет?

Я отнес ее ко второй части абзаца. smile 
Цитата(PashaPash @  6.11.2009,  21:21 Найти цитируемый пост)
Потому что когда начинающий мененджер видит

Это его проблема. А не Agile. 
Цитата(PashaPash @  6.11.2009,  21:21 Найти цитируемый пост)
Может ты просто не умеешь его готовить?

Врядли, скорее всего умею smile И чтобы не было недопониманий: я не против тестов, я против TDD (в чистом виде и на 100%-х функциональности).
Цитата(PashaPash @  6.11.2009,  21:21 Найти цитируемый пост)
TDD бесполезно применять одному

Ты про TDD или про тесты вообще?

Цитата(PashaPash @  6.11.2009,  21:21 Найти цитируемый пост)
TDD [...] не очень приятно применять в чистом виде вообще. 

+1 Кроме того: почти все в нашем мире нужно адаптировать под себя (что хорошо одному -- другому смерть Ж)) )

Цитата(PashaPash @  6.11.2009,  21:21 Найти цитируемый пост)
Разработчик не может охватить стоимость ошибки полностью. Стоимоть функционального бага, попавшего в билд это стоимость

А зачем полностью? Это не точная наука. "Внтуреннего голоса" вполне достаточно. Ведь любую ошибку можно исправить.

Цитата(Partizan @  6.11.2009,  22:17 Найти цитируемый пост)
И то и другое подпадает под условия подписанного NDA

Гнилая отмазка. Уж не обижайся.

Цитата(PashaPash @  7.11.2009,  13:14 Найти цитируемый пост)
Это довольно подробно в вики расписано, но можно тут продублировать.

Ну ты уже понял, Паша, что я с тобой тут не согласен  smile 
Цитата(Любитель @  7.11.2009,  13:30 Найти цитируемый пост)
Т. е. тест должен покрывать именно юзкейс? Тогда AFAIK это функциональный тест. Но (!) тогда он (вообще говоря) никак не сможет быстро отработать. Я всё время мыслил о ТДД именно в контексте "быстрых" юнит-тестов и, как следствие, часто запускаемых.

 smile 

Паш, у тебя неправильное ТДД. Причем я даже не знаю как тебя переубедить. У тебя скорее FTDD (Functional TDD). И я совсем не представляю как твое TDD может помочь в дизайне приложения.

СУВ, Aikin

Это сообщение отредактировал(а) ivashkanet - 9.11.2009, 10:30
PM MAIL WWW ICQ   Вверх
PashaPash
Дата 9.11.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Цитата(ivashkanet @  9.11.2009,  10:28 Найти цитируемый пост)
Ты про TDD или про тесты вообще?

И про то и про другое. Вообще любое тестирование должно поддерживаться всей командой.
Цитата(ivashkanet @  9.11.2009,  10:28 Найти цитируемый пост)
Паш, у тебя неправильное ТДД. Причем я даже не знаю как тебя переубедить. У тебя скорее FTDD (Functional TDD). И я совсем не представляю как твое TDD может помочь в дизайне приложения.

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

А FTDD (скорее уж, tests before development) очень классно помогает. Именно тем, что оно определяет дизайн всего приложения, а не тестирует юниты уже в готовом дизайне.
  
Я вообще-то выше написал что у нас не TDD  в чистом виде. Но зато у нас тесты есть, практически на весь функционал, и вся команда понимает их необходимость. А у вас - нет ;)
Цитата(ivashkanet @  9.11.2009,  10:28 Найти цитируемый пост)
Ну ты уже понял, Паша, что я с тобой тут не согласен   

Переубеждай ;)
Цитата(ivashkanet @  9.11.2009,  10:28 Найти цитируемый пост)
А зачем полностью? Это не точная наука. "Внтуреннего голоса" вполне достаточно. Ведь любую ошибку можно исправить.

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

А вот у манагера все просто. С его точки зрения стоимость ошибки - вполне точная сумма в $. Можно даже прайс нарисовать.
- баг повалил тесты при билде - 5$
- из-за бага билд у QA не запустился вообще - 50$
- баг нашли QA во время smoke - 500$ за все баги
- баг найденный QA во время регресии - 1000$ за все баги
Прайс нашептан моим внутренним голосом, но легко вычисляется из количества людей, через которых проходит билд, их зп, и среднего времени обнаружения первых багов.


--------------------
PM MAIL WWW   Вверх
ivashkanet
Дата 9.11.2009, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(PashaPash @  9.11.2009,  12:43 Найти цитируемый пост)
И про то и про другое. Вообще любое тестирование должно поддерживаться всей командой.

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

Цитата(PashaPash @  9.11.2009,  12:43 Найти цитируемый пост)
Переубеждай ;)

Мы уже как-то нафлудили несколько страниц. Неохото повторяться.

Цитата(PashaPash @  9.11.2009,  12:43 Найти цитируемый пост)
А вот у манагера все просто. С его точки зрения стоимость ошибки - вполне точная сумма в $. Можно даже прайс нарисовать.

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

Добавлено через 3 минуты и 35 секунд
Цитата(PashaPash @  9.11.2009,  12:43 Найти цитируемый пост)
Но зато у нас тесты есть, практически на весь функционал, и вся команда понимает их необходимость. 

Ну кто сказал, что у нас нет тестов практически на весь важный функционал (60-70% покрытия)? Я такое не говорил.
PM MAIL WWW ICQ   Вверх
PashaPash
Дата 9.11.2009, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Цитата(ivashkanet @  9.11.2009,  13:01 Найти цитируемый пост)

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

Какое отношение возможность совершить ошибку имеет к инициативе? Повышать инициативу (мотивировать) можно кучей разный способов, но "разрешить не писать тесты" среди них точно нет.
По личному опыту - на долгоиграющем проекте ДАО открывается как раз в обратную сторону :(
 А еще чуть позже приходит просветление что нужны именно функциональные тесты, т.к. за пару лет архитектуру переколбашивает, и unit-тесты становяться все дороже в поддержке.

ivashkanet, ты манагер или девелопер? судя по подходу - девелопер smile

Цитата(ivashkanet @  9.11.2009,  13:01 Найти цитируемый пост)

Ну кто сказал, что у нас нет тестов практически на весь важный функционал (60-70% покрытия)? Я такое не говорил. 

Цитата(ivashkanet @  6.11.2009,  10:17 Найти цитируемый пост)
Сами же тесты нужны либо для критической функциональности (высокая цена ошибки -- очень редко бывает) либо для функциональности в которой ты не совсем уверен.

Т.е. вы не уверены в 60-70% своего кода? smile


--------------------
PM MAIL WWW   Вверх
Partizan
Дата 9.11.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Цитата

Гнилая отмазка. Уж не обижайся.


В чём проблема? smile  Не вижу гнили smile
Осталось только скан NDA предоставить smile


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1054 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.