@qa_ru

Страница 685 из 1080
Sergey
21.09.2017
09:29:51
Имхо, дерьмово выглядит

Nikolay
21.09.2017
09:31:25
друг от друга зависимые тесты тоже выглядят так себе

Sergey
21.09.2017
09:31:38
Почему?

Nikolay
21.09.2017
09:32:11
потому что если ваш тест завалил авторизацию это не значит, что все остальное тоже должно завалиться)

Google
Sergey
21.09.2017
09:32:19
Нет, значит

Nikolay
21.09.2017
09:32:27
совсем нет

Илья
21.09.2017
09:32:33
А с параллельностью это должно дружить?

Sergey
21.09.2017
09:32:34
В моем случае значит

Nikolay
21.09.2017
09:32:46
авторизация тут как прекондишн идет

по сути

Sergey
21.09.2017
09:33:34
Должно. И тут зависимости тоже роялят. Либо вручную выстраивать, либо зависимости. Плюс, при добавлении нового метода, если указать зависимость, подтянутся остальные зависимости

Илья
21.09.2017
09:33:57
Зачем? только ради того чтобы не выполонять тесты при падении?

На вопрос сколько тестов всего есть ответ?

Илья
21.09.2017
09:35:48
Сколько?

Sergey
21.09.2017
09:37:27
Достаточно много, если есть необходимость зависимостей.

Илья
21.09.2017
09:37:38
Я закончил)

Google
Sergey
21.09.2017
09:38:24
Я рад за вас. Обсудили всё, кроме моего вопроса

Илья
21.09.2017
09:39:06
Одному человеку было полезно минимум(Дмитрию). А ты обращайся.

Pavel
21.09.2017
09:49:46
по-моему, Dorki Porki выразил свою мысль доступно. почему не организовать эти тесты в тест-сьют и не упорядочить их в нём?

Ana
21.09.2017
09:52:52
Всем привет. Посоветуйте плз что можно почитать по тест дизайну.

Gleb
21.09.2017
09:53:37
К примеру, если я покрываю автотестами следующий функционал: * Произведение пополнения электронного кошелька. * Проверка в разделе операций, что транзакция пополнения отображается, и все поля верны. По сути, это 2 разные проверки, соответстевнно 2 разных теста, но они частично зависимы. Насколько я знаю, зависимость тестов не есть хорошо, т.к. если валится один, то и последующие валятся из-за него. Насколько правильно в таком случае пихать это в один тест? Сделал пополнение -> сразу же проверил, что в транзакции всё соответствует действиьльности (сумма, комиссия и т.д.). Или лучше разбить их на 2, и в случае с проверкой транзакции в операциях иметь как прекондишен юзера, с совершенной операцией и просто проверить поля на соответсвие?

Pavel
21.09.2017
09:55:03
Всем привет. Посоветуйте плз что можно почитать по тест дизайну.
не знаю, есть ли на русском, но когда-то читал "A Practitioner's Guide to Software Test Design" Ли Копленда

Илья
21.09.2017
10:00:34
К примеру, если я покрываю автотестами следующий функционал: * Произведение пополнения электронного кошелька. * Проверка в разделе операций, что транзакция пополнения отображается, и все поля верны. По сути, это 2 разные проверки, соответстевнно 2 разных теста, но они частично зависимы. Насколько я знаю, зависимость тестов не есть хорошо, т.к. если валится один, то и последующие валятся из-за него. Насколько правильно в таком случае пихать это в один тест? Сделал пополнение -> сразу же проверил, что в транзакции всё соответствует действиьльности (сумма, комиссия и т.д.). Или лучше разбить их на 2, и в случае с проверкой транзакции в операциях иметь как прекондишен юзера, с совершенной операцией и просто проверить поля на соответсвие?
Это очень тонкий момент получается. И уже может зависеть от самой системы, от сложности "произведения" и "проверки" и от того как пишутся тесты впринципе. В идеале - разделять ) Иметь юзера может быть не достаточно(восстанавливать базу). Нужно делать нового юзера с выполненным флоу. Либо делать для существующего юзера.

Илья
21.09.2017
10:01:46
Очень Грубо говоря ты точно определяешь что Выполняешь и что Проверяешь. Далее те Выполнения, что покрыты проверками можешь спокойно использовать в других тестах или для генерации данных для тестов.

Gleb
21.09.2017
10:02:52
Просто в данном случае, мне кажется эти 2 пункта имеют прямую зависимость между собой и может быть много подводных камней между фронтом и возвращения данных с бека ( та же комиссия может отображать одну сумму перед оплатой и после), поэтому разделять их не хотелось бы

Илья
21.09.2017
10:04:40
Надо фукционал смотреть. Так для проверки комиссии отдельный тест получается уже) Я же говорю В Идеале, а так делают тесты, выполняющие несколько операций(которые можно проверить и отдельно) и смотрят результат.

Gleb
21.09.2017
10:06:45
Либо, прогонять какой-то стэк @smoke вначале к примеру (где просто проверяешь, что сами операции выполняются), и если ничего не фейлится, то дальше запускать уже полную регрессию

В общем вариантов уйма и не знаю на каком остановиться

Gleb
21.09.2017
10:08:13
Ясно, спасибо. Буду думать.

Илья
21.09.2017
10:10:46
Ясно, спасибо. Буду думать.
Смоук в любом случае стоит выделять, потому что он будет(должен) говорить о целых частях системы или ключевых функциях. Что определяет необходимость выполнять остальные проверки либо фиксить в скором порядке

Sergey
21.09.2017
10:29:10
по-моему, Dorki Porki выразил свою мысль доступно. почему не организовать эти тесты в тест-сьют и не упорядочить их в нём?
ну так потому что будет либо цепочка зависимостей от теста, либо цепочка зависимостей от тест сьютов.

Так какая разница, зависимость от тестов, или зависимость от сьюта?

Alexei
21.09.2017
10:38:17
Pavel
21.09.2017
10:39:02
Э, не понял.. Разработчики существуют на зарплату и левак-фриланс. Или это о чем было?

Google
Oleksandr?
21.09.2017
10:39:47
Alexei
21.09.2017
10:39:54
Ну типа да, наверно нужно считать багами только то что имеет нормальный процесс воспроизведения
А вот за это - надо просто мочить в сортирах. Это конкретный саботаж.

Nikolay
21.09.2017
10:40:41
типа крэшится проложение, но шагов нет - знач фича

норм подход)

Pavel
21.09.2017
10:41:05
Если ты включаешь приложение и оно крешится => шаги воспроизведения есть.

А нет - это когда ты заводишь тикет, в нем пишешь "приложение крешится". Собирается комиссия, ты 5 раз включаешь приложение и ничего не крешится.

Nikolay
21.09.2017
10:42:00
ну приложи логи после крэша

попробуй шаги найти

вспомни что ты делал до крэша

MnmlSniper
21.09.2017
10:43:05
дай хоть какую-то инфу куда копать

Evgeniy
21.09.2017
10:43:13
у человека боковой амиотрофический склероз, он болен, но никто не умеет вопроизводить эту болезнь

значит это не болезнь!

Nikolay
21.09.2017
10:43:34
это фича человека

Evgeniy
21.09.2017
10:43:41
причина возникновения - не ясна, болеют люди редко, но метко!

Nikolay
21.09.2017
10:43:43
видимо))

Pavel
21.09.2017
10:44:00
значит это не болезнь!
Болезнь, но лечить ее не будут, т.к. непонятно чем.

MnmlSniper
21.09.2017
10:45:26
Болезнь, но лечить ее не будут, т.к. непонятно чем.
Это требует усилиет. Кодеру -не интересно и куча других не он придумает, почему это не делать. Адекватный разработчик поможет тебе, подкинет инструментов, всяких плюшек типа дебаг консоли, потому что хочет иметь клевое детище

Evgeniy
21.09.2017
10:45:43
изначально был вопрос, считать багом или нет такое поведение

да, считать

Pavel
21.09.2017
10:46:07
> у человека боковой амиотрофический склероз, Если так сформулировано, значит уже прочеканы все критерии и даже поставлен диагноз. Это сформулированный хороший баг.

Google
MnmlSniper
21.09.2017
10:46:26
воспроизводимости нет

Pavel
21.09.2017
10:47:01
Это вообще не относится к воспроизводимости

Воспроизводимость - это когда человек болен и дома и в поликлинике. А если по приезду в поликлинику он резко выздоравливает, то это - не воспроизводится.

И врачи такие тикеты закрывают со статусом "больше гуляйте, меньше нервинчайте, попейте витаминок"

Evgeniy
21.09.2017
11:24:24
Ну типа да, наверно нужно считать багами только то что имеет нормальный процесс воспроизведения
Т.е рейс кондишены в системах (дефекты ) багами не считать, как не считать плавающие баги. Никак их не документировать, как и не документировать мета-информацию с их возникновением, так? Не собирать статистику таких вещей, даже если потенциально этот баг - рентген аппарат - облучающий критической дозой людей, которые умирают.

Pavel
21.09.2017
11:25:42
Документировать. А вот считать багами или нет - это уже вопрос софистодемагогии +)

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

Shoo
21.09.2017
12:30:15
Звучит как "мне лень подчищать свои баги, хочу рефакторить".

Irga
21.09.2017
12:31:01
+

хотя скорее не свои, но в целом да. оно и понятно - задокументировать 200 багов тож кусок работы.

Pavel
21.09.2017
12:32:19
я уже пробовал подчищать баги вместо того чтобы рефакторить и дела двигались в 5 раз медленнее. Хорошая попытка, "эффективные менеджеры", но нет.

Один день рефакторинга закрывает багу как класс, и не нужно подобные баги месяцами потом разгребать.

Shoo
21.09.2017
12:33:11
лол.

Nikolay
21.09.2017
12:50:18
не считать багом баг это прям таки серьезное заявление я бы сказал..

Pavel
21.09.2017
12:59:13
Хе хе :)

А если кто-то влез ручками в базу стейджинга, там чето подредактировал, а потом система сломалась, то это баг или нет? =)

Evgeniy
21.09.2017
13:00:42
это человек-жук

Igor
21.09.2017
13:01:14
Баг системы безопасности. Нечего давать в базу стейджинга кому попало доступ :) А влезшему откусить руки по самую шею

Pavel
21.09.2017
13:01:34
Ну у вас и методы, коллега!

Irga
21.09.2017
13:06:04
Хорошие методы. правильные.

Google
Irga
21.09.2017
13:06:21
но более правильно было бы не допустить такого.

Pavel
21.09.2017
13:09:48
Что нас приводит к чему? Правильно, к фундаментальному рефакторингу инфраструктуры

Shoo
21.09.2017
13:16:19
А если кто-то влез ручками в базу стейджинга, там чето подредактировал, а потом система сломалась, то это баг или нет? =)
Конечно баг. Надо делать фоллбэки на случай некорректных данных, что бы, как минимум, ронять работу с конкретной entity, а не всю систему.

Pavel
21.09.2017
13:17:59
не доверять собственному коду и защищаться от себя самого? Шизофрения

Shoo
21.09.2017
13:18:29
Нет, это называется профессионализм. Тем более, что речь не о коде, а о данных.

Pavel
21.09.2017
13:18:32
Данные в базе считаются корректными

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

Shoo
21.09.2017
13:19:30
Pavel
21.09.2017
13:19:35
Потому что если реально защищаться в каждой строчке от некорректных данных то это сразу комбинаторный взрыв.

Nikolay
21.09.2017
13:20:20
Что нас приводит к чему? Правильно, к фундаментальному рефакторингу инфраструктуры
с таким успехом можно просто всегда рефакторить код, не заводя багов

Pavel
21.09.2017
13:20:41
С чего бы это?
Потому что случаев некорректных комбинаций данных - счетное множество. Никогда нельзя покрыть такое ассертами, это все будут капли в море.

Да и вообще вся индустрия ПО как бы строится на том что верхний слой доверяет нижнему. И если мы начнем еще сомневаться что в БД лежат правильные данные то сразу гроб гроб.

Shoo
21.09.2017
13:22:58
Вся индустрия ПО строится на том, что любое серьезное приложение - это комбинаторный взрыв состояний, и вы никак не можете контролировать данные и состояния ентитей. Поэтому фоллбэк на фоллбэке, обратная совместимость моделей данных и вот это всё.

Igor
21.09.2017
13:23:28
"Да и вообще вся индустрия ПО как бы строится на том что верхний слой доверяет нижнему. " - вот с этим не могу согласиться. Все что встречал - работает условие "фронт никогда не доверяет бэкенду. И наоборот" Это кажется логичным и для других зависимостей

Shoo
21.09.2017
13:23:42
Но если вы можете внутри своего ПО гарантировать, что entity созданная N лет назад будет консистентной и полностью работоспособной относительно текущей системы - good for you.

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