
Daniel
15.02.2018
11:42:38
то есть - у вас есть нетривиальный код (тривиальный тестирования не требует), и есть представления о том, как он должен работать, недокументированные, и вы на их основании написали тесты, и веруете, что это поможет в поиске ошибок?
я ничего не упустил?

Vladislav
15.02.2018
11:43:29

Daniel
15.02.2018
11:43:48
на основании спеки

Vladislav
15.02.2018
11:44:20

Google

Pawel
15.02.2018
11:44:29

Daniel
15.02.2018
11:44:48
нельзя считать тесты документацией
а вот что тестируете вы - я пока не понял

Vladislav
15.02.2018
11:46:13

Pawel
15.02.2018
11:46:20

Daniel
15.02.2018
11:47:09

Илья
15.02.2018
11:48:59
то есть - у вас есть нетривиальный код (тривиальный тестирования не требует), и есть представления о том, как он должен работать, недокументированные, и вы на их основании написали тесты, и веруете, что это поможет в поиске ошибок?
я ничего не упустил?
если есть спека, касающаяся внутренней реализации, что мешает ее тестировать? публичный интерфейс может быть очень высокоуровневым, тест сьют не удобно собирать, и вполне можно протестировать все во внутренней реализации

Vladislav
15.02.2018
11:49:06
при чем тут тесты?
Ну при том, что если вы вынесли что-то в независимый кусок кода, значит, то ожидаете от этого куска какого то поведения.

Daniel
15.02.2018
11:49:59
свои ожидания?

Vladislav
15.02.2018
11:50:18

Google

Daniel
15.02.2018
11:50:35

Vladislav
15.02.2018
11:52:23

Daniel
15.02.2018
11:52:37

Pawel
15.02.2018
11:53:26
потому, что тесты - это не дока
пусть будет не дока. Но даёт достаточно представления о коде чтобы его сопровождать и читать. Пойнт в том, что (иногда) нет мне смысла делать нетривиальный код отдельным пакетом и писать на него документацию, поскольку не будет он повторно использоваться. Но какие-то гарантии что он работает - таки хочется иметь

Daniel
15.02.2018
11:53:42
смотрите
самые серьезные ошибки - это неправильно понятая спека
именно с тестирования кода на соответствие спеке и надо начинать
где заканчивать - ваше дело

Pawel
15.02.2018
11:54:51

Daniel
15.02.2018
11:55:14
но обычно заканчивать надо там, где достигнут минимально приемлемый результат
а это ровно там, где закончилась спека

Vladislav
15.02.2018
11:56:39
для других тестов у вас нет оснований
Отлично. Вашей команде пришло задание на целую систему. Мобильное приложение и бэкенд. По факту у вас есть утвержденный дизайн в спеке и логика. Что тестируем?

Daniel
15.02.2018
11:57:27
с этого места мы не то, что тестировать - мы разрабатывать не можем начать

Vladislav
15.02.2018
11:57:59
Можете.
Заказчику все равно какое api у вас там.

Daniel
15.02.2018
11:58:32
сейчас архитектор разрисует нам структуру и напишет спеки на интерфейсы - и можно будет начинать. тесты на соответствие интерфейсам мы напишем на основании этих спек
при чем тут заказчик вообще?

Vladislav
15.02.2018
11:58:50

Daniel
15.02.2018
11:59:13
более того - это я сам

Google

Daniel
15.02.2018
11:59:15
и что?

Vladislav
15.02.2018
11:59:53
Вы и архитектор и программист. Вы разрисовываете интерфейс и тестируете его?

Daniel
15.02.2018
12:00:16
и что?

Vladislav
15.02.2018
12:00:49
Что вы тестируете? свои ожидания от того что вы напроектировали?

Daniel
15.02.2018
12:01:05
документированные ожидания

Vladislav
15.02.2018
12:01:40
Эта документация живет только среди вашей команды.

Daniel
15.02.2018
12:01:50
и что?

Vladislav
15.02.2018
12:02:05
Я также могу задокуметировать внутреннее устройства пакета. Мало того это и нужно делать.

Daniel
15.02.2018
12:02:18
зачем?!

Vladislav
15.02.2018
12:02:24
Просто когда я пишу пакет я и архитектор его и реализатор.
зачем?!
Чтобы когда кто-то в него полез он понимал что происходит.

Daniel
15.02.2018
12:02:55
он и так поймет, не беспокойтесь.

Daniel
15.02.2018
12:03:14
если уж до деталей реализации доберется

Vladislav
15.02.2018
12:04:19
Если там нетривиальный код, то с доками проще.

Daniel
15.02.2018
12:04:31
рили?
код я все равно прочту, потому, что дока врет все время

Vladislav
15.02.2018
12:05:05
Ну то как вы пишете доки это уже ваш опыт.
Или комменты внутри реализации вы тоже не пишете?

Daniel
15.02.2018
12:06:30
при чем тут комменты? при чем тут дока на детали реализации? вы помните, о чем разговор?

Pawel
15.02.2018
12:06:44

Google

Daniel
15.02.2018
12:07:07
конечно, меньше
безусловно

Илья
15.02.2018
12:07:22
так почему не стоит писать тесты?
если есть время и желание

Daniel
15.02.2018
12:07:35
стоит, конечно! на все, на что есть спека

Vladislav
15.02.2018
12:08:16

Daniel
15.02.2018
12:08:33
хотите тест - напишите спеку сначала

Pawel
15.02.2018
12:08:45

Илья
15.02.2018
12:09:02

Admin
ERROR: S client not available

Daniel
15.02.2018
12:09:40
тогда не пишите
но и тестов тогда тоже не надо

Илья
15.02.2018
12:10:09
т.е. у вас в комманде так, ок

Daniel
15.02.2018
12:10:12
потому, что тесты без спеки - это просто способ убить время

Vladislav
15.02.2018
12:10:20
Знаете для заказчика все то что вы как архитектор там наваяли тоже детали реализации.

Daniel
15.02.2018
12:10:43
у вас заказчик юнит-тесты пишет?

Vladislav
15.02.2018
12:11:01
Нет конечно.

Daniel
15.02.2018
12:11:21
вы с какой-то простой мыслью спорите
для тестирования нужен эталонный вход и эталонный выход
они должны быть документированы и каким-то образом проверены

Google

Vladislav
15.02.2018
12:12:32
Отлично. Для заказчика эталон это кнопку в приложении и получить сообщение на экране.

Pawel
15.02.2018
12:12:36

Daniel
15.02.2018
12:13:02
вообще, конечно, я от этого разговора устал

Vladislav
15.02.2018
12:13:21

Daniel
15.02.2018
12:13:54
опилки

Vladislav
15.02.2018
12:13:58
Ибо отношение заказчик комманда отлично отбражается в потребитель библиотеки и разработчик.

Daniel
15.02.2018
12:14:04
зачем я опять разговариваю с опилками?

Илья
15.02.2018
12:19:07
подитожим, по сути вы утверждаете что "но обычно заканчивать надо там, где достигнут минимально приемлемый результат", является абсолютом, почему "обычно" превратилось в "всегда", неясно, насчет тестирования публичного АПИ никто не спорит, но вы продолжаете гнуть свою линию

Daniel
15.02.2018
12:19:31
илья, у вас тимлид есть?

Илья
15.02.2018
12:19:38
да

Daniel
15.02.2018
12:19:47
вот ему этот вопрос и задайте :)

Vladislav
15.02.2018
12:19:50

Daniel
15.02.2018
12:20:12
он или пошлет вас, или рассказет, что рабочих рук нехватка, и делать лишнее - граничит с саботажем

Pawel
15.02.2018
12:20:21

Alex
15.02.2018
12:20:40
Товарищи, привет! Кто sqlx юзает? Когда в функции стартуешь транзакцию, надо ли по defer ее роллбечить, если вдруг случится что? Паника, например?

Pawel
15.02.2018
12:21:18

Alex
15.02.2018
12:21:36
А как он понимает, что надо отменить транзакцию?

Daniel
15.02.2018
12:21:37
а?!
обычно, ели транзакция не прошла успешно - ее надо ролбечить
но штука в том, что транзакция держит коннект к базе