@prophp7

Страница 305 из 1387
Sergey
27.03.2017
19:32:52
Я имел в виду как раз, что эта грань выражается в разнице между "Сейчас я на '/products'" и "Сейчас я на странице товаров"
behat например позволяет тебе писать для бизнес-пипл "я на странице товаров" а разработчики к этому биндят GET /products

как результат, если грамотно к этому подходить, у тебя вполне себе детальная спецификация по проекту которая никогда не выйдет их синхронизации с приемочными тестами

но опять же, сложна)

Evgeniy
27.03.2017
20:03:19
за бизнес хотелки

Google
Evgeniy
27.03.2017
20:03:27
разработчики пишут в 2 раза больше кода

который надо поддерживать и актуализировать

Sergey
27.03.2017
20:12:42
который надо поддерживать и актуализировать
изменения в коде тестов происходят только по следующим причинам: - рефакторинг, устранение дублирования логики - изменения в требованиях. Собственно все. В большинстве случаев мы написали тест и он просто выполняется.

Алексей
27.03.2017
20:12:44
Кузнецов php 5 на примерах Люк Веллинг разработка... Дэвид Скляр Рецепты программирования

что из этого пояитть стоит?)

Evgeniy
27.03.2017
20:13:15
там обычно pageobject используется

Sergey
27.03.2017
20:13:18
разработчики пишут в 2 раза больше кода
можно и в 10 раз больше кода писать, количество кода слабо коррелируется с трудозатратами.

Evgeniy
27.03.2017
20:13:30
и то что понаписали мэнеджеры

через page object работает со страницей

ну и плюс парсер небольшой

Sergey
27.03.2017
20:13:48
там обычно pageobject используется
это если ты всякие силениумы делаешь, а можно просто работать напрямую с сервисным слоем например. Зачем тебе UI дергать

ты же логику хочешь проверить

Evgeniy
27.03.2017
20:14:19
ок ок ок )

Google
Evgeniy
27.03.2017
20:14:36
програмировать должны программировать

Sergey
27.03.2017
20:14:36
а UI... как я уже говорил, если делать UI на каком-нибудь angular2/react/ember то все UI компоненты полностью stateless и их можно легко и просто покрывать юнит тестами

Evgeniy
27.03.2017
20:14:57
ты предлагаешь ui тестить

в отвязки от бэкенда

Sergey
27.03.2017
20:15:08
Evgeniy
27.03.2017
20:15:10
через bdd в частности behat ?

Sergey
27.03.2017
20:15:23
через bdd в частности behat ?
а UI это часть бизнес нидс?

Evgeniy
27.03.2017
20:15:26
тоесть мы берем react, angular берем behat

Sergey
27.03.2017
20:15:28
нет, UI будет покрыт юнит тестами

Evgeniy
27.03.2017
20:15:35
который вообще из другова стэка

Sergey
27.03.2017
20:15:39
тоесть мы берем react, angular берем behat
behat = приемочные тесты.

который вообще из другова стэка
есть cucumber.js если на то пошло)

но повторюсь

приемочные тесты ничего не знают про UI

а UI про приемочные тесты

Evgeniy
27.03.2017
20:16:16
ну так получается behat бесполезен (я не знаю людей кто на php frontend делает )

верней связки вроде smarty или twig

Sergey
27.03.2017
20:16:48
....

ты все перепутал)

Google
Evgeniy
27.03.2017
20:17:01
возможно

я не против юнит тестов интерфейса)

Sergey
27.03.2017
20:17:13
ты behat-ом проверяешь бизнес логику, а не UI

так?

Evgeniy
27.03.2017
20:17:22
бизнес логику чего?

фронта или бэкенда?

Sergey
27.03.2017
20:17:31
...бизнеса?)

Evgeniy
27.03.2017
20:17:33
или вместе)

Sergey
27.03.2017
20:17:42
ммм.... системы в целом?)

Evgeniy
27.03.2017
20:17:49
ну да так логично

Sergey
27.03.2017
20:17:55
какой смысл ты вкладываешь в это ненужное разделение?)

обычно вся логика на бэкэнде

Evgeniy
27.03.2017
20:18:05
теперь мы берем человека (менджера) так как он понятия не имет

как программировать

и что такое Http поверх которого мы работаем

Sergey
27.03.2017
20:18:25
если она есть на клиенте - берем те же gherkin сценарии и натравливаем calabash/cucumber.js/cucumber + jruby

Evgeniy
27.03.2017
20:18:28
мы пишем ему костыли чтобы он писал бизнес терминами

а мы это под копотом реализовывали

Google
Sergey
27.03.2017
20:18:53
давай так

Evgeniy
27.03.2017
20:19:04
при этом парсем его бизнес херь, интерпретируем, переводим в код и выполняем

Sergey
27.03.2017
20:19:06
сразу условимся что в твоих сценариях на gherkin нет реюзабельных стэпов

Evgeniy
27.03.2017
20:19:17
не кажется что первые пункты нахер не нужны и можно сразу код писать

Sergey
27.03.2017
20:19:23
Алексей
27.03.2017
20:19:24
Кузнецов php 5 на примерах Люк Веллинг разработка... Дэвид Скляр Рецепты программирования

что из этого пояитть стоит?)

Aleh
27.03.2017
20:19:38
Как понять, когда задача готова

Sergey
27.03.2017
20:20:15
не кажется что первые пункты нахер не нужны и можно сразу код писать
а теперь представь что клиент не знает чего он хочет. Точнее не все детали раскрыты. Он тебе дает пачку хотелок, ты по ним строишь примеры поведения в виде given when then. Только gherkin, кода еще нет.

Admin
ERROR: S client not available

Evgeniy
27.03.2017
20:20:20
bdd в отличие от tdd не требует теста вперед

Sergey
27.03.2017
20:20:44
bdd в отличие от tdd не требует теста вперед
bdd в отличии от tdd требует вперед наличие понимания того что ты делаешь и зачем

Evgeniy
27.03.2017
20:20:45
given, when, when это хорошо в плане общения с заказчиком

then*

Sergey
27.03.2017
20:20:59
dypa
27.03.2017
20:21:04
разработчики пишут в 2 раза больше кода
это байки менеджеров. разработчики на 1 строчку попавшую в коммит делает 2 строки не попавших

Google
Evgeniy
27.03.2017
20:21:25
ок

это нужно именно писать новый синтаксис и поддерживать его

Aleh
27.03.2017
20:21:56
Уже сделали за тебя

Sergey
27.03.2017
20:21:57
все уже написано

gherkin же

Aleh
27.03.2017
20:22:00
Gherkin

Evgeniy
27.03.2017
20:22:06
given when then можно написать в jira

И реализовать довольно просто разработчику

Sergey
27.03.2017
20:22:19
given when then можно написать в jira
можно, называется это тогда specification by example

Evgeniy
27.03.2017
20:22:22
не создавая лишние абстракции

Sergey
27.03.2017
20:22:29
не создавая лишние абстракции
и не получая профита дополнительного

Aleh
27.03.2017
20:22:34
А можно в фича-фпйле

Evgeniy
27.03.2017
20:22:48
Sergey
27.03.2017
20:23:04
переиспользования кода?
запомни - код никогда не реюзается. реюзаются только абстракции

ну и опять же - какое нафиг переиспользование кода?!)

Evgeniy
27.03.2017
20:24:07
ну я к тому что обычно это выглядит как набор pageobject (можно погуглить)

Aleh
27.03.2017
20:24:09
Goto позволяет код переиспользовать)

Sergey
27.03.2017
20:24:21
цель BDD - Behaviour Driven Development - устранить стоимость перевода требований от языка бизнес на язык понятный техникал пипл

Evgeniy
27.03.2017
20:24:34
далее поверх этих pageobject есть некий интерпретатор который дергает методы с нужными параметрами

Sergey
27.03.2017
20:24:37
ну я к тому что обычно это выглядит как набор pageobject (можно погуглить)
ну это не bdd, это просто чуваки юзают behat как тестовый фреймворк

Evgeniy
27.03.2017
20:24:52
ок

слишком высокие абстракции для меня

Страница 305 из 1387