
Aleh
27.03.2017
14:58:10
а в селениуме плохо все, медленно, кнопку поменял на ссылку или какой-другой компонент и он упал, id поменял и он упал, кнопку убрал сделал по enter и он упал
короче
сплошная боль)

Vadim
27.03.2017
14:58:38
где-то видел интересные цифры, в гугле придерживаются такого или еще где-то — 70% покрытия юнитами, 20% функциональных и 10% особо злоебучих мест руками

Google

Vadim
27.03.2017
15:00:11
функциональные тесты да, сплошная боль, да еще и дорого, в плане человекочасов на поддержку
нл без них никак, если у тебя космолет

Sergey
27.03.2017
15:01:26
далекоооо не всегда

Aleh
27.03.2017
15:01:48
ну да, репозиторий на выборки потестить

Sergey
27.03.2017
15:01:51
угу

Vadim
27.03.2017
15:01:53

Aleh
27.03.2017
15:01:54
проще интеграционный вставить

Vadim
27.03.2017
15:02:07
а не про интеграционные

Sergey
27.03.2017
15:02:22

Aleh
27.03.2017
15:02:32
а что такое функциональный?

Vadim
27.03.2017
15:02:47

Sergey
27.03.2017
15:02:57
а не про интеграционные
функциональные тесты - те которые проверяют функциональные требования. То есть юнит тесты это тоже функциональные на определенном уровне декомпозиции

Google

Vadim
27.03.2017
15:03:06
автоматизаторы пишут тесты по этим тесткейсам (щас ручники учатся сами писать тесты)

Sergey
27.03.2017
15:03:18
и писать сценарии и примеры поведения системы

Aleh
27.03.2017
15:03:29
сложна
ну в плане

Sergey
27.03.2017
15:03:32
заодно спеку получите0

Aleh
27.03.2017
15:03:34
реально ж сложна

Sergey
27.03.2017
15:03:43

Aleh
27.03.2017
15:03:46
будет там I send http request to "/asdasd/asda/sdasd/"

Sergey
27.03.2017
15:03:55

Aleh
27.03.2017
15:04:19
ну очень сложно дойти до того, как это надо делать
мне и сейчас сложно

Sergey
27.03.2017
15:04:49
When I exchange 10 something to another currency
Then I should receive 1 yet another currency as gift

Vadim
27.03.2017
15:05:22
плохо представляю себе бехат, не юзал, но тут нельзя просто так взять и перетащить все с уже существующего, надо блин поковырять, мне кажется, что бехат это что-то совсем другое и очень высокоуровневое

Aleh
27.03.2017
15:05:26
иногда выходит очень сложно
что аж теряет смысл
слишком много условий, которые к началу действий уже забываются. Ощущаешь, что делаешь что-то не так
пытаешься что-то назвать проще

Google

Aleh
27.03.2017
15:06:47
спрашиваешь че как
но вот бывает упираешься сильно)
короче, я уверен, что behat/cucumber это очень сложный инструмент
но если вы его осилили, то прям профита много
другое дело, что если проект уйдет другой команде в поддержку
просрут все полимеры
и зачем тогда все это(

Sergey
27.03.2017
15:08:09
ну да, потому в аутсорсе я пока боюсь его юзать

Vadim
27.03.2017
15:08:20
а бехат он чего, селениумом рулить умеет?

Sergey
27.03.2017
15:08:23
у меня было за 2 года только 2 проекта где бехат помог бы

Aleh
27.03.2017
15:08:24
так да, поэтому мне в продукте легко

Sergey
27.03.2017
15:08:31

Aleh
27.03.2017
15:08:34
хоть phpunit, хоть peridot, хоть behat)

Vadim
27.03.2017
15:08:46
селениуму никакая)

Aleh
27.03.2017
15:09:16
но вообще mink
http://mink.behat.org/en/latest/

Vadim
27.03.2017
15:11:09
таак, а как там дела обстоят с поддержкой базы тестов размером с 3к+ штук, когда морда регулярно меняется?

Aleh
27.03.2017
15:11:29
не понял какая разница?)
это ж тестраннер

Google

Vadim
27.03.2017
15:15:04
посмотрел по-диагонали quick introduction — похоже на паттерн page object, только для бизнес процессов типа.
наверное тогда можно сказать, что у нас переизобретен свой собственный маленький бехат с пейджобджектами и адовыми билдерами?

Aleh
27.03.2017
15:16:19
в основе behat - gherkin
это важная шляпа
одна из ключевых
за gherkin стоит знание вашего dsl
и отражение его в доменной моделе

dypa
27.03.2017
15:24:19
а так bdd подразумевает что описывается бизнес логика в тестах
на человеко-понятном языке
unit тесты как по мне очень дорогая затея, слишком часто их приходится переписывать, при этом приложение может всёравно не работать в итоге даже при зеленых тестах

Admin
ERROR: S client not available

Aleh
27.03.2017
15:26:20
о.о

Vadim
27.03.2017
15:26:50
зеленые юниттесты и не обещают работу приложения

Aleh
27.03.2017
15:26:57
никакие зеленые тесты не обещают

Vadim
27.03.2017
15:27:04
угу
даже полный набор всего чего только можно с 146% покрытия может сказать "скорее всего все ок"

dypa
27.03.2017
15:27:55

Vadim
27.03.2017
15:28:07
не путаю
и я тогда чего-то не понимаю, юниттесты дорогие, их надо переписывать часто, приемочные (думаю так достаточно однозначно теперь?) дорогие, без хитровыделанной паралелилки и фермы из сотен селениумов они долго гоняются.
как же жить?)
ну ок, если все покрывать только смоуками и приложение не огромное, то относительно быстро, но мы ж про серьезные вещи говорим

Google

Василий
27.03.2017
15:49:12
смоуки же по определению все не покрывают
частое перепись юнитов - эт значит или требования постоянно меняются, либо с архитектурой дружбы нет.
приложения или тестов.

?
27.03.2017
15:54:48
https://www.youtube.com/watch?v=5civ2BYQ600

dypa
27.03.2017
15:57:56

Vadim
27.03.2017
15:59:32
это я знаю, когда мы говорим функциональные — имеем в виду приемочные :)

dypa
27.03.2017
16:00:33
unit тесты хорошо живут в случае тестирования библиотеки которая будет повторно использоваться - НО есть проблема - 80% времени мы пишем бизнеслогику
в итоге в любом случае нужен QA который будет гонять смоки, очень не прикольная ситуация когда все тесты прошли, но оплату клиент не может совершить :)

Василий
27.03.2017
16:02:46

dypa
27.03.2017
16:04:37
такое бывает, просто у меня есть опыт работы с 10 летней кодовой базой.

Sergey
27.03.2017
16:54:52
а переписываются юниты только если юниты дублируют реализацию что плохо говорит о тестах
чаще они либо дополняются либо удаляются за неактуальностью

Rodion
27.03.2017
16:55:41
разве приемочные не отличаются от функциональных??
функциональные так или иначе цепляют детали реализации
а приемочные - это ж чисто "сейчас я на странице товаров. когда ввожу в форму поиска имя товара XYZ, затем я вижу отфильтрованный по имени XYZ список товаров."
поправьте, если ошибаюсь

Boris
27.03.2017
17:02:05
там тонкая грань на самом деле )
нихао =) кто-нибудь при рекурсивном обходе массива налету подменял ему ключи?
про значения там понятно, а вот именно ключи с сохранением структуры

Rodion
27.03.2017
17:34:40
ну и в написании и применении