Size: a a a

2020 May 29

DE

Dmitry Eliseev in PHP
Dmitriy Tkachenko
очень похоже, что ты попал в когнитивную ловушку "серебрянной пули" в виде типов и ФП. Уж очень они любят категорически заявлять, что тесты не спасут
Да, хотел уже написать, что это как у ФП-шников везде на хабре довод "У вас в ООП глобальный неконтролируемый мутабельный стейт, размазанный по всему коду".  А у меня в ООП вообще нигде "глобального" стейта нет, так как всё инкапсулировано и сокрыто. Видимо дело во мне :)
источник

ЕР

Евгений Ромашкан... in PHP
ууу)))
Смотри чтоб налл пойнтер в корзине не вылетел случайно, когда к отсутствующему стейту будешь обращаться )
источник

DE

Dmitry Eliseev in PHP
Евгений Ромашкан
Тесты не гарантируют корректность работы всей системы - никогда. Пусть будет так, так корректнее.
Тогда вообще даже сама работа всей системы не гарантирует корректной её работы.
источник

k

knopkod4v in PHP
Евгений Ромашкан
От них может и достаточно, но уверенности что система работает сколь-либо корректно вне тестов от этого 0 и не более)
у меня вот эксперимент получился, на одну часть системы я написал тест, а на другую не написал. Так вот та часть, на которую не написал уже раз 10 сломалась, а та часть на которую написал всего пару раз.
Так что вот у меня уверенности больше с тестами, чем без
источник

ЕР

Евгений Ромашкан... in PHP
knopkod4v
у меня вот эксперимент получился, на одну часть системы я написал тест, а на другую не написал. Так вот та часть, на которую не написал уже раз 10 сломалась, а та часть на которую написал всего пару раз.
Так что вот у меня уверенности больше с тестами, чем без
Да ок, ок, не 0. Есть уверенность.
источник

DE

Dmitry Eliseev in PHP
Евгений Ромашкан
ууу)))
Смотри чтоб налл пойнтер в корзине не вылетел случайно, когда к отсутствующему стейту будешь обращаться )
Ничего страшного. В PHP с инспекциями налл поинтер неактуален из коробки. А в Java да, приходится велосипедить.
источник

ЕР

Евгений Ромашкан... in PHP
knopkod4v
у меня вот эксперимент получился, на одну часть системы я написал тест, а на другую не написал. Так вот та часть, на которую не написал уже раз 10 сломалась, а та часть на которую написал всего пару раз.
Так что вот у меня уверенности больше с тестами, чем без
Просто не может быть достаточно их и не будет никогда. вон sqlite покрыт тестами 500 процентов(полный коверадж и даже больше), а баги постоянно случаются, причём в том числе в коде
источник

ЕР

Евгений Ромашкан... in PHP
Или psalm какой, "success path" там как бы покрыт, а багов на граничных значениях оч много
источник

k

knopkod4v in PHP
Евгений Ромашкан
Просто не может быть достаточно их и не будет никогда. вон sqlite покрыт тестами 500 процентов(полный коверадж и даже больше), а баги постоянно случаются, причём в том числе в коде
ну то что за coverage не стоит гнаться - это понятно.
И я считаю, что 100% уверенности быть не может просто потому, что мы не видим будущее.
источник

ЕР

Евгений Ромашкан... in PHP
knopkod4v
ну то что за coverage не стоит гнаться - это понятно.
И я считаю, что 100% уверенности быть не может просто потому, что мы не видим будущее.
А суть не просто в каверадж, тесты то у них хорошие я думаю
источник

ЕР

Евгений Ромашкан... in PHP
источник

DE

Dmitry Eliseev in PHP
Евгений Ромашкан
Да ок, ок, не 0. Есть уверенность.
Ну как-то 90% немного отличается от "ничего".
источник

ЕР

Евгений Ромашкан... in PHP
Dmitry Eliseev
Ну как-то 90% немного отличается от "ничего".
Вот писал бы с типами, не стал бы сравнивать несравнимое )))
источник

DE

Dmitry Eliseev in PHP
Евгений Ромашкан
Вот писал бы с типами, не стал бы сравнивать несравнимое )))
Ну я и говорю, что видимо дело во мне. И с типами умею вычисления функционально делать, и объекты могу без NPE и шаред стейта собирать, и тесты у меня достаточно гарантий дают. Я в этом ненормальный.
источник

ЕР

Евгений Ромашкан... in PHP
Dmitry Eliseev
Ну я и говорю, что видимо дело во мне. И с типами умею вычисления функционально делать, и объекты могу без NPE и шаред стейта собирать, и тесты у меня достаточно гарантий дают. Я в этом ненормальный.
Ты путаешь свою уверенность и наличие гарантий
источник

ЕР

Евгений Ромашкан... in PHP
Вопрос лишь в том как к тестам относиться, и не более.
Чем менее строгий/выразитильный язык тем больше нужно тестов чтобы иметь хоть какую-то уверенность
источник

ЕР

Евгений Ромашкан... in PHP
Ну и никакому тесту в принципе не под силу гарантировать, условно, что простая функция сортировки массива чисел на любых входных данных гарантированно вернёт отсторированный массив
источник

ЕР

Евгений Ромашкан... in PHP
Опять, же, все эти пхп инспекции и анализаторы полагаются на то что в пхп доках сторонних либ верно указаны возвращаемые типы, если они вообще там указаны
источник

ЕР

Евгений Ромашкан... in PHP
Весь топик изначально начался из-за того что некто Дмитрий который не Елисеев сказал что тестов должно быть ровно столько, чтобы гарантировать "работоспособность" сервиса, что такое работоспособность это, конечно, большой вопрос к нему, если для него это "не дымится при запуске" то может быть и можно проверить одним тестом что система способна запускаться и не дымиться/взрываться, причём речь тогда шла не про smoke-тесты, а про все
источник

Л

Лев in PHP
А где-то в это время в прод выкатывается криптографический сервис с участием денег вообще без единого теста на любой конфигурации, вплотную завязанный с апи N систем каждая из которых так-же не имеет ни одного теста...
источник