@qa_ru

Страница 353 из 1080
Andrey
21.02.2017
14:11:27
нормально отвязали фронтэнд тесты от api. api тестится отдельно, фронт отдельно. Интеграционных тестов количество снижается, общее покрытие увеличивается, время прохождения тестов снижается, волосы шелковистые

Ivan
21.02.2017
14:11:45
я к тому, что всем известно, что изобретать велосипед это священный долг каждого, так что в существовании специализированных мастерских я ни в коем случае не сомневаюсь.

Nikita
21.02.2017
14:12:51
особенно если тебе нужно замокать 10 сервисов чтобы все взлетело

Google
Nikita
21.02.2017
14:13:15
или подменять траффик в 10 сервисах, без разницы

Andrey
21.02.2017
14:13:36
мне лично не нравится мысль отвязывать 2 компонента, которые должны вместе работать как часы, и тестировать их отдельно
это не замена третьему уровню тестирования, это снижение количества интеграционных тестов, и вынос их на второй уровень

останется проверить, что совместоно это работает :) http://developerslife.ru//public/images/previews/201605/9f009fe5-c735-44df-95b9-b220854c067f.jpg
повторюсь - никто не отменяет проверку того, что всё это работает нормально. Просто то, что сделали - запускается без участия тестировщиков, для более раннего фидбека.

Nikita
21.02.2017
14:16:55
это не замена третьему уровню тестирования, это снижение количества интеграционных тестов, и вынос их на второй уровень
вот не знаю) я слышал про такой подход, и даже доклады смотрел. то, что ваше API работает, не говорит ни о чем кроме того что ваше API работает :) вы фактически повышаете риски того, что фронт где-то забыл про API или что-то криво замокано, или все сразу. нужно ведь мейнтейнить API тесты и мейнтейнить запросы в моках, не забывать о фичетестах и бизнес логике. а какой профит?

Andrey
21.02.2017
14:18:40
вот не знаю) я слышал про такой подход, и даже доклады смотрел. то, что ваше API работает, не говорит ни о чем кроме того что ваше API работает :) вы фактически повышаете риски того, что фронт где-то забыл про API или что-то криво замокано, или все сразу. нужно ведь мейнтейнить API тесты и мейнтейнить запросы в моках, не забывать о фичетестах и бизнес логике. а какой профит?
профит в том, что без этого релизы "всё вместе" тестились по 20 часов. И находили нерабочую кнопку покупки тесты, которые исполнялись по 3-4 часа, в виду специфики сервиса. а теперь замоканые фронтовые тесты запускаются на коммите, и дают фидбек в течении 5 минут релизные тесты сократились до тех же самых тестов, что замоканые, но уже без моков, в меньшем количестве

Ivan
21.02.2017
14:19:11
наверное, работу с 3тей стороной они отдельно проверяют. а в данном случае они просто компонентно и интеграционно проверили, что внутри себя они хорошо будут работать, при условии корректного ответа от иных участников

Ivan
21.02.2017
14:20:32
сколько там тестов?)
500000, ты же знаешь ответ =)



Andrey
21.02.2017
14:22:00
одна покупка - 5 минут. Нужно около 75 покупок чтобы проверить все внешние сервисы. Плюс комбинации с разными входными данными :\ количество тестов считать неблагодарное занятие. 75 тестов исполняются 90% времени из 900+

Google
Nikita
21.02.2017
14:22:42
5 минут на один тест, серьезно?

а почему именно так? там супердлинный сценарий?

Richard
21.02.2017
14:23:04
Может быть процессинг долгий сам по себе.

Andrey
21.02.2017
14:23:17
а почему именно так? там супердлинный сценарий?
проверить поиск москва-питер - 40 секунд на 1 реквест ;)

только поиск, только 1 запрос

Nikita
21.02.2017
14:23:59
у вас бэк асинхронный? оО или он просто так долго реплаит?

Andrey
21.02.2017
14:24:01
выписка, бронь - еще минуты 2 на еще два запроса

Ivan
21.02.2017
14:24:10
а почему не вынести комбинации с разными данными на апи уровень?

Andrey
21.02.2017
14:24:39
а почему не вынести комбинации с разными данными на апи уровень?
они и вынесены, это фронтом не проверяется. На фронте в этом случае проверяется корректность отрисовки нужных компонентов в разных случаях ответов требуемых полей

у вас бэк асинхронный? оО или он просто так долго реплаит?
просто много поставщиков данных + огромный технический долг ;)

Nikita
21.02.2017
14:25:09
ясно-понятно))

соболезную

Andrey
21.02.2017
14:25:28
почему? ;) отличный простор для помощи разработке. То, что требуется от QA

Nikita
21.02.2017
14:25:37
а я думал у меня тесты медленные)

соболезную тех. долгу

не задачам, так-то они звучат интересно

Ivan
21.02.2017
14:27:45
потому что технический долг обычно живёт до последнего, так как никто не хочет его выполнять

всё сваливают на "бизнесс приоритеты" и тем самым, мол мы тут не причём, это всё бизнесс

Andrey
21.02.2017
14:28:45
потому что технический долг обычно живёт до последнего, так как никто не хочет его выполнять
моя задача как раз в создании инструментария для более гладкого процесса ликвидации этого долга

Google
Ivan
21.02.2017
14:29:08
и как успехи? пока с этим долгом стало удобнее жить

Andrey
21.02.2017
14:29:43
успехи за 6 месяцев в кратце можно описать с "релизы раз в две недели, тесты на проде" до "два релиза в день, на прод можно не смотреть"

Nikita
21.02.2017
14:29:51
и как успехи? пока с этим долгом стало удобнее жить
ну мы каждый спринт выделяем время на тех. долг) иначе можно зарасти в говне

Ivan
21.02.2017
14:30:17
ну мы каждый спринт выделяем время на тех. долг) иначе можно зарасти в говне
да не, я у него спрашиваю. С нашими тех долгами всё понятно =)

Nikita
21.02.2017
14:30:22
а, сорян)

Andrey
21.02.2017
14:31:27
а с тех долгом? пока это выглядит "мы научились жить с техдолгом".
тогда перефразирую. Наличие техдолга понижает testability. Это бизнесу я продаю под ускорением процессов тестирования и более быстрой поставкой фич

Ivan
21.02.2017
14:31:44
просто делой нового функционала у меня как-то опосредованно соотносится с уменьшением техдолга

ну так вы "понижение testability" исправляете за счёт этих самых грязных хаков

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

Andrey
21.02.2017
14:34:08
не правда :( не понимаю, где грязные хаки в том, чтобы отрепортить фронтендеру о проблеме заранее исключив влияние бекенда, и наоборот.. > Насколько это помогает выпиливать техдолг, который мешает жить разработчики более спокойно рефакторят, имея инструмент который им оперативно сообщает о поломках (юниты не 100% покрывают еще)

время на рефактор выделяется в рамках задач "Добавить возможность тестировать то то то то"

Ivan
21.02.2017
14:34:52
теперь понятнее стало, спасибо

Nikita
21.02.2017
14:37:13
ну если запросы по 40 секунд бегают то тут только мокать фронт совсем, это да))

Ivan
21.02.2017
14:37:33
Nikita
21.02.2017
14:37:39
либо поднимать копии бэкенда у себя локально

но если вы не все данные берете от себя то наверное это не очень возможно

Andrey
21.02.2017
14:39:26
либо поднимать копии бэкенда у себя локально
локально запустить не сложно, сложно поднять идентичную проду среду. Это задача текущего квартала ;)

Ivan
21.02.2017
14:40:10
"можно"

Google
Andrey
21.02.2017
14:40:58
"можно"
сделано

докер в помощь
у нас больше десятка разных сервисов нужны, чтобы воссоздать полную картину проекта, некоторые из них пригодны для переноса, некоторые уже в докерах, но другие надо допиливать

Admin
ERROR: S client not available

Иван
21.02.2017
15:26:10
https://t.me/Blockchain_Developers

Alexander
21.02.2017
16:51:18
Котоны, я тут краем уха услышал что срок валидности сертификатика istqb 4 годика. Рили?

Andrey
21.02.2017
16:52:35
вроде пишут, что нет: ISTQB certification will not expire like the CSTP certification

Alexander
21.02.2017
16:53:44
Вот я и задумался. Вроде бессрочен)

Pavel
21.02.2017
18:38:31
Народ в PageObject верхняя менюшка сайта является частью страницы или же это часть лейаута? Куда пихать логику по взаимодейсвтию с этим меню?

Ivan
21.02.2017
18:39:45
а она часть каждой страницы или нет?

Pavel
21.02.2017
18:54:49
Это сложный вопрос

Nikita
21.02.2017
18:56:33
пихай куда удобнее, в чем вообще вопрос)

Pavel
21.02.2017
18:57:59
А куда удобнее?)

Nikita
21.02.2017
18:58:45
куда тебе удобнее и как работать проще будет туда и пихай, нет?)

тебе паттерны или тестить?)

Pavel
21.02.2017
18:59:48
Паттерны они созданы для того чтобы потом не умереть при чтении и использовании кода

Т.е. для удобства

Мне удобнее вообще не писать тесты а фигачить лапшекод и сразу в продакшен

Ivan
21.02.2017
19:09:26
в BasicPage можешь, что б оно потом было на всех страничках

Google
Pavel
21.02.2017
19:34:12
+1 к basepage, а если блок не на всех страницах, как вариант, можно одну эту менюшку описать отдельным пейджем

Ivan
21.02.2017
19:41:48
Можно сделать дополнительную страничку, от которой наследовать те, на которых она есть, а те на которых её нет - от base page или иной её реинкарнации

Pavel
21.02.2017
19:47:46
А как насчет trait/mixin ?

Ivan
21.02.2017
19:50:54
Так ведь оно одинаково будет работать на всех подстраницах

Pavel
21.02.2017
19:54:29
Ну да менюшка то одна и та же

Ivan
21.02.2017
19:54:30
Или это не про контракты, а-ля implements

Так и зачем описывать эти методы в каждой странице заново?)

Pavel
21.02.2017
19:55:31
Написать трейт а потом его подключить в каждый класс страницы

Это даже лучше наследования имхо

Ivan
21.02.2017
20:01:40
Вот чёт не уверен, но можно попробовать Как минимум ты в каждой странице будешь указывать его.

Pavel
21.02.2017
20:09:41
Зато можно разные трейты подключать

FooterTrait, IndexFooterTrait и т.д.

Alexei
21.02.2017
22:10:16
Смотрите про пейдж обджект на ютьбах страны

Страница 353 из 1080