работаю автоматизатором тестирования


Образовательный профиль: Экономика, информатика.
Контакты

Достижения

Все достижения (20)

Наибольший вклад в теги

Все теги (148)

Лучшие ответы пользователя

Все ответы (479)
  • Актуальна ли карьера автоматизатора тестирования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    чисто эмоционально мне больше по душе автоматизация, да и опыт QA не хочется терять
    Этии аргументы недвусмысленно подсказывают вам выбор.

    Автоматизация актуальна всегда. Автоматизация тестирования будет актуальна пока актуально тестирование. А оно становится актуальнее с каждым днем. Сложность приложений растет, качество приложений падает. Без автоматизации проверок человек просто будет не в состоянии проверить приложение в достаточном обьеме.
    Вот у нас около 800 UI тестов которые катают на 20 разных вариантах сборки. Человек не может за день сделать 16 тысяч проверок. Я проверяю результаты автоматизации, и завожу баги, в 5-10 раз чаще/больше чем ручные тестировщики. И это несмотря на то, что для автоматизации были выбраны самые незамысловатые сценарии.
    А в свободное время я могу вручную тестировать интересные сценарии. И находить неочевидные ошибки. A желающих заниматься автоматизацией не так уж и много. Так что вы будете всегда уникальным специалистом.
    Ответ написан
    Комментировать
  • Как натренировать тестировщика?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Я вам расскажу про среднестатистических тестировщиков. Не про талантливых, а про обыкновенных.

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

    Если тестировщик никак не проявляет инициативы - тоже плохо.

    Спрашиваешь тестировщика:
    - Чем ты сегодня занимался?
    - Тестировал.
    - Что тестировал?
    - Все тестировал.

    яркий пример того, что тестировщик не понимает, что его продукт - информация. Или ему вообще не обьяснили чего от него хотят. Проблема скорее руководителя.

    Если тестировщик не производит информации - он бесполезен.

    Еще нельзя тестировщиков сажать в отдельное помещение. В изоляции они будут неэффективно работать.

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

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

    Чем чаще вы будете оставлять тестировщика "за бортом" тем менее эффективно он будет работать.

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

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

    Если вы не знаете какие задачи поручить тестировщику - решите этот вопрос в первую очередь.

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

    Подведем итог: чем конкретнее задача поставленная тестировщику - тем (внезапно) больше пользы от его работы.
    Ответ написан
    3 комментария
  • Работа тестировщиком не дает никаких полезных навыков в плане дальнейшего трудоустройства разрабочиком?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Если вы будете заниматься автоматизированным тестированием вам волей-неволей придется понимать устройство приложения. Хотя бы очень поверхностно. Чем лучше автоматизатор тем лучше его понимание устройства приложения. И тут все зависит от вас, станете вы интересоваться устройством приложения глубже или нет. Требовать от вас этого никто не станет. Будете интересоваться - через какое-то время сможете стать разработчиком.

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

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

    У меня сложилось впечатление, что вы хотите через тестирование попасть в разработку. Я бы не стал так делать. Так вы ни хорошим тестировщиком не станете, ни хорошим разработчиком. Я сознательно отказался от работы разработчиком, и остался автоматизатором. Потому что знаю как они работают, и мне иногда грустно. Стать еще одним производителем багов - нет спасибо. А у меня уникальные навыки. Я решаю интересные задачи. Я ковыряюсь в приложении, чтобы понять где к нему прицепиться, чтобы получить нужную информацию. Нормальные интерфейсы, к сожалению, порой не предусмотрены. Я постоянно тусуюсь с разработчиками. Мы обсуждаем баги и я иногда могу подсказать подход к их решению, могу помочь отфутболить баг, или если баг не наш, перенаправить его с нормальным комментарием. Могу зайти в бюро к разработчику и спросить почему баг еще не пофиксили, причем именно техническую причину, и понять ее. Могу прочитать лекцию разработчикам о том, что важно писать внятные коммит-мессаджи. Знаю как пользоваться Джирой. Например трансформировать баг в таск и наоборот. Знаю наши информационные системы. Могу подсказать как с помощью нашего интрумента тестирования продебажить трудно воспроизводимое состояние. Могу читать стектрейс и лог иприложения, и понимая как работает наша программа, обьяснить разработчику, что проблема наша, а не во фреймворке или где-то еще.

    Просто я тянусь к знаниям и не считаю себя умным и "все итак знающим".

    Можно конечно все время сидеть в бюро и добавлять n+1 тест в тестовый набор у уходить в 17 часов домой. От вас зависит.

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

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

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

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

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Я вам просто для рефлексии ваш вопрос прокомментирую. Дело в том, что для моделирования сложных систем, нужно сперва понять, что из себя представляют эти системы. Moжете почитать про World3 - компьютерная модель
    для рассчета макро-показателей мира.
    Модель никогда не будет идеальной. Поэтому нужно точно знать, что мы хотим смоделировать. И какие ограничения это накладывает.

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

    Это агентное моделирование. Можете попробовать NetLogo, например.

    Как лучше сделать "сознание" бота, чтобы он был самообучающимся
    Чему он должен будет обучаться? Создать простейший механизм обучения можно по принципу спичечных коробков Дональда Митчи

    но и в то-же время организованным?
    что значит быть "организованным"?

    Какую информацию о окружающей среде бот должен воспринимать
    А он должен? Для чего это нужно?

    Как организовать семантику языка жителей
    А они должны общаться? Для чего им это нужно?

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

    Я хочу чтобы жители обсуждали свои проблемы, решали их
    Это предложение должно было стоять выше, поскольку описывает условие. Почему у жителей должны быть проблемы? Какие проблемы? Что значит решить проблему?

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

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

    И еще читайте про имитационное моделирование
    Ответ написан