Pull to refresh
3
0.1
Роман @joffer

User

Send message

ага, кажись, теперь понял

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

а можно ещё по вот этому моменту ясности - почему при ручном создании тестов человек, написавший тесты, не проверяет их? Ну, должны же быть какие-то причины, по которым тесты "слабые", а тем более - нерабочие, в теории, нерабочий тест невозможно написать - потому что если тест "не работает", это вроде как видно и очевидно.

Или это такой себе способ подстраховать квалификацию тех, кто такие тесты пишет? Или тесты пишутся на "идеальные" сценарии? Типа есть проект, 70% функционала которого покрыто тестами на идеальные сценарии - тогда натравить мутационку и выделить заведомо слабые. Это как-то так работает?

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

про "нереалистичность" написал всего лишь в контексте того, что, к сожалению, очень редко встречалось покрытие тестами хотя бы на треть, как правило, тестов или нету, или есть сугубо на "идеальные сценарии" критичного функционала, финрасчёты, вот такое. Да, возможно, я не там работал, с этим и спорить не буду, но пока не видел ни одного проекта, где хотя бы 50% покрытие было

про "тяжёлую артиллерию" - это понятно, просто сама концепция "мутантов" попалась впервые и попытался её осмыслить с позиции своего опыта и практики, скорее всего если грамотно использовать - возможно, это и профитно.

Соответственно мой комментарий был попыткой поразмыслить - какой нужен проект, условия, покрытие тестами, чтобы "мутационные" проверки имели коммерческий смысл.

Много раз сталкивался с тестами, если их было мало или они были недостаточны или плохи - как правило, давался фидбек их автору или ответственному человеку, который исправлял оговоренные моменты и в теории кажется, что так и должно происходить. Но вот, оказывается, можно и ещё что-то делать, пытаться выловить "мутантов" и без какого-то внятного примера это всё выглядит несколько странно. Что-то вроде "проверять вёрстку нагрузочным тестированием" или ещё что-то в этом роде, даже не могу метафору подобрать.

какая-то очень странная концепция

если твои тесты не работают - это не тесты, нужно написать тесты

если они работают плохо - это плохие тесты, нужно написать хорошие тесты

Разработчики склонны писать “позитивные” тесты

ну да, так называемый "идеальный" сценарий, проверять core functionality. Всё равно все кейсы не покрыть, для пользовательского ввода есть валидация.

И тоже странно, что это начинает работать эффективно, когда условно тестами покрыто больше 70% кода - ничего себе, этом как бы единичные проекты могут похвастаться.

Такое ощущение, что эти "мутационные" тесты больше косвенно проверяют некую "устойчивость" проекта, что ли - один "мутант" - это какие-то однородные изменения в проекте.

Как вообще это должно работать? Какой реальный сценарий?

Вот есть условный проект и его кодовая база. Берём и условно покрываем проект на 80% тестами (что само по себе близко к нереальному сценарию). Но, так как у нас нету уверенности в тестах, как могло так получиться? Эти тесты сгенерированы автоматически или как так получается, что тесты написаны, но могут проверять "ничего"?

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

Как глобально работает сценарий? Мы пишем код проекта, генерируем тесты (чтобы не писать тесты), затем загоняем "мутационный" модуль, от которого часть тестов повалится. И мы их удаляем (?) и генерируем новые? Или пишем руками? Просто если руками - почему сразу не проверять работоспособность тестов?

В общем, немного странно выглядит и люто оверкилово. Такое ощущение, что это попытка исправить проблему плохих тестов и тестового покрытия не на этом же уровне, а сделав "финт ушами", что ли.

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

так я не делал какую-то реакцию на статью или ответ по пунктам, просто человек написал, что

так и не понял из статье что конкретно вам не понравилось в Канаде

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

Например, у автора статьи ещё про "толерантность" было - мне, например, на этот пункт наплевать, хотите - будьте трансами, хотите - сектантами, хотите - верьте в макаронного монстра, но пока эти люди не мешают мне жить, работать и не пытаются вторгаться в жизнь мою/моей семьи - этот пункт не критичен.

Или там отсталость технологий - ну отсталость и отсталость, работаешь с тем, что есть. Да, какие-то моменты неудобны, да, удивляет, что такая структура как "банк" не может поменять адрес доставки - ну, бывает.

+1, к тому же, ипотека сама по себе не панацея, её нужно тащить и дотащить, что тоже может быть непросто.

вы серьёзно? вот я прочёл статью и понял для себя её так:

1 климат отстой;

2 нелюдимые люди, не с кем пообщаться вне работы; нелюдимые коллеги, не с кем побщаться на работе;

3 негде толком в городе развлечься, негде толком вне города отдохнуть;

4 медицинский сервис неадекватен - умереть не дадут, а мучиться можешь месяцами и сделать ничего не можешь, хоть бери, да лети в Мексику лечиться;

5 высокие зарплаты, но и высокие цены, дорогое жильё, перегретый рынок съёма

так это же та самая знаменитая формулировка - "На рынке дефицит высококвалифицированных низкооплачиваемых кадров" (с)

перетащить бы на "ножницы" и на USB - отличная была бы клавиатура

вот +1 к пользователю @aik - попробуй ещё купи в розничной сети "ножницы"

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

Энтер не обязан быть J-образным

Бэкспейс может быть ТОЛЬКО длинным

выглядит логично, непредвзято и некатегорично))

ну с укороченным левым шифтом ещё сяк-так можно трепыхаться - его легче "нащупать", так как он крайняя левая кнопка хоть в полном исполнении, хоть в урезанном.

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

конструкция нажимателя кнопки, сейчас самый популярный тип на рынке - резиномембранный, который, в свою очередь, бывает в двух исполнениях:

1) так называемое "шахтное" - она же "мембранная" или мембрана, колпачок клавиши движется как бы в шахте, большинство клавиатур - вот такие, на "мембране", самые неприхотливые;

2) "ножничное" - механизм выглядит как мини-пантограф ,как правило, высота кнопки меньше, их часто применяют на ноутбуках (там всегда дефицит пространства), некоторые клавиатуры тоже имеют "ножничную" конструкцию переключателей кнопок, такие клавиатуры часто называют "slim" из-за их небольшой высоты. Маковская "бабочка" отчасти те же "ножницы".

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

ну как раз таки большинство клавиатур - резиномембранные или их просто называют "мембранные". Митсуми Классик - мембранная

превосходно!

п.с: "но как им это удалось?" - "ну, они просто прислушались к тому, что просил заказчик" (с)

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

Соответственно, любая клавиатура с резаным "Энтером" приводит к тому, что я постоянно жму "слэш" и хуже всего то, что "слэш" даже не нейтральная клавиата вроде контрол, альт или шифт - на которые если нажать 1 раз - ничего не случится.

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

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

"могут ведь, когда захотят" (с)

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

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

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

Клавиатуру от Микрософт покупал, тоже изогнутую, эргономик и всё такое - конкретно для меня оказалась неприятной в тех аспектах, что она была "мягкой" + "порезаный" энтер, попользовался немного и решил, что "не моё".

"ножницы" + нормальный энтер + функциональные клавиши
"ножницы" + нормальный энтер + функциональные клавиши

моя рабочая клавиатура последние несколько лет. "Ножницы" + функциональные клавиши + нормальный энтер

ну и немного уменьшенный формат - под ноутбук

"ножницы" + нормальный энтер + функциональные клавиши
"ножницы" + нормальный энтер + функциональные клавиши

Information

Rating
3,239-th
Location
Украина
Registered
Activity