
serbernar
02.06.2017
13:33:37
На 300 страниц которая

Oleksandr?
02.06.2017
13:33:43
научись юнит тесты писать и все
и вообще тестировщики не нужны

serbernar
02.06.2017
13:34:23
Смешно

Google

Oleksandr?
02.06.2017
13:34:36
ты ж сам питонист

Richard
02.06.2017
13:34:50
Ребят, харе набрасывать.

serbernar
02.06.2017
13:35:33
Но у нас тестировщики другими задачами занимаются и к этому коду вообще не лезут, а его надо протестить, я и спрашиваю. Не хотел тебя отвлекать, по этому в лс не писал

Nikita
02.06.2017
13:36:08
чтоб нормально писать юниты надо понять как и писать и моки освоить
в общем-то все :)

serbernar
02.06.2017
13:36:30

Nikita
02.06.2017
13:36:47
ваш бэк не тестирует никто?

serbernar
02.06.2017
13:37:14
Моки я писал, ну, т.е. немного писать юнит тесты могу, но говорю же - не серьезно подходить не хочу
Не-а
(

Nikita
02.06.2017
13:37:33
: (

Pavel
02.06.2017
13:38:35
Вот и говорите после этого что питонисты более грамотные разработчики чем пхписты :)

Nikita
02.06.2017
13:39:43
ну с юнит-тестами примерно как с бэкапами

Google

Nikita
02.06.2017
13:39:47
их либо не пишут, либо уже пишут

serbernar
02.06.2017
13:41:12
Тут дело не в грамотности, а в организации, да и юнит-тесты были написаны(подозреваю каряво, мною) под мои же скрипты и интерфейсы, но они переписываются, и на меня повесили задачу - покрыть новое - адекватными тестами. Да, у меня нет опыта в глубоком тестировании

Nikita
02.06.2017
13:41:44
на самом деле практически все фигачат юниты по наитию

Pavel
02.06.2017
13:41:59
По моему опыту хороший набор функциональных тестов даже лучше чем юниты

serbernar
02.06.2017
13:42:07
Ну, на кодварсе тоже приходится юнитьесты писать

Nikita
02.06.2017
13:42:09
у них разные цели

Pavel
02.06.2017
13:42:28
Да цель у них у всех одна - находить баги

serbernar
02.06.2017
13:42:45
У нас этот бэк не работает с фронтом вообще

Nikita
02.06.2017
13:42:49

Pavel
02.06.2017
13:42:52
Базовые глупые ошибки вылавливаются на ура, при этом даже не обязательно как там внутри реализовано, какие классы, свойства и т.д.

Nikita
02.06.2017
13:43:04
юнит-тесты это формальное доказательство корреткной работы кода

Pavel
02.06.2017
13:43:39

Nikita
02.06.2017
13:43:52
если у тебя одностраничник с 95% логики на бэке – удачи покрывать это функциональными тестами

Pavel
02.06.2017
13:44:31
Для формального доказательства нужно рассмтривать все состояние переменных программы и иметь очень сложную мат. модель, что быстро приводит к комбинаторному взрыву.

Nikita
02.06.2017
13:44:51

Shoo
02.06.2017
13:45:19

Pavel
02.06.2017
13:45:24
Юнит тесты лишь тыкают единичные значения из огромной кучи, и если повезет то словят ошибку.

Nikita
02.06.2017
13:45:44

serbernar
02.06.2017
13:46:10
Это extract transfoarm load processes, я с ОЛАП работаю, там данные, получается мне нужно писать юниттесты под функции/интерфейсы и отдельно функциональные под воркеры, так?

Google

Shoo
02.06.2017
13:46:18
Тесты, которые работают по принципу "повезет" - плохие тесты.

serbernar
02.06.2017
13:47:08
Я не в вебе работаю(относительно)

Nikita
02.06.2017
13:47:10
А в чем проблема?
если у тебя на бэке крутится огромная логика, которая никак на фронте не отображается, а отображается только единичный результат работы огромной машины, высокоуровневым е2е ты ее не покроешь

serbernar
02.06.2017
13:47:14
Ну, не сайты

Shoo
02.06.2017
13:47:29

Nikita
02.06.2017
13:47:45

Pavel
02.06.2017
13:47:46

Shoo
02.06.2017
13:47:58
Нет.
Окей, в чем проблема покрыть это e2e?

Nikita
02.06.2017
13:48:21
в том, что тебе нужно проверять сущности, о которых клиентская часть вообще не в курсе

serbernar
02.06.2017
13:48:25
Много новых слов, иду в гугл заполнять пробелы

Shoo
02.06.2017
13:48:28
У тебя есть входящие значения, ожидаемая цепочка взаимодействий и исходящие значения.
e2e проверяет _всю_ цепочку, а не только вход выход.

Shoo
02.06.2017
13:49:04
Клиентской части и не надо знать про все сущности, которые участвуют в тесте.
Ну, окей, выражусь иначе. Я сейчас делаю end to end тесты для сервиса, у которого клиентская часть не знает 90% того, что происходит под капотом.
Это вполне нормально тестируется.

Pavel
02.06.2017
13:50:30

Nikita
02.06.2017
13:51:18

serbernar
02.06.2017
13:52:15
Классный холивар, как я понял и не понял: советов больше нет, пошел гуглить, спасибо Никита и Хотабыч

Nikita
02.06.2017
13:52:32
отвалидировать все тестами верхнего уровня чрезвычайно дорого

Google

vyazovoy
02.06.2017
13:53:15
товарищи, как вы относитесь с большим тестовым заданиям? к пример кейс - вы отправили резюме в небольшую компанию, работа в которой по каким то причинам вам очень интересна. в ответ вам присылают БОЛЬШОЕ тестовое задание так или иначе затрагивающее тестирование текущего проекта компании. это может быть: написать цикл кейсов охватывающих какую то функциональность, тестирование свежего билда перед релизом и описание багов, написание тестов для фичи, ну вы поняли. большое такое, часов на 20 задание. вы будете его делать? попросите ли денег за его выполнение, хотя бы символически? попытаетесь договорится о ином задании?

Pavel
02.06.2017
13:53:23
Не надо валидировать все, только обычные кейсы

Nikita
02.06.2017
13:54:00

Pavel
02.06.2017
13:54:17
А что такое "всё" ? :)

Натикоша
02.06.2017
13:54:53
а часто вы просите денег за тестовое задание?

Pavel
02.06.2017
13:55:20
Я например пишу крошечный тест который открывает странички нашего приложения. Кода получается строчек на 70-100, зато во время работы бэка затрагивается работа 70% всех классов, и если хоть один из них как-то с ошибкой отработает, то все упадет с исключением.

vyazovoy
02.06.2017
13:55:25

Dmitry
02.06.2017
13:55:43

Shoo
02.06.2017
13:55:44
дай пример е2е теста :) возникает мысль, что мы говорим о разных вещах
Окей. Юзер с фронтенда заполнил форму отправки бабла, нажал кнопку "Отправить 20 BTC", оно ушло в бэк по апи, сложилось в базу и в очередь, прошло ещё через 2 сервиса, один который third party service, подождало пока оно подтвердиться в third party service, пошло обратно по цепочке очередей по сервисам, обновилось в базе, обновилось на фронтенде как completed.

Admin
ERROR: S client not available

Pavel
02.06.2017
13:55:46

Nikita
02.06.2017
13:56:25
Окей. Юзер с фронтенда заполнил форму отправки бабла, нажал кнопку "Отправить 20 BTC", оно ушло в бэк по апи, сложилось в базу и в очередь, прошло ещё через 2 сервиса, один который third party service, подождало пока оно подтвердиться в third party service, пошло обратно по цепочке очередей по сервисам, обновилось в базе, обновилось на фронтенде как completed.
во, хороший кейс :) ты чекаешь каждый этап?

Shoo
02.06.2017
13:56:30
Да.
Единственное что на third party service нужен мок.
А в чем проблема чекать каждый этап?

Nikita
02.06.2017
13:57:13
проблемы нет, это дорого

Shoo
02.06.2017
13:57:58
Это не дорого, потому что каждый из этих этапов должен мониториться бизнес метриками, т.к. это жирный кусок бизнес логики и если что-то из этого проседает - мы должны знать.
Дальше тебе нужно только выдернуть нужный ивент из мониторинга и прочекать jsonы.

Pavel
02.06.2017
13:58:36

Shoo
02.06.2017
13:58:49

Google

Nikita
02.06.2017
13:59:04

Shoo
02.06.2017
13:59:06
Юниты, функциональные и end to end тесты не заменяют друг друга от слова вообще.

Aleksandr
02.06.2017
13:59:11
ниразу не дешевле

Shoo
02.06.2017
13:59:16
Потому что когда продукт это сраный блэкбокс - не понятно, как вообще работать можно.

Aleksandr
02.06.2017
13:59:42
e2e могут час идти, при том что юниты на той же функциональности 3-5 минут

Pavel
02.06.2017
13:59:47

Nikita
02.06.2017
13:59:50
ну мы вот обложены вполне себе, но это не отменяет юнитов

Aleksandr
02.06.2017
13:59:53
но они не взаимо заменяемы

Shoo
02.06.2017
14:00:20

mrx
02.06.2017
14:00:28
Товарищи, а где в дс можно савина купить в переплете? Интернет магазины пусты :(

Shoo
02.06.2017
14:00:28
Или ты хреново рефакторишь.

Nikita
02.06.2017
14:00:35
окей, я подкорректирую свое изначальное утверждение. обложиться е2е так, чтобы они заменили юниты – долго и дорого

Pavel
02.06.2017
14:00:51

Shoo
02.06.2017
14:00:54

Dmitry
02.06.2017
14:01:21
Shoo а ты лекции читаешь или может на конфах выступал ?

Shoo
02.06.2017
14:01:39
Лекции читаю, как видишь.

Nikita
02.06.2017
14:01:45

Dmitry
02.06.2017
14:01:51
:D

Nikita
02.06.2017
14:01:54
это йоба-недостижимое покрытие