• Болезнь творца или как создать свой виртуальный мир?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Вот инструмент для разработки игр и десктопных программ на PHP develnext.org/ru
    Начните с написания диздока. В нем кроме всего прочего описана механика игры в мельчайших подробностях. Без него вы закопаетесь в коде по уши и никогда не закончите свой проект.
    Насчет клона игры Жизнь для разминки, тоже согласен. Чтобы понять как работает подобная симуляция.
    Сложность на мой взгляд в императивном описании поведения каждого агента и мира.
    Хотите поэкспериментировать с агентным моделированием, попробуйте NetLogo.
    Ответ написан
    Комментировать
  • Как перейти от стадии знания тегов к успешной верстке?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Смотреть как сверстаны чужие страницы, например. Ну и постоянно спрашивать Яндекс "как верстать сайты", там весь интернет этим завален.
    Знание тегов это как знание назначения карандаша, красок и кисточки. Рисовать все равно надо учиться. Это процесс. И как в любом обучении быстрых путей нет. Можно быстро что-то сделать но научиться быстро чему-то нельзя. Я могу сделать яичницу, но чтобы научиться ее делать нужно посвятить этому куда больше времени чем я этому посвящаю. Так вот нужно ответить себе на вопрос, вам хочется быстрых результатов или вы хотите этому научиться, то есть посвятить этому часть своей жизни.

    Когда я увлекался веб программированием, я мастерил маленькие финтифлюшки в онлайн редакторах типа jsfiddle и jsbin. Нужно постоянно решать какие-то задачи, только так нарабатываются навыки. Тренировка называется. И нужно доводить до конца. Что значит не выходит? Просто оно еще не готово. Делайте, продолжайте трудиться над этой конкретной задачей, и получится. Только когда вы одолеете свою задачу вы чему-то научитесь. Я повторюсь: быстрых путей нет.
    Ну и важно, чтобы это вам было действительно интересно. Если предмет интересен, ты готов читать о нем и исследовать его весь день. А это положительно сказывается на результате. Вот такой секрет.
    Ответ написан
    Комментировать
  • Оптимальный набор тест-кейсов для покрытия клиент-серверной части приложения?

    lxsmkv
    @lxsmkv
    Test automation engineer
    сервер для вас - черный ящик в данном случае. поэтому единственное место где можно проверить реакцию на стимул это клиент. Т.е. вы можете делать только end-to-end тесты. Но без возможности контроллировать сервер, многие сценарии проверить не удастся. Например, если сервер шлет оповещение клиенту за 15 минут до начала события (допустим это напоминалка). Чтобы прокрутить часы вперед и проверить срабатывание и обработку напоминания (напр. если мы заглушили оповещение оно не должно больше приходить) нужен доступ к серверу.
    С другой стороны, чтобы спроектировать тест сервер не нужен, тест проектируется в голове, а вот то, что его нельзя будет выполнить без специальных возможностей это нужно донести до заказчика.
    Ответ написан
    2 комментария
  • Есть ли ISO описывающий позиции в отделе обеспечения качества?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Есть такая бумажка: сертификат ISTQB Advanced Level Test Manager.
    В него можно тыкать и говорить что вы QA Manager.
    Ответ написан
    Комментировать
  • Как тестирование систему управления производством компьютерной графики?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Вы хотите проверить, что скрипт по заданным данным на выходе выдает ожидаемый результат? Это можно, посмотрите как сделаны регрессионные тесты для утилиты GraphViz dot https://github.com/ellson/MOTHBALLED-graphviz/tree... они делают прогон на тестовых файлах и сравнивают разницу с эталонными файлами.
    Писать автоматические проверки на работу всего пайплайна я бы не стал. Хотя и такое делается https://github.com/jenkinsci/JenkinsPipelineUnit
    И на докер можно тесты писать https://medium.com/@aelsabbahy/tutorial-how-to-tes...
    Все можно, но чем больше у вас кода тем больше необходимости тестировать тестирующие скрипты. А надо вкладывать силы в продукт, потому что продукт приносит деньги а не тонны тестировочного кода. Какой-то минимум проверок - да. Главное не увлекаться.
    Ответ написан
    Комментировать
  • Раскритикуйте мобильное меню - имеет право существовать?

    lxsmkv
    @lxsmkv
    Test automation engineer
    для мобильной страницы это одно из адекватных решений, до кнопки можно дотянуться пальцем. Так сделано на хабре. Можно еще сделать чтобы кнопка плавала при скролле. либо меню было зафиксированно. Также видел вариант, что при свайпе в сторону открывается меню.
    Ответ написан
    Комментировать
  • Чему учиться для работы из дома?

    lxsmkv
    @lxsmkv
    Test automation engineer
    А фирм нет где нужно какую-нибудь оптимизацию делать? Это ведь прямой профиль экономиста. Грузоперевозки, склады. Закуп. Процессы оптимизировать. Маркетинг. Планирование смен. Бухгалтерия. Налогообложение. Да не перечислить всего. У экономиста с дипломом выбор задач колоссальный. Конечно если в университете ничему из этого не научили, то обидно конечно. И программистом становиться не выход. На это уйдет дофига времени. Идите тестировщиком, это единственная специальность где порог входа самый низкий, и логика вам там тоже пригодится. А если постараться можно стать хорошим специалистом.
    Ответ написан
  • Как назвать булеву переменную которая указывает делать что-то или не делать?

    lxsmkv
    @lxsmkv
    Test automation engineer
    filteringOptionEnabled - включена ли опция пользователем.
    если говорить should_ то получается должна быть включена и не до конца сразу ясно это ее текущее состояние или желаемое.
    если говорить active - это активен ли фильтр, он может быть включен пользователем в опциях но не быть активным, потому что в данный момент нечего фильтровать.

    Видел булеву переменную она называлась EnabledDisabledServiceState - Это означало ... щас мозги в кучу соберу .. оключил ли пользователь сервис, при этом показывалась соответствующая иконка, что сервис отключен пользователем.
    Ответ написан
    Комментировать
  • Как создать видимость активности компьютера в интернете?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Есть инструменты для автоматизации работы браузера, самый распространенный - selenium. На нем пишут скрипты для тестирования веб приложений, при этом эмулируется пользователь - нажатие ссылок, скроллинг. Но скрипт вам придется писать скорее всего самому.
    Не думаю, что кто-то возьмется вам в этом помогать. Ведь никто не захочет лишать Вас такой уникальной возможности окунуться в удивительный мир программирования, и сделать необыкновенные открытия в области информационных технологий.
    Ответ написан
    Комментировать
  • Правильное тестирование Javascript?

    lxsmkv
    @lxsmkv
    Test automation engineer
    --
    Как перестать беспокоиться и начать писать тесты

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

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

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Опять же тестирование это отдельная профессия

    Есть профессия - инженер. Инженер это человек кторый в состоянии обдумать все нюансы. Инженер и разработать может и спецификацию написать и протестировать.
    Если вам в мастерской меняют колеса, а на трассе у вас слетают болты - и монтажник скажет, мол "Ну, болты у вас не стандартные. Откуда мне было знать, что для них другой момент нужен. Надо было сразу сказать." (история из жизни)
    Тут сразу возникает возмущение, неправда ли? Мол, как же так, ты же мастер, или что.
    Так же заказчик отностися к исполнителю в IT - он ожидает качественной, профессиональной работы.
    Конечно заказчик хочет все дешево и быстро, но это задача профессионала, обьяснить ему, что входит в стоимость услуг, задать ему необходимые вопросы. Если вы заказываете вязку свитера, он должен быть полосатый, сине-белый, а вам делают полоски вдоль хотя вы рассчитывали на поперек - это чья проблема? Проблема исполнителя. Заказчик рассчитывает, на то, что его обо всех нюансах спросят. Оффициант когда принимает заказ на кофе спрашивает про сливки и сахар. Это профессиональная обязанность. И если принесут не то, что вы хотели, ваш заказ меняют за счет заведения. Без дискуссий.
    Фриланс тем и сложен, что исполнитель должен совмещать в себе несколько ролей.
    Ответ написан
    Комментировать
  • Для чего существуют другие парадигмы программирования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Любую программу можно написать с любым подходом. Разница лишь в том, насколько удобно будет моделировать законы реального мира в программе. ООП потому распространено, что провести аналогию между программным обьектом и обьектом из реального мира очень легко. При программировании предметных областей которые не имеют осязаямых участников, могут быть удобны другие парадигмы. По той же причине когда нужно в ООП отображать неосязаемые сущности, могут возникать определенные сложности с именованием классов. Может замечали. Не все рифмуется в эту парадигму. Иногда вам нужны просто вычисления, тогда декомпозиция задачи на объекты не нужна совсем.
    Парадигма это всего лишь перспектива взгляда на одно и то же. В зависимости от того с какой стороны мы смотрим на предмет, очередность (приоритет) компонент его составляющих для зрителя будет меняться. В какой-то задаче может быть важно время, а в какой-то цвет, а в какой-то измерение. Что является единицей анализа в честь того и парадигма.
    Ответ написан
    Комментировать
  • Как научится выражать свои мысли?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Это нормально, другие делают вид что поняли, кивают, а потом выясняется что они не до конца все поняли. Но тогда уже поздно. Лучше сразу дать понять что ты не до конца понимаешь. Переспросить, переформулировать.
    Я вообще по жизни угараю с совещаний - всегда такое впечатление что все все поняли - но оказывается что никто ничего до конца не понял, все просто покивали головами чтобы не казаться дураками. Никогда не надо стесняться спрашивать, хоть это и не всегда удобно. Как говорят японцы: "Спросить — стыдно на минуту, а не знать — стыд на всю жизнь"
    Не стесняйтесь тормозить разговор. Типа:
    - Можно я перескажу своими словами как я это понял.
    - Я хотел бы лучше понять для чего это нужно? Какую проблему это решает?
    Особенно если вы новичок никто не будет предьявлять к вам завышенных требований, а кто-то даже наборот отметит тягу к знаниям. Нет ничего хуже когда человек до конца не разбираясь делает вид что он шарит и ему все по-плечу (Эффект Даннига-Крюгера).

    Есть еще т.н. проблема XY xyproblem.info - обязательно ознакомьтесь. Я однажды с удивлением выяснил, что страдаю этим синдромом. Не обьясняю контекст задачи, а задаю конкретный вопрос. Это ставит людей в тупик, и в этом нет ничего хорошего. Со временем я приучил себя обьяснять проблему так чтобы мне давали развернутый ответ. Главное не бояться перегрузить людей деталями. Они, эти детали, как правило сильно меняют дело.
    Вот шаблон с контекстом:
    - Я делаю ... у меня есть ... и для того чтобы сделать ... я использую ... . Но если мне нужно ..., например чтобы .... то этот подход не работает. Как можно сделать лучше?

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

    Иногда я использую то, что я называю отложенным мышлением (deferred thinking). В том случае если нет времени на обсуждение. Я задаю вопрос, и просто запоминаю ответ, и обдумываю его потом. А человеку говорю "Спасибо за наводку, я еще раз все прокручу в голове. Если мне еще что-то будет не понятно я приду снова, окей?" Обычно никто не отказывает. Главное предупредить что ты возможно придешь еще раз.
    Ответ написан
    2 комментария
  • Иду в школу учителем хотелось совета по теме?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Думаю в таком возрасте важно и достаточно, чтобы они правильно могли пользоваться названиями комплектующих. Системный блок, материнская плата, графическая карта, монитор, клавиатура, мышь, процессор, блок питания. Также показать где на материнской плате сидят графическая карта, процессор, и ОЗУ, что куда подключается; Что из них является устройствами ввода а что устройствами вывода; Обьяснить что в компоненты сделаны так что их нельзя воткнуть не туда (принцип Poka Yoke). Больше за 10 минут вы не успеете.
    Можно потом сделать тест, на листе бумаги изобразить голую материнскую плату, и по краям разьемы в фас. И комплектующие, чтобы они соединили стрелочками что куда нужно подключать. комплектующие обозначить словами, а не картинками, так вы проверите, что они запомнили их названия.
    Ответ написан
    Комментировать
  • Как правильно составить тесткейсы?

    lxsmkv
    @lxsmkv
    Test automation engineer
    непонятно, как на 100% обеспечивать наличие имени у одного, и отсутствие у второго.
    Обычно для этого делают тестовые аккаунты. Но это не гарантирует проверку динамики. может получиться так что у старых пользователей без имени все норм, а у тех кто удалил имя - нет.

    Вообще подумайте, каким образом это условие может возникнуть, что имя у пользователя отсутсвует. (Я думаю - он его стер, он его не задал при создании аккаунта) Но может есть еще какие-то способы.
    Тогда это будет просто одним из ожиданий тестов в разделе "изменение данных пользователя" и "создание пользовательского аккаунта"
    Ответ написан
    3 комментария
  • Можно ли воскресить спикер на 10-ой винде?

    lxsmkv
    @lxsmkv
    Test automation engineer
    может в настройках звука отключена стандартная звуковая схема?
    >>> control mmsys.cpl sounds
    закладка звуки, меню звуковая схема.
    Ответ написан
  • Написать тест jsapi для корзины товаров?

    lxsmkv
    @lxsmkv
    Test automation engineer
    вы хотите тест который будет показывать вам что загрузка корзины стала тормозить?
    Торможение загрузки зависит от многих факторов (в том числе от скорости соединения, мощности компьютера, от пинга к базе данных) тут лучше профайлинг сделать.

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    похоже на "доверительный интервал"
    Ответ написан
    1 комментарий
  • Есть ли у кого то такая привычка и как вы с ней боритесь?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Может стоит при постройке прототипа делать сверху вниз?
    Я например делаю так: пишу шаблон конечного кода, так так будто те фунцкии которые я в нем использую существуют.

    Вот эскиз того как я при этом думаю:

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

    И тогда остается наполнить эти функции жизнью.

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


    P.S. Вот еще рекомендую просмотреть (хотя бы часть 2 и 3): Паттерны для масштабируемых JavaScript-приложений
    Ответ написан
    Комментировать
  • Почему скрипт в jsfiddle.net работает, а из index.html нет?

    lxsmkv
    @lxsmkv
    Test automation engineer
    у меня так все работает. IE, Chrome, FF
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>JS Bin</title>
    </head>
      <style>
      #trigger {
      width: 100px;
      height: 100px;
      background: gray;
    }
    
    #trigger2 {
      width: 100px;
      height: 100px;
      background: black;
      display: block;
    }
      </style>
    <body>
    <div id="trigger"></div>
    <div id="trigger2"></div>
      <script>
        switch ('x') {
      case 'x':
        document.getElementById('trigger').style.display = 'none';
        break;
      default:
        alert('yt')
    };
    
      </script>
    </body>
    </html>
    Ответ написан
    Комментировать