Холиварофорум

Не все, что говорят на Холиварке — правда!

Вы не вошли.

#26 2022-03-08 23:41:46

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

В твиттер не напишешь (за впн, неэтично), в мелкий мамский чатик не напишешь (неэтично), в большой мамский чатик не напишешь (неприятно) - остаётся недобложик.

Детёнышу год с лишним. Оно хвост, но общительный.

Я в декрете и хуй его знает, как работать.
Писала, кстати, бота на фандомную битву - теперь надо делать рефакторинг и тесты. Поговорите со мной о тестах.

И вишенка на, блядь, торте - мне пришлось на месяц свалить к родителям, чтобы муж сделал ремонт. Уже начала говорить своему отцу фразы вида "Не пугай мне ребенка, а то я тебя сама испугаю"

Три дня из шести недель прошли.

Отредактировано (2022-03-09 10:28:09)

#27 2022-03-09 00:02:57

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

Писала, кстати, бота на фандомную битву - теперь надо делать рефакторинг и тесты. Поговорите со мной о тестах.

Ты про какие тесты, автоматические или ручные?
На чём пишешь?

#28 2022-03-09 00:12:25

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

На чём пишешь?

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

Отредактировано (2022-03-09 10:27:40)

#29 2022-03-09 10:25:02

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Позвонила мужу.
Муж ответил сквозь вытье болгарки

[пилы]

Надеюсь, ремонт успешно начался

#30 2022-03-09 10:31:46

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

в субботу грядет императрица
каждый из нас готов
и гладит котов
каждый нашел кому молиться

В эти темные дни
Тысяча божьих имён
Может быть даже Гарри и Рон
Названы были и услышаны Им

Отредактировано (2022-03-09 10:58:34)

#31 2022-03-10 13:14:06

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Хочу расширить бота для фб до полноценного. Ну, до более полноценного.

Но не знаю, какой функционал нужен. Задала вопрос целевой аудитории - целевая аудитория тоже не знает

#32 2022-03-10 15:27:59

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

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

Так же, как для других программ, если есть готовый модель автотестирования, его подключаешь в коде, пишешь функции тестирования с выводом их результатов. Если готового модуля нет, пишешь свои тесты и вывод результатов, это дольше, но не ужас-ужас.

#33 2022-03-10 15:30:27

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

Так же, как для других программ,

Я не совсем понимаю, эээ, что тестировать

На сайтах - понимаю. Делаешь скриншот, сравниваешь с макетом, пугаешься.

А тут?

Прям выполнять функцию, которая должна выполняться по команде? Так она даёт случайные результаты
Просто проверять наличие результата?

#34 2022-03-10 19:18:57

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

ЕБУЧИЕ ГОСУСЛУГИ

И как мне узнать, почему пособие не пособие?

#35 2022-03-10 20:43:23

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

Я не совсем понимаю, эээ, что тестировать

А какой у тебя функционал?

Цель автотестирования в том, чтобы, если ты внёс изменения в код и тебе надо залить содеянное на прод, ты мог легко убедиться, что у тебя работают как надо и не похерились все написанные ранее функции. При этом не прощёлкивая их руками, а, в идеале, просто получив цепочку зелёных огоньков в панельке или ответов "я функция такая-то, работаю" в логах.

Анон пишет:

Просто проверять наличие результата?

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

Если ты закидываешь боту команду "/цвет", а он может тебе рандомно выдать "белый", "серый", "чёрный" через функцию generate_color(), то ты пишешь функцию test_generate_color(), которая внутри себя вызывает generate_color(), можно несколько раз, берёт её результат, анализирует его, проверяя, что при вызове  generate_color() выпала именно строка, входящая в перечень ("белый", "серый", "чёрный"), а не что-то ещё (тогда она выдаст false), и возвращая true или там "я функция generate_color(), я вернула такой-то цвет".

Если ты по этой команде должен получить код в виде $FFAA01 или подобного hex-числа, то тоже внутри тестирующей функции вызываешь тестируемую, берёшь её результат и смотришь, получилось ли у тебя такое число или какая-то хрень.

Всё равно у тебя не может выпасть чёрт знает что, так? Должна прийти строка ненулевой длины, можешь проверить на то, чтобы в ней были или не были какие-то символы. Скажем, возраст должен состоять из чисел, а имя должно быть с большой буквы и содержать только буквы и дефис (если ты это так написал, конечно).

То есть, ты считаешь тестируемую функцию чёрным ящиком, в тестирующей функции скармливаешь ей данные на вход и смотришь, что вывалилось на выходе.

#36 2022-03-10 21:28:20

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

То есть, ты считаешь тестируемую функцию чёрным ящиком, в тестирующей функции скармливаешь ей данные на вход и смотришь, что вывалилось на выходе.

Анон, спасибо за настолько подробное описание!

Вот прямо на моем примере: бот получает команду от телеграм-бота/дискорд-бота, идет на ао3, опционально получает уточнение команды, приносит результат

Тесты должны быть по каждой команде и проверять корректное наличие данных, так? + все вариации с доп командами

#37 2022-03-10 22:10:37

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Открыла код, дописала фикс с выбором протокола, чтобы тестовая площадка не падала, закрыла код
Ну ещё загуглила фреймворки тестирования

Скорость разработки впечатляет  :facepalm:

#38 2022-03-10 22:52:40

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

Тесты должны быть по каждой команде и проверять корректное наличие данных, так?

Примерно так, да.
У тебя, допустим, по каждой команде отдельная функция её выполнения (так удобнее и тестировать, и разрабатывать) и к ней будет функция тестирования. А потом ты эти функции тестирования собираешь в одну функцию-батарею тестов, которую запускаешь перед тем, как залить обновлённый код в продакшен.
В тестирующих функциях ты можешь проверять, что 1) с правильными входными данными твой код даёт такой-то правильный результат 2) с неправильными данными он реагирует так-то, а не падает, не виснет и т.д.. Например, пишет "извините, я не знаю такой команды" или  "вы можете вызвать подсказку такой-то командой", если пользователь ввёл /абырвалг и тебе надо как-то отреагировать, а не оставлять его с пустым окном в недоумении.

Анон пишет:

Открыла код, дописала фикс с выбором протокола, чтобы тестовая площадка не падала, закрыла код
Ну ещё загуглила фреймворки тестирования

Всё нормально, ты же ещё с годовалым дитём?
Анону как-то доводилось писать код и параллельно управляться с мелким анонёнком, ну и писал маленькими шажками, куда деваться.

#39 2022-03-11 12:52:58

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Взяла себя за шкирку, написала вопрос о своем пособии в сообществе ВКонтакте.
Вот через приложение запрос мне писать намного легче - даже при том, что я знаю, что структура мне перезвонит
А вот оставлять запрос ВК - некомфортно

Может из-за того, что ВК запросы видны всем?

#40 2022-03-11 12:53:50

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

писал маленькими шажками

У меня теперь есть план, с планом можно и по полчаса в ночь писать и написать!

Спасибо за поддержку!

#41 2022-03-11 20:25:41

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Написала ридми, горжусь собой.

Чтобы нормально писать тесты - надо сначала переделать исполняемые функции так, чтобы они там не запрашивали бота, а просто возвращали данные. Чтобы все ответы в ботов были в одном месте.

Правда, придется, наверное, избавиться от технических сообщений - а они мне нравятся.

Отредактировано (2022-03-11 20:30:46)

#42 2022-03-12 09:16:55

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Ребенок опять съел всю кашу, засунул пальцы в рот и выблевал лишнее
Ребенок, ты - жопа!

#43 2022-03-12 19:26:02

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Анон пишет:

Взяла себя за шкирку, написала вопрос о своем пособии в сообществе ВКонтакте

Тадам, этих данных нет у них в базе
Сижу
Боюсь

#44 2022-03-12 22:13:39

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Все ещё пишу ридми и environment файлы
Меня греет только мысль, что при прописанном окружении будет легче проверять все

#45 2022-03-12 22:34:35

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

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

#46 2022-03-13 21:49:52

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Ой. Мои фоточки городской паблик взял.

#47 2022-03-13 22:13:31

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

О, а использовать vercel через консоль очень удобно! Особенно на моем микро-ноутбуке

#48 2022-03-13 23:03:27

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

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

#49 2022-03-13 23:25:30

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Переменные окружения вроде все вписала, прод не сломался - пока, но и дев не запустился.

Завтра буду копать дальше и пытаться понять, почему дискорд не принимает ссылку на эндпоинт

#50 2022-03-14 20:01:29

Анон

Re: Ну и что дальше делать? [дыбр] [yes comments] [предположим, что айти]

Обожаю [нет] уровень поддержки от своего отца

Я: вот я программу написала, но она выдает случайные ошибки
Папа: программы всегда делают то, что напишешь! Это ты неправильно написала!

Впрочем, от мамы тоже

Мама: ты будешь есть а или б?
Я: наверное б....
Мама: я уже а положила

Подвал форума

Основано на FluxBB, с модификациями Visman
Доработано специально для Холиварофорума