Size: a a a

JPoint, Java-конференция

2020 January 16

AK

Anatoliy Korovin in JPoint, Java-конференция
страха рефакторинга не было у людей?
это каждый раз что-то меняя, надо потом ждать чтобы все E2E прошли, для того чтобы убедиться что ничего не изменилось в поведении системы?
источник

GK

Gregory Koshelev in JPoint, Java-конференция
Страха рефакторинга не было. Изоляция кода была сделана неплохо. Движок, который пролезал во все части систем, я делал в одну каску, поэтому, думаю, удалось избежать многих проблем.
источник

AK

Anatoliy Korovin in JPoint, Java-конференция
так а что дает изоляция, даже если мы поменяли одну строчку в одном классе, если у нас есть только E2E для проверки, что в итоге ничего не сломалось, это же долго?
источник

AK

Anton Kitov in JPoint, Java-конференция
Gregory Koshelev
Вот это был удивительный феномен для меня.
Заходил на один проект, в котором один из сервисов содержал много нагенеренного кода. Тесты в том числе ) и они тестировали чуть больше чем ничего.
Со временем перелопачивали и делаем интеграционные тесты с testcontainers. Каждый тест - сценарий.
Так как система модульная и в ядре блокчейн то и он в тестконтейнерах запускается.
И изначально чтоб разрабатывать слои ближе к пользователю, пишется тест для блокчейна с последовательностями различных команд и транзакций для него в сервисе который ближе всех к блокчейну, выяснить специфику реализации уже апи для клиентов. Мобильным разработчикам , чтоб понять как генерить транзакции тоже помогает взглянуть на тест около ядра
источник

AK

Anatoliy Korovin in JPoint, Java-конференция
тут интеграционные тесты иногда в больших монолитных проектах обламывает гонять, потому как долго, юниты прошли - уже чуток спокойнее, а ждать E2E видится довольно долгим процессом
источник

S

Sergey in JPoint, Java-конференция
Я ещё вопрос задам: как понимали что в E to E тоже нет багов?
источник

GK

Gregory Koshelev in JPoint, Java-конференция
Долго, но это и тренерует не допускать очевидных багов, наверное. Сложно сказать, надо рефлексировать.
источник

GK

Gregory Koshelev in JPoint, Java-конференция
Sergey
Я ещё вопрос задам: как понимали что в E to E тоже нет багов?
Аналитика же?
источник

GK

Gregory Koshelev in JPoint, Java-конференция
Всякие диаграммки можно строить: data-flow, control-flow.
источник

S

Sergey in JPoint, Java-конференция
Я к тому, что баг в тесте может приводить к мнению, что все в порядке и можно деплоить. И ещё при таком подходе стоимость ошибки взлетает до небес. Мое имхо
источник

r

rokrbek in JPoint, Java-конференция
Gregory Koshelev
Долго, но это и тренерует не допускать очевидных багов, наверное. Сложно сказать, надо рефлексировать.
Это всё равно, что тренироваться по бразильской системе, боясь разбить окно.
С юнит-тестами фидбэк-луп быстрее и меньше когнитивная нагрузка по сравнению с дебагом глазами, дебаггером или логами
источник

GK

Gregory Koshelev in JPoint, Java-конференция
Sergey
Я к тому, что баг в тесте может приводить к мнению, что все в порядке и можно деплоить. И ещё при таком подходе стоимость ошибки взлетает до небес. Мое имхо
Тоже самое можно сказать про баг в unit-тесте 🙂
источник

A

AlexJok in JPoint, Java-конференция
Я себе слабо представляю как можно разрабатывать более менее серьёзный проект и не писать unit тесты. Не потому что так кто-то сказал и это модно, а потому что мы все ошибаемся и я не верю своему коду пока не проверю его от и до.
источник

S

Sergey in JPoint, Java-конференция
Gregory Koshelev
Тоже самое можно сказать про баг в unit-тесте 🙂
Я не призываю отказываться от ее тестов, я за заявку юнит, ее, ручное.
источник

СЦ

Сергей Цыпанов in JPoint, Java-конференция
источник

CC

Curious Cephalopod in JPoint, Java-конференция
AlexJok
Я себе слабо представляю как можно разрабатывать более менее серьёзный проект и не писать unit тесты. Не потому что так кто-то сказал и это модно, а потому что мы все ошибаемся и я не верю своему коду пока не проверю его от и до.
Ну для логики сложнее чем assertEqual(sum(2,2),4) согласен, тесты нужны. Но если половина методов это расчёты из серии "возьми значение из этого столбца и умножь на значение из другого столбца" - то смысл в них?)
источник

A

AlexJok in JPoint, Java-конференция
Curious Cephalopod
Ну для логики сложнее чем assertEqual(sum(2,2),4) согласен, тесты нужны. Но если половина методов это расчёты из серии "возьми значение из этого столбца и умножь на значение из другого столбца" - то смысл в них?)
Ну не знаю, смотря что умножаем. В финтехе можно нормально наумножать, например)
Для 2х2 не надо конечно, но и что-то давно такого кода не писал
источник

J

Jktu in JPoint, Java-конференция
источник

AG

Asad Ganiev in JPoint, Java-конференция
Alexei Vinogradov
Коллеги, ответьте пожалуйста (без копирования гугла, своими словами): зачем разработчики пишут, или должны бы писать, юнит-тесты. Какая от этого польза?
Это типа ненаучного соц. опроса, ответы, которые буду цитировать обязательно заанонимизирую.
Юнит-тесты это хороший способ документации кода и проверка на совместимость ожидаемого поведения или результата тестируемого юнита или функциональности.
Однако юнит-тесты не гарантируют полной работаспособности системы, которая состоит из этих юнитов.
Для проверки на совместимость работаспособности целой системы пишутся интеграционные тесты.
источник

AV

Alexei Vinogradov in JPoint, Java-конференция
Alexei Vinogradov
Коллеги, ответьте пожалуйста (без копирования гугла, своими словами): зачем разработчики пишут, или должны бы писать, юнит-тесты. Какая от этого польза?
Это типа ненаучного соц. опроса, ответы, которые буду цитировать обязательно заанонимизирую.
По просьбам трудящихся, которые не хотят светить своим мнением в чате - анонимный формуляр
https://forms.gle/9YprgbD7swr2sZrt7

Спасибо за ваши мнения!
источник