• Как тестировать встроенные системы?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Как я упомянал в другом ответе https://toster.ru/answer?answer_id=1040391
    у нас в системе есть конфигурационные файлы, с флагами, эти флаги определяют при запуске системы какие части системы запускаются а какие нет. Т.е ПО в принципе поддерживает максимальную конфигурацию но путем флагов ее можно вариировать. Значение этих флагов можно опрашивать. Если знать как должна быть настроена система в идеале, то можно написать тесты проверяющие значение этих флагов.
    В принципе при тестировании настроек мы берем эталонные зачения и сравниваем с действительными, все довольно просто, но нужно написать файл с эталонными значениями. Это может быть дофига работы на несколько недель, но это окупится сторицей.
    И конечно тесты эти гонять перед релизом, т.е после сборки. Не до сборки, а после. Так вы сможете выявить проблемы в всей цепочке,чтобы не было такого что у разработчика на машине тесты зеленые, а сборка (внезапно) корявая.
    Ответ написан
    Комментировать
  • Как тестируют прошивки мобильных телефонов?

    lxsmkv
    @lxsmkv
    Test automation engineer
    у нас в системе есть флаги на каждый поддерживаемый функционал, например есть ли GPS. таких флагов пару сотен.
    Каждый тест обернут в декоратор, если флаг включен то тесты требующие GPS выполняются, иначе пропускаются.
    Предварительная настройка выполняется перед тестом, например путем установки нужных параметров прямым доступом к системе (white box). Тесты у нас выполняются at runtime, путем рефлексии тестировочный фреймворк подключен к системе.
    Тесты выполняются для каждой принципиально отличной конфигурации устройства. например у нас более двадцати принципиально отличных конфигураций. получается простыня такая х тестов на y конфигураций.
    конкретно по машинам состояний есть model based testing (при наличии формального описания машины состояний может делать полный ее обход, в теории) есть например scxml для такого формального описания. однако по этой теме практическим опытом поделиться не могу, за неимением оного

    Если есть дополнительные вопросы, пишите.
    Ответ написан
    Комментировать
  • Как рассортировать одномерный массив объектов в двумерный по свойству объекта?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Можно попробовать фильтровочную функцию тогда вам не придется все разбирать. Можно будет просто вызывать фильтр с параметром channel на живом обьекте/json а она будет возвращать что нашла. Пример тут
    Ответ написан
    Комментировать
  • Как склеить одномерние массиви в двумерний?

    lxsmkv
    @lxsmkv
    Test automation engineer
    public class Main{
      public static void main(String args[]){
        int ar1 []  = {1,2,3,4,5};
        int ar2 []  = {6,7,8,9,0};
        int arr [][] = {ar1, ar2};
        System.out.println(arr[0][1]);
        System.out.println(arr[1][2]);
        try{
        System.out.println(arr[2][0]);
        }
        catch (IndexOutOfBoundsException e){
          System.out.println(e + " -> Index doesnt exist");
        }
      }
    }


    вывод:
    2
    8
    java.lang.ArrayIndexOutOfBoundsException: 2 -> Index doesnt exist
    Ответ написан
    Комментировать
  • Ошибка в логике?

    lxsmkv
    @lxsmkv
    Test automation engineer
    inp[i].classList.add('err');
    Ответ написан
  • Как реализовать действие при нажатии кнопки с помощью функции lambda?

    lxsmkv
    @lxsmkv
    Test automation engineer
    думаю так будет работать
    lambda: self.change_text()
    Ответ написан
    Комментировать
  • Как эффективно развивать себя как разработчика?

    lxsmkv
    @lxsmkv
    Test automation engineer
    vanilla-js.com
    освоив javascript вы поймете и сможете освоить любой js фреймворк. Именно таких специалистов нехватает.
    Тех кто без понимания сути пилит кругом и рядом копипасту jQuery со StackOverflow - пруд пруди.
    Только усвоив сам js полностью, вы станете хорошим разработчиком на js.
    IMHO, конечно.
    Ответ написан
    1 комментарий
  • Хочу попробовать себя в IT, с чего начать?

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

    Это так сказать альтернативный вариант, чтобы вы не зацикливались.

    P.S. Еще раз поясню: программист это как хирург в медицине. Но ведь в медицине много и другой работы.

    Вот почитайте например
    Как стать настоящим аналитиком требований.
    Часть 2
    обратите особенно внимание на пункт "знание предметной области" - это то что дает человеку знакомому с предметной областью (как Вы, знакомы с бизнесом автозапчастей и строительства) преимущество перед аналитиком без такого реального опыта.

    В ручное тестирование можно устроиться вообще имея навыки продвинутого пользователя и думающую голову. Пожалуй проще всего получить навыки тестировщика. А зп вполне себе нормальные. А работа весьма не пыльная, но ответственная. Стресс стрессом но не больше чем у того же программиста.
    Да и начать карьеру в ай-ти через тестирование пожалуй самый "халявный" путь.
    Ответ написан
    2 комментария
  • Как проверить список на пустоту?

    lxsmkv
    @lxsmkv
    Test automation engineer
    if quality:
      my_file.write(quality)
    else:
      raise ValueError("no value")
    Ответ написан
    Комментировать
  • Почему не работает код?

    lxsmkv
    @lxsmkv
    Test automation engineer
    интерфейс не может имплементировать интерфейс а только расширять (extends)
    Ответ написан
    Комментировать
  • CorelDraw или illustrator?

    lxsmkv
    @lxsmkv
    Test automation engineer
    я бы сказал Inkscape, он бесплатен и делать на нем можно все то же самое.
    на ютубе поищите " business card design" замените Х на CorelDraw, Illustrator или Inkscape, и вы увидите что уровень результата одинаковый.

    Ну а так если муторно осваивать новую программу, то CorelDraw, с ним наверное даже кошка справится.

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

    A можно глянуть Affinity Designer, у него ценник очень бюджетный.
    Ответ написан
    Комментировать
  • Через что реализовать очень простую сетевую игру?

    lxsmkv
    @lxsmkv
    Test automation engineer
    "не охота копаться в устройстве велосипеда, возьму танк" :)

    java.net.Socket это уже и есть абстракция. Этот API избавляет вас от необходимости разбираться в устройстве сетевых коммуникаций.
    так что я за ответ Дмитрий Александров
    Ответ написан
    Комментировать
  • Чем тетсировать android приложение?

    lxsmkv
    @lxsmkv
    Test automation engineer
    поищите "android test automation"
    Ответ написан
  • Программа python+pyqt как разобраться?

    lxsmkv
    @lxsmkv
    Test automation engineer
    инсталлируйте библиотеку pyqt 5 как описано в инструкции тут
    если pip не стоит - придется сперва поставить его, это гуглится на раз.
    после этого сделайте пусковую программу с помощью pyinstaller как описано тут
    Ответ написан
  • Как высчитать пропускную способность?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Располагаешь значения по порядку. Отмечаешь значение которое соответствует 95%. Берешь то что справа от него. Т.о. 95% значений будут ниже этого значения.
    Для рассчета среднего значения можно взять медиан (серединное значение в упорядоченном списке чисел)
    Ответ написан
    Комментировать
  • Обучение в группе энтузиастов: опыт, идеи, исследования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    У нас хорошо идут презентации на тему. Вы что-то умеете лучше остальных? Соберите людей и расскажите им как вы решаете проблемы. А какие проблемы выбрать темой вы сами наверное уже определили. Достаточно будет нескольких таких воркшопов.
    Ответ написан
    Комментировать
  • Какой аналог BGE (Blender Game Engine) стоит выбрать?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Если ты не собираешься модифицировать сам BGE, то GPL тебя никак не ограничивает. Пpодукты созданные с помощью GPL-программ* могут быть закрытыми сколько угодно.

    -- * и не включающие в себя GPL программ.
    Ответ написан
  • Как узнать на каком языке написана программа?

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

    P.S. если вам просто интересно как возможно выглядит такое ПО, и чем в принципе отличается от гражданского, можете посмотреть на ПО Апполона 11 (оно в свободном доступе)
    Ответ написан
    Комментировать
  • Программа/сервис выискивающая математическую закономерность в числах?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Ответ написан
    Комментировать
  • Что это за язык програмирования и что такое Т?

    lxsmkv
    @lxsmkv
    Test automation engineer
    class Node:
      def __init__(self, value):
        self.value = value
        self.left = None
        self.right = None
      
      def __str__(self):
        return self.value
    
    r'''
    
    A-B
     \
      C - E
       \
        D
    
    '''
    
    root = Node("A")
    root.left = Node("B")
    root.right = Node("C")
    root.right.right = Node("D")
    root.right.left = Node("E")
    
    
    def iot(node):
      if node is not None:
        iot(node.left)
        print node
        iot(node.right)
      
    iot(root)

    результат

    B
    A
    E
    C
    D
    Ответ написан
    Комментировать