|
|
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
собственно разработчик или тестер?(в идеале) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 12:22:06 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
юнит-тесты это часть Test Driven Development . Development делает разработчик. Тестер может писать интеграционные тесты и нагрузочные. Если может конечно. Потому что в exUSSR, если тестер может писать код, то он уже не тестер, а разработчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 12:27:31 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczюнит-тесты это часть Test Driven Development .Не согласен. Прямой связи между TDD и юнит-тестами нет. UT - инструмент разработчика. TDD - подход, который полагается на этот инструмент. Везде, где я работал, разработчики писали юнит-тесты, но нигде из этих мест не было TDD и близко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 13:16:34 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoachНе согласен. Прямой связи между TDD и юнит-тестами нет. UT - инструмент разработчика. TDD - подход, который полагается на этот инструмент. Везде, где я работал, разработчики писали юнит-тесты, но нигде из этих мест не было TDD и близко. Прикольно. И как покрытие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 13:18:49 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПрикольно. И как покрытие?Причем тут покрытие, не совсем понимаю. Это совершенно отдельный разговор. Что такое TDD? Это разработка _через_ тестирование. Сначала тесты, потом код. Это один из вариантов экстремального программирования. Но в 95% проектах сначала пишут код, а потом его тестируют. И никакого XP/TDD них нет. Но это не мешает им иметь unit-тесты. Сложно найти проект без unit-тестов. Но еще сложнее найти проект, где следуют крайне спорному TDD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 13:25:24 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoachПричем тут покрытие, не совсем понимаю. Ну, например, при том что TDD позволяет держать покрытие максимальным. При том что простое написание юнит тестов это пуск на самотек. DEVcoachЭто совершенно отдельный разговор. И? DEVcoachЧто такое TDD? Это разработка _через_ тестирование. Сначала тесты, потом код. Да. DEVcoachЭто один из вариантов экстремального программирования. Нет. DEVcoachНо в 95% проектах сначала пишут код, а потом его тестируют. Тестирование и юнит тесты это не одно и то же. DEVcoachИ никакого XP/TDD них нет. XP и TDD никак не связаны. DEVcoachСложно найти проект без unit-тестов. Обращайся, если что. ;) DEVcoach Но еще сложнее найти проект, где следуют крайне спорному TDD. Дык процесс написания юнит тестов, не менее спорная штука чем TDD. Вот и спрашиваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 13:29:29 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoachBlazkowiczПрикольно. И как покрытие?Причем тут покрытие, не совсем понимаю. Это совершенно отдельный разговор. Что такое TDD? Это разработка _через_ тестирование. Сначала тесты, потом код. Это один из вариантов экстремального программирования. Но в 95% проектах сначала пишут код, а потом его тестируют. И никакого XP/TDD них нет. Но это не мешает им иметь unit-тесты. Сложно найти проект без unit-тестов. Но еще сложнее найти проект, где следуют крайне спорному TDD. Поддержу по всем пунктам! Использование TDD как бэ заставляет обеспечивать 100% покрытие. Но, нмв, снижает эффективность работы. Приходится снова и снова возвращаться к одному и тому же коду (в данном случае коду тест-метода) - то стаб не учли, то сигнатуру сервис-метода поменяли, то ещё чего-нибудь. Это во время разработки самого метода, для которого заранее написали тест я имею в виду.. И куда как проще и быстрее, нмв - написал метод, написал тесткейс, проверил, "забыл".. Вобщем, у меня что-то не сложилось с TDD, как не пыжился. Удовольствия от работы никакого. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 14:55:26 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
mesierПоддержу по всем пунктам! Использование TDD как бэ заставляет обеспечивать 100% покрытие. Но, нмв, снижает эффективность работы. Приходится снова и снова возвращаться к одному и тому же коду (в данном случае коду тест-метода) - то стаб не учли, то сигнатуру сервис-метода поменяли, то ещё чего-нибудь. Это во время разработки самого метода, для которого заранее написали тест я имею в виду.. И куда как проще и быстрее, нмв - написал метод, написал тесткейс, проверил, "забыл".. Вобщем, у меня что-то не сложилось с TDD, как не пыжился. Удовольствия от работы никакого. )) Основная проблема видимо в том, что у вас хреновое ТЗ, впрочем так зачастую и бывает в реальной жизни. ТДД имеет смысл только если спецификация четкая и все пункты понятны, иначе как и у вас это превращается в трудноподдерживаемое говно. И писать тесты надо ровно по пунктам ТЗ, а не checkIfValidSpringContext(), checkMemebrsInjected() и тому подобная инфраструктурная хрень зависящая от имплементации. Где-то слышал это называется Behaviour Driven Development. А тесты ради тестов пишут или неопытные, или тем кому нефиг делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 15:25:06 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
забыл ник , Вот на 100% ... не согласен . забыл никОсновная проблема видимо в том, что у вас хреновое ТЗ, впрочем так зачастую и бывает в реальной жизни. ТДД имеет смысл только если спецификация четкая и все пункты понятны, иначе как и у вас это превращается в трудноподдерживаемое говно. Коллега, давайте снимем розовые очки. Никогда ТЗ не бывает идеальным. Никогда . Поэтому зачем об этом говорить вообще? Далее, изменчивость ТЗ никак не связана с "поддерживаемостью" приложения. Ну вот вообще никак. Я пишу миддлварный продукт. У нас тут требования мы сами придумываем по принципу "а вдруг рынку это надо?". Иногда угадмываем, иногда не очень. Иногда вообще не угадываем . И никак это не поддерживаемости не сказывается. Ошиблись? Выпилили старое, запилили новое. В чем проблема? Проблемы с поддержкой у вас будут, если вы пишете хреновый код. Но извините меня, у вас эти проблемы будут независимо от требований . забыл никИ писать тесты надо ровно по пунктам ТЗ, а не checkIfValidSpringContext(), checkMemebrsInjected() и тому подобная инфраструктурная хрень зависящая от имплементации. Где-то слышал это называется Behaviour Driven Development.В корне не согласен. Разговор идет про unit-тесты . А unit-тест во своему смыслу кроет конкретный минимальный атомарный функционал. Настолько маленький, что его не будет видно ни в ТЗ, ни в архитектуре, нигде, кроме кода. Поэтому те тесты, про которые вы говорите, это что угодно, но только не unit-тесты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 15:44:39 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
А вот я с забыл ник -ом вполне согласный! Было пару-тройку раз всего в карьере, когда для реализации бизнес-логики уменя сначала было подробное ТЗ, затем (уже по моей инициативе) блок-схема. На этом же этапе куча вопросов было задано, решено и снято.. Затем тест-кейс, затем реализация. Это взлетело! Неожиданно, правда?. ))) Но столько времени заняло, ужас.. Только на блоксхему по ТЗ больше недели работы с утра и до вечера, с дюжиной перечерчиваний.. Естественно, ПМ и заказчик был недоволен сроками, kpi снижено и т.д.. )) А в основном же ТЗ если и есть, то либо расплывчатое, либо неполное. И пошло-поехало быстрей-быстрей BDD - Bug Driven Development. ))) Сам только что придумал термин. )) Думаю, так у большинства.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 16:06:57 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
программисты их пишут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 16:29:09 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoach, я вас понял и много где согласен, но боюсь вы не поняли меня:) постараюсь объяснить. DEVcoachКоллега, давайте снимем розовые очки. Никогда ТЗ не бывает идеальным. Никогда . Поэтому зачем об этом говорить вообще? Конечно никогда, но думаю вам повезло работать с вменяемыми заказчиками или самому на себя. В мире ынтырпрайза это очень редкий случай) Поясню, ТЗ по дефолту неполное и ущербное, но есть разные градации. Нормальное ТЗ - 1) откуда взять данные 2) описаны все депенденси(веб-сервисы, база и тп) 3) Юс кейсы использования 4) Обработка ошибок. 5) Мокап страницы(формы) 6) Правила бизнес-логики. Понятно, что детали могут измениться. Допустим было понятие "юзер из австралии" - это юзер, у которого в таблице кантрис - поле tenant=7. В процессе выяснилось, что должны быть соблюдены еще два условия - что срок полиси у него должен быть в текущем году, и какое-то поле в таблице users должно быть AUS. Это нормально. Но когда извините меня, в ТЗ стоит - определить австралиец ли это или нет, можно дернув какой-то веб-сервис(пока не ясно какой, мы предоставим детали позже) а может мы будем использовать какую-то стороннюю приблуду для интеграции с системой аккаунтинга - то это полный шлак. И да, все прекрасно понимают что это говно, но ничего сделать не могут, начинают гадать, возводить абстракции и тп. Может даже какие-то юнит-тесты писать, которые со 100% уверенностью потом будет геморройно поддерживать. DEVcoachДалее, изменчивость ТЗ никак не связана с "поддерживаемостью" приложения. Ну вот вообще никак. Так я этого и не говорил, я говорю что когда ТЗ говно и на него написаны тесты - тебе придется поддерживать не только код но и эти тесты, и это пипец какое удовольствие. DEVcoach Я пишу миддлварный продукт. У нас тут требования мы сами придумываем по принципу "а вдруг рынку это надо?". Иногда угадмываем, иногда не очень. Иногда вообще не угадываем . И никак это не поддерживаемости не сказывается. Ошиблись? Выпилили старое, запилили новое. В чем проблема? Угу, вам повезло работать на себя, вокруг все не так:) DEVcoachВ корне не согласен. Разговор идет про unit-тесты . А unit-тест во своему смыслу кроет конкретный минимальный атомарный функционал. Настолько маленький, что его не будет видно ни в ТЗ, ни в архитектуре, нигде, кроме кода. Поэтому те тесты, про которые вы говорите, это что угодно, но только не unit-тесты. Безусловно вы правы, я привел неправильный пример, потому что правильный пример привести сложно). Я имел ввиду что юнит тест должен покрывать только "открытые методы" и только независимым от имплементации способом(на мой взгляд конечно). Подумаю над примером, где нет много деталей, надеюсь мысль и так понятна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 16:42:20 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoachВ корне не согласен. Разговор идет про unit-тесты . А unit-тест во своему смыслу кроет конкретный минимальный атомарный функционал. Настолько маленький, что его не будет видно ни в ТЗ, ни в архитектуре, нигде, кроме кода. Поэтому те тесты, про которые вы говорите, это что угодно, но только не unit-тесты. Хотя ладно убедили, я больше имел ввиду интеграционные тесты для веб-контроллеров, написанные на JUnit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 16:48:51 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
Очень_Любопытныйсобственно разработчик или тестер?(в идеале) Разработчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 21:52:46 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
Очень_Любопытный, Разработчик их пишет. А почему у вас вообще такой вопрос возник, кто-то пытается вам доказать обратное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 22:14:19 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczDEVcoachНе согласен. Прямой связи между TDD и юнит-тестами нет. UT - инструмент разработчика. TDD - подход, который полагается на этот инструмент. Везде, где я работал, разработчики писали юнит-тесты, но нигде из этих мест не было TDD и близко. Прикольно. И как покрытие? Если не писать модульные тесты, покрытие ими равно 0. Если писать модульные тесты без TDD то покрытие с ними может быть такое же, как и при TDD. Но в любом случае оно будет больше 0, что уже есть результат. Дополнительный бонус - часто модульные тесты позволяют значительно сократить время на отладку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 07:51:25 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
Очень_Любопытныйсобственно разработчик или тестер?(в идеале) В идеале - разработчик тестов, находящийся с разработчиком продукта в равных условиях: оба опираются на спецификацию. Если же спецификации нет, то это не идеал, а жопа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 09:09:56 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
rfqВ идеале - разработчик тестов, находящийся с разработчиком продукта в равных условиях: оба опираются на спецификацию. Если же спецификации нет, то это не идеал, а жопа.Коллега, вы опять говорите не про юнит-тесты. Юнит-тесты пишет разработчик и никто иначе. Цель юнит-теста - убедиться, что атомарный кусок кода работает, как ожидается. Этот кирпичик программы может быть настолько маленьким и специфичным, что вы его не заметите ни в требованиях, ни в архитектуре. Поэтому мы можем спорить на тему того, кто должен писать функциональные тесты. Мы можем спорить, кто должен писать интеграционные и load-тесты. Но мы не можем спорить, кто должен писать unit-тесты, это обязанность разработчика и точка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 11:13:25 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoachrfqВ идеале - разработчик тестов, находящийся с разработчиком продукта в равных условиях: оба опираются на спецификацию. Если же спецификации нет, то это не идеал, а жопа.Коллега, вы опять говорите не про юнит-тесты. Юнит-тесты пишет разработчик и никто иначе. Цель юнит-теста - убедиться, что атомарный кусок кода работает, как ожидается. Этот кирпичик программы может быть настолько маленьким и специфичным, что вы его не заметите ни в требованиях, ни в архитектуре. Поэтому мы можем спорить на тему того, кто должен писать функциональные тесты. Мы можем спорить, кто должен писать интеграционные и load-тесты. Но мы не можем спорить, кто должен писать unit-тесты, это обязанность разработчика и точка. Хорошо, а что тогда по-вашему TDD? На мой взгляд это не только юнит-тесты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 12:12:07 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
Смешали Методологию проектирования в определённой организации. Что подходит для одной (RUP), не подходит для другой (XP..MSF,,SCRUM) 310450 Но! Методология XP (одновременно кодирование со всем остальным...экстремальное программирование), появилась после RUP (как пережиток советсткого прошлого). Так что, как всегда...."нет золотой пули". Иерархия требований по уровням от бизнеса к технологиям: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 12:46:01 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
забыл никХорошо, а что тогда по-вашему TDD? На мой взгляд это не только юнит-тестыЯ уже отвечал на этот вопрос выше. Unit-тесты - это инструмент . TDD - это методология , которая активно использует этот инструмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 13:25:28 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
DEVcoachзабыл никХорошо, а что тогда по-вашему TDD? На мой взгляд это не только юнит-тестыЯ уже отвечал на этот вопрос выше. Unit-тесты - это инструмент . TDD - это методология , которая активно использует этот инструмент. Ок, тогда, хоть это и не совсем по теме ТС, но я переформулирую свое утверждение. TDD без вменяемой спецификации - время на ветер. Не для холивара ради, а чтобы окончательно пояснить свою мысль. По юнит-тестам с вами согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 13:56:48 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
Для меня UT - это еще и инструмент авто-документирования кода. По сути набор утверждений (asserts) можно дословно вносить в рабочую документацию и это будет правильным. Особенно - краевые тесты, где проверяется реакция на null-аргументы, empty-strings и ситуации когда код обязан вернуть null-значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 18:34:48 |
|
||
|
Кто пишет юнит тесты?
|
|||
|---|---|---|---|
|
#18+
юнит тесты для слабаков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2013, 23:45:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38387710&tid=2128604]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 276ms |
| total: | 452ms |

| 0 / 0 |
