Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Unit Test. Кто использует?

1707  1 2 3 4 5 6 все
bobkov постоялец30.10.16 12:01
bobkov
NEW 30.10.16 12:01 
в ответ Murr_0001 30.10.16 09:25
Слой оттестирован - все методы работают как ожидается.А вот все остальное - не работает.

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

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

#21 
Программист коренной житель30.10.16 12:10
NEW 30.10.16 12:10 
в ответ moose 30.10.16 11:27

Забыл унаследовать :) Писал на коленке :) Но идея, думаю, понятна ;)

#22 
  moose местный житель30.10.16 16:36
NEW 30.10.16 16:36 
в ответ Программист 30.10.16 12:10

Это - не проблема: юнит тест мигом бы выявил : )

#23 
Программист коренной житель30.10.16 17:28
NEW 30.10.16 17:28 
в ответ moose 30.10.16 16:36

Это выявил бы компилятор :D

#24 
  moose местный житель30.10.16 17:41
NEW 30.10.16 17:41 
в ответ Программист 30.10.16 17:28, Последний раз изменено 30.10.16 17:42 (moose)

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

#25 
Программист коренной житель30.10.16 17:53
NEW 30.10.16 17:53 
в ответ moose 30.10.16 17:41, Последний раз изменено 30.10.16 17:56 (Программист)

Пробовать не буду :) Тебе придраться или как? Мысль заключалась в том, что некая функция используется дофига раз, а тестировать эту функцию смысла нет. Тестировать надо то, что, в данном случае, вообще ни разу не используется на прямую.


PS: добавил наслодование от интерфейса. вроде туда :D

#26 
  moose местный житель30.10.16 18:25
NEW 30.10.16 18:25 
в ответ Программист 30.10.16 17:53

Да это ясно: тестировать нужно только то, что имеет смысл тестировать.

Код зря корректировали: все равно никто не будет использовать : )

#27 
AlexNek патриот30.10.16 23:01
AlexNek
NEW 30.10.16 23:01 
в ответ Программист 30.10.16 17:53
Мысль заключалась в том, что некая функция используется дофига раз, а тестировать эту функцию смысла нет

Я бы взял аналогию с автомобилями - светофор раньше всего нужно ставить там, где они дофига ездят. А ставить его на выезде в поле, на окраине большого смысла нет.

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

#28 
Simple Nothing is f*cked31.10.16 13:54
Simple
NEW 31.10.16 13:54 
в ответ Программист 29.10.16 07:57

А кто сказал, что "тдд" и "интересно" обязательно идут нога в ногу? Мне вот иногда интересно какой-нить гейзенбаг найти :))

#29 
Программист коренной житель31.10.16 15:22
NEW 31.10.16 15:22 
в ответ Simple 31.10.16 13:54

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


У меня сейчас как раз такой момент :) Ухожу :D

#30 
Murr_0001 знакомое лицо31.10.16 15:42
Murr_0001
31.10.16 15:42 
в ответ bobkov 30.10.16 12:01

Вообще-то, Я поленился отквотить исходник в надежде что все и так будет понятно. Ну да ладно - вот "исходный постулат":

То есть, если в приложении есть какие-то слой "универсальных" сущностей, например, какой-нибудь модуль доступа к данным, то он должен быть хорошенько покрыт Unit-тестами.

Я привел тебе пример, когда 100% покрытие тестами этого "универсального" слоя не дает никакого полезного результата.

Тут же ты сам и говоришь:

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

Разумеется. Но 100% тест этого слоя этого факта не выявляет. Просто потому что это другой код.


может быть, играет роль

Там изменена методика передачи параметров, а плугины об этом пока не знают. Что и как исправлять - понятно, но тесты "универсального" уровня этого выявить не могут.

#31 
Simple Nothing is f*cked31.10.16 15:56
Simple
NEW 31.10.16 15:56 
в ответ Программист 31.10.16 15:22

Надеюсь, с прибавкой к зарплате? :)

#32 
Программист коренной житель31.10.16 16:00
NEW 31.10.16 16:00 
в ответ Simple 31.10.16 15:56

Не знаю еще :) Пока что я только сообщил шефу, что ухожу :) Пового проекта еще нет :D

#33 
Simple Nothing is f*cked31.10.16 16:04
Simple
NEW 31.10.16 16:04 
в ответ Программист 31.10.16 16:00

Ты ж фрилансер?

#34 
Программист коренной житель31.10.16 18:36
NEW 31.10.16 18:36 
в ответ Simple 31.10.16 16:04

Да. Сейчас вот ищу себе проект с 01.01.2017 :)

#35 
AlexNek патриот31.10.16 23:02
AlexNek
NEW 31.10.16 23:02 
в ответ Программист 31.10.16 18:36
себе проект с 01.01.2017

Особые требования есть? А то меня до сих пор задалбывают предложениями.

#36 
  moose местный житель31.10.16 23:08
NEW 31.10.16 23:08 
в ответ moose 27.10.16 15:10

А применим ли юнит тест в мультипоточной среде? Как можно протестировать "юнит", если результат зависит от того, что происходит в других потоках?

#37 
AlexNek патриот31.10.16 23:12
AlexNek
31.10.16 23:12 
в ответ Murr_0001 31.10.16 15:42
но тесты "универсального" уровня этого выявить не могут.

Это мы просто тута только об одном уровне говорили.

В одном проекте было типа: внутри модульные, модульные и межмодульные.

Но в любом случае тесты не дают полной гарантии рабоспособности программы. Это всего лишь еще один дополнительный инструмент.

#38 
pavel-hh старожил01.11.16 04:52
pavel-hh
NEW 01.11.16 04:52 
в ответ Программист 31.10.16 18:36

а какие у вас требования и какие умения?

http://foren.germany.ru/arch/jobs/f/30833621.html?Cat=&pag...

для фриланса естественно другая оплата.

Linux is like a Wigwam. No Windows! No Gates! And Apache inside.
#39 
Simple Nothing is f*cked01.11.16 08:37
Simple
NEW 01.11.16 08:37 
в ответ pavel-hh 01.11.16 04:52
svn... DB2... Websphere

безум Жуть :)

#40 
1 2 3 4 5 6 все