Pull to refresh
25
0.1
Алексей @lxsmkv

тестировщик-автоматизатор

Send message

Это говорит только о том, что сделать "смартфон на колесах"
(a.k.a Software Defined Vehicle. см. напр.
https://www.aptiv.com/en/insights/article/what-is-a-software-defined-vehicle
https://sdv.eclipse.org/
https://www.bosch-mobility.com/en/mobility-topics/software-defined-vehicle/
https://www.redhat.com/en/solutions/automotive
)
сегодня под силу любому серьезному производителю. Через кооперации наверняка, но все же. Т.е. ноухау стал достаточно доступным, если хочется.
Осталось еще чтобы это все стало более доступным для потребителя.
И тут интересно, станет ли себестоимость производства ниже или выше чем в классическом автомобиле.
И конечно, не менее интересно развитие бизнес-моделей вокруг этих платформ. Подогрев сидений за месячную плату, лизинговые модели и прочее. Т.е. месячная плата за аренду автомобиля будет обусловлена арендоваными опциями. Соответственно и разработка опций будет ориентироваться на их под- и отключаемость. Будет интересно посмотреть на этот рынок в будущем.

Здесь нарисован куб, и вам тоже следует нарисовать куб

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

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

Это ведь не тест на эрудицию.

Помню объяснял своему сыну как меняется значение в зависимости от контекста

Рисую на доске такой знак "V" и спрашиваю "что это значит"?

- Английское "ви".
- А может римское пять?
- А, да, может.
- А может это значит два? Как два растопыреных пальца.
- Ну да, может тоже.
- А может это стрелка указывающая направление? Куда она указывает? Вверх, вниз, вправо, влево?
- Вниз.
- Вниз чего? К южному краю доски или вниз к полу?
- Ну это как посмотреть.
- Видишь, получается, что значение, которое мы вкладываем зависит от контекста. А интерпретация тоже зависит от доступного контекста. Лексического, пространственного и т.п. Если ты например не знаком с римскими цифрами, то тебе эта интерпретация будет просто недоступна.
- Верно.
- Поэтому вероятность успешной коммуникации, зависит от доступного контекста кодирующей и декодирующей (интерпретирующей) стороны. Ты замечал, что люди обычно в разговоре кивают головой, подтверждая, что понимают сказаное, то есть следуют мысли? Так вот, это кивание происходит как правило тогда, когда принимающая сторона нашла контекст в котором она может расшифровать сообщение. При этом это может быть неверный контекст. Отсюда и идут все недопонимания.

Интересно вообще, откуда в людях берется установка на то, что в вопросе может быть подвох. По идее ведь, надо понимать, что тест массовый, значит 60-80% должны с ним легко справиться. Хотя, пожалуй, это даже не ожидание подвоха как такогово, а скорее более широкий контекст задачи, которым одни одни умеют лучше управлять чем другие, отфильтровывая ненужные части контекста по ситуации. Впринципе это и хорошо и плохо одновременно.

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

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

И вот, уже десять лет как, я работаю тестировщиком :) И добился в этой области определенных успехов. Электротехнику, правда, опять забыл, как будто и не учил никогда.

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

P.S.: О, вспомнил, мне мама еще в школьном возрасте говорила : "Ну что, ты всё время лезешь в дебри, а?". Ха-ха.

Проблема еще и в том, что руководство обычно не готово обсуждать истинные мотивы для изменений. Очен сложно сблизить людей руководящих и людей подчиненных.
А в такой атмосфере недомолвок, не будет никакого настоящего консенсуса или согласия. Где руководство призывает к доверительному общению и вовлеченности сотрудников, но само не готово сократить дистанцию обсуловленную иерархическим авторитетом.

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

А бывает, что компания организована иерархически, пирамидально, но руководство под-подразделения хочет более самостоятельных людей у себя, и начинает водить хороводы круговой организации или еще чего. И сотрудники конечно соглашаются ввязаться в эту авантюру, ведь у них нет выбора на самом деле. Выбор это было бы сказать "нет" перед руководителем. А от него зависит даст он рекомендацию к повышению или нет. Кроме того: "отвергая - предлагай!". А предложить действительно рабочий путь, его нужно хорошенько продумать и он может оказаться куда более запутаным и тернистым. Т.е. это заведомо обречено на отказ или непонимание со стороны остальных сотрудников. Куда проще взять внешнюю аттрибутику и внушить себе, что ты изменился. Мозг гибкий. Одел на себя костюм птицы и стал птицей. Можно даже начать питаться зерном.

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

Нужно рассматривать систему стимулов всех участников. Прямо так взять и нарисовать на доске. Прям честно так. Что одному важно иметь, на самом деле, стабильный доход. И другому, ой, и третьему и четвертому. А вот, еще кто-то затесался, кто еще хотел бы развиватсья профессионально. Тоже интересно. О-о-о! А вы хотите приносить пользу людям? Клиентам? Ого. Ну это вообще классно, нам такие нужны!

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

Спасибо за статью. Вопрос у меня.

Достаточно знать только то, что заряды одного знака притягиваются, а разных знаков - отталкиваются

Это опечатка, или я что-то не просёк? В школьной физике притягиваются заряды разных знаков, а одинаковых - отталкиваются.

Я спользую logseq.
Одну вещь я заметил. От записей только тогда практическая польза, когда ты активно создаешь ссылки. И "хештегать" надо больше чем кажется. Потому что при работе с базой знаний ассоциативная система работает совсем не так как при записи. При работе получается нас цепляет какое-то слово, и мы хотим по нему найти не только прямые ассоциации, людей, статьи, интервью, но также еще и "окна" в другие предметные области. Ты никогда не знаешь наперед какие ассоциации тебе могут пригодитсья в будущем. Потому что именно на стыке областей синтезируются интересных мысли. Эмпирическое правило у меня такое: "В блоке текста на пять строк должно быть минимум три ссылки".

Вовсе это не "баззворд", а симуляция. И применяется это уже очень давно. Вот, например, Маргарет Гамильтон, которая разрабатывала бортовое программное обеспечение для космической программы "Апполон", рассказывала, что компьютерная система управления имела эмулятор, на котором проверялось и отлаживалось ПО.

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

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

Хм.. я понимаю эту аргументацию, что, мол, это целенаправленый "шантаж" со стороны производителей. Но, по принципу Бритвы Хэнлона, могу предложить и другую гипотезу:

Создать ПО заменяемым - можно. Кто заплатит за разработку этой возможности? Если этой возможностью воспользуется 0.02% пользователей, то не разбазаривание ли это ресурса?

Привязка к платформе - это интеграция. Гомогенные экосистемы это удобно для пользователя. Это снижает его трудозатраты на выполнение задачи. Есть конечно случаи где крупные игроки не могут договориться о стандартах. Например эта тема про RCS, где Гугл долго не могла склонить Эппл к поддержке технологии. Просто разный фокус, фирмы живут в разных мирах. То что важно одному, не важно другому. Вот например у Эппл есть Airdrop. И вообще не понятно, почему в винде такого нет. Я уверен, пользователи бы были в восторге от подобной функции, если бы она работала также просто. Но Майки этого не делают, хотя это увеличило бы привязку к платформе.

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

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

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

Защита кода от декомпиляции это в некоторой степени также мера по обеспечению безопасности. Security by obscurity. Так что тут тоже - как посмотреть.

Вот про авторское право возможно соглашусь - оно порой переходит все разумные границы. Патентный троллинг и все такое. Но это касается не только айтишной индустрии.

Я думаю тут не капитализм "виноват". Вон, если почитать протоколы с конференций пятидесятилетней давности --> http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1969.PDF
- там все тоже было забаговано :

Hopkins: We face a fantastic problem in big systems. For instance, in OS/360 we have about 1000 errors each release and this number seems reasonably constant.
[...]

Schorr: It is not quite right that the rate is constant; it seems in fact to be slowly increasing!
(стр. 15)

Ведь понятно, что если мы хотим все качества по ISO 25010:

  • удобство пользования

  • отказоустойчивость

  • безопасность

  • функциональную полноту

  • производительность

  • совместимость

  • поддерживаемость / тестируемость

  • портируемость

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

И вот вы скажете причем тут стоимость разработки? Снижение "стоимости" это, мол, про капитализм. Вовсе нет. Стоимость это и трудозатраты. Это рациональное распределение ресурсов. Т.е. хочешь ли ты привязать лучшие умы страны к разработке очень качественной системы на 10 лет?

Поэтому ищут другие подходы. Как можно делать достаточно качественное ПО, доступными средствами. Всегда приходится чем-то жертвовать.

Ну и не надо забывать, что сегодня мы имеем высокоинтегрированные системы, и баги могут быть и присутствуют и в биосе и в операционной системе, и в библиотеках и в языке программирования, в инструментах. Т.е. то что вообще что-то работает это приблизительно чудо. Причем как я полагаю чудо это происходит по той причине что мы задействуем очень ограниченый спектр функций системы:
Как писал Edsger W. Dijkstra в Notes on Structured Programming (1970):

[...] The naive answer to this is: “Well, the number of different multiplications this multiplier is claimed to perform correctly is finite, viz. 2 ˆ54, so let us try them all". [...] the total time needed for this finite set of multiplications would add up to more than 10 000 years.

[...]

A first consequence of the 10 000 years is that during its life-time the multiplier will be asked to perform only a negligeable fraction of the vast number of all possible multiplications it could do: practically none of them! Funnily enough, we still require that it would do any multiplication correctly when ordered to do so.

Но если настроено два языка ввода, то удерживание пробела вызывает меню переключения языка. Хотя если по пробелу елозить быстро, не задерживаясь, то меню выбора языка не открывается, а действительно перемещается курсор.
Да уж, это точно в тему статьи.

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

К сожалению, часто на проектах собирают метрики ради метрик. Ну вот взять этот торт с багами. Критических столько процентов, тривиальных - столько .. и что нам это дает.? Даже если сравнить с пирогом предыдущей версии. Стало, скажем, больше критических. То что?
- Ууу-у-у, етить-колотить, разработчики, критических, вон, стало больше!
- Да, насяльнике, босе, стало, да.
- Лучше надо делать!
- Да, лусе, надо, насяльнике.

"Данные которые не приводят к принятию решения не являются информацией."
-- Алекс Портер, "Accelerated Testing and Validation", 2004

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

А так, это как измерятъ г-но линейкой:

"О, глядите, какую мы какахху выкатилии в этот раз! Она аж на три сантиметра длиннее предыдущей. А увесистая какая! И с пятнышками. Раньше пятнышек вроде не было, да? Надо разобраться откуда пятнышки... "

Как-то так получается :)
Как-то так получается :)

А другой разбился на машине будучи в нетрезвом состоянии.

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

Я недавно стал пользоваться программой LogSeq. Она совмещает в себе принципы аутлайнера и обратных ссылок. Правда она находится еще в разработке. Она опенсорсная, privacy-first (т.е. пользовательские данные не собираются никаким образом и все хранится локально, за исключением случая использования сервисов синхронизации)

Приятным моментом было также то, что она инсталлируется без требования прав администратора. Формат заметок, что интересно, - .md (или по желанию .org - формат emacs orgmode) и база в .md полностью совместима с Obsidian. Во всяком случае так утверждают пользователи. Сам не проверял.

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

У них есть сервер Discord с русскоязычным каналом.

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

Стоит ошибится в одной букве и у барда уже шифер зашуршал
Стоит ошибится в одной букве и у барда уже шифер зашуршал

Нормас, нормас. Я бы сказал один-один. Какой вопрос, такой и ответ ;)
Нормас, нормас. Я бы сказал один-один. Какой вопрос, такой и ответ ;)

То что вы описали, это по смыслу старый добрый ОТP = one time password. Такие бумажки с кодами, они называются iTAN до 2019 еще можно было повстречать в банковских системах. На смену им пришел ChipTAN, где нужно вставлять банковскую карту в устройство для генерации TAN-ов. А потом и PhotoTAN и QR-TAN. Особенность в банковском секторе, это то что там необходим не только вход в систему, но и заверение каждой транзакции. И для этого используется дополнительная система авторизации. Отличная от той что используется для входа в учетную запись.

Вне банковского сектора уже все перешли на TOTP (time based one time password) и вариации. Такие системы вам знакомы. Это например Google Authenticator, Microsoft Authenticator и иже с ними. Причем стандарт открытый. И не надо никаких SMS. Смена телефона тоже перестала быть большой проблемой, потому что большинство таких приложений научились создавать бэкапы настроек. Перезашел в учетку с нового телефона, восстановил приложения-аутнтификаторы из бэкапа и они работают как раньше.

Если конечно нет смартфона, то тут уже да, посложнее будет.

Спасибо что обратили внимание на data-аттрибуты. Это часть стандарта и очень мощный инструмент.
https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-*
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset

Я не вижу никаких аргументов против введения таких аттрибутов в код фронтенда.
Это часть "testability". И висеть в проде эти аттибуты тоже не обязательно должны. Можно заставить компилятор или препроцессор убрать эти аттрибуты при сборке.

Да, придется вложиться в это. Но это и есть серьезное отношение к автоматизации тестирования. Бывает, конечно, что тестируемость случайно возможна, посредством каких нибудь манипуляций, или из-за свойств системы, но полагаться на это не стоит. Тестируемость это инвестиция, инвестиция в будущее сложной системы. И она стоит денег.

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

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

И текстовка диалогов выверена очень тщательно. Уж не знаю какими правилами они руководствовались, но в них на удивление нет ничего лишнего, как нет и пустоты. Каждая реплика показывает характер главного героя, либо характер его отношений с собеседником, либо раскрывает психологию собеседника. Есть впечатление, что эти диалоги ставил режиссер. Как будто садились люди и проговаривали эти диалоги вживую. Стандартных реплик практически нет. И разговор ощущается очень естественным. Никакого пафоса, никаких лишних слов, никаких заумностей.

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

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

В Киберпанке диалоги как линза, через которую ты рассматриваешь мир. Это непередаваемое ощущение.

Я когда-то интересовался этим вопросом. Потому что у нас доступ к тестируемому приложению был через пароль и токен. Накопал, что есть библиотеки для OTP (ну там PyOTP, например). По смыслу она будет делать то же самое, что делает ваш Google Authenticator в телефоне. Мы в коде прописываем инициализационный шифр, который нам дает сервис (обычно это среди опций, "добавить вручную" вместо qr кода). И наш тестировочный код, будет тем же алгоритмом создавать нам коды доступа как это делает ваш Google Authenticator или кто-то еще. Реализацией не занимался, но ребята с другого проекта рассказывали, что этот подход рабочий.

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

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

Я считаю, в этом и есть основная часть проблемы. Одно дело знать правила, а другое жить по правилам. И именно поэтому, как мне кажется, внедрения не работают. Отсюда и появляются регулярно в инфосфере столько "историй болезни" и "криков души", (а иногда даже "криков: души!":) Правила изучили (а возможно всего лишь ознакомились), а следовать им забыли. Или не научились распознавать ситуации принятия решений в которых эти принципы должны быть применены.

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

Information

Rating
2,313-th
Location
Германия
Registered
Activity

Specialization

Test Automation Engineer, Quality Assurance Engineer
Senior
Python
Docker
Git
Linux
OOP