• Где можно попрактиковаться новичку по тестить и желательно с фитбэком?

    @azShoo
    Нормальных способов получения такого опыта нет, но, как человек который собеседует (в том числе и джуниоров), могу сказать что этот опыт не особенно и нужен.
    И всё таки, варианты примерно следующие:
    1) Биржи тестирования (utest и иже с ними).
    По факту, больше времени вы потратите на то, что бы выбить себе задачи среди конкурентов, но какой-никакой опыт там можно получить.
    2) Стажировки в крупных компаниях. Тоже не самый крутой способ, т.к. скорее всего особого опыта вы не получите, просто будете пару месяцев решать рутинные задачи, от которых тщательно увиливают люди в штате компании.
    3) Проектная\почасовая работа на удаленке (напр. предложенные в комментах вакансии ассессоров в яндексе). Примерно то же самое, что п.2, но за символические деньги.

    По факту, всё это не особо нужно.
    Люди, которые готовы брать на работу начинающего специалиста не ждут в его резюме какого-то полезного опыта.
    Им нужно, в первую очередь, видеть общую адекватность, интерес и способность учиться и развиваться без пинков.
    Всему остальному они готовы вас учить. Иначе бы они не смотрели в сторону джуниор специалистов.
    - Пройдите курсы по тестированию и минимальные курсы по программированию (codeacademy + пайтон, например).
    - Почитайте пару книжек про тестирование, процесс разработки ПО, общий computer science.
    - Почитайте статьи по особенностям тестирования на разных платформах (напр. мобильных)
    - Напишите несколько пробных автотестов на UI и API, выложите их на github.
    - Возьмите несколько типичных бизнес-кейсов в любом известном приложении, напишите для них тестовую документацию. Можно так же выложить это всё на гитхаб.
    - Попрактикуйтесь в стандартных SQL запросах и работе с командной строкой.

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

    @azShoo
    Сделать override для вызова onBackPressed и\или KeyEvent.KEYCODE_BACK с пустым\нужным вам экшеном.
    Хотя это выглядит как костыль и описанную вами ситуацию стоит решать другими способами.
    Ответ написан
    Комментировать
  • Как стать тестировщиком, на что обратить внимания?

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

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

    Третье: получить необходимые знания по тестированию, computer science и смежным областям.
    Что вам понадобится:
    - Основы computer science, работы клиент-серверных приложений, HTTP + знания по устройству и принципам работы целевой платформы (мобильные\дектоп\т.д. в зависимости от вакансии).
    - Знания по теории тестирования. Здесь достаточно прочитать одну-две книжки по тестированию и\или два десятка статей в интернете. Важно не заучивать определения, а понимать что это и зачем.
    Стандартный набор: что такое тестирование и его цель, виды и типы тестирования, методики тестирования, практики тест-дизайна, виды артефактов тестирования и тестовой документации (какие зачем нужны, когда применять, как писать).
    - SDLC, методологии разработки, жизненный и релизный цикл приложений.
    - Основы работы с базами данных: какие бывают, что такое, базовые запросы SQL.
    - Основы программирования: базовый курс в интернете\книжечка\ютуб по Python\Java\что-нибудь ещё.

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

    Пятое: Profit - вы тестировщик.
    Ответ написан
    Комментировать
  • С чего начать разработку приложения для IOS что бы оно было синхронизированно с базой данных сайта комиксов?

    @azShoo
    Это реально.
    С чего начать? Определиться с тем:
    1) Как вы будете забирать данные и где хранить.
    2) Как вы будете доставлять данные на клиент.
    3) Какая логика должна быть на клиенте.
    4) Как вы собираетесь это монетизировать (если собираетесь) и как продвигать.
    По каждому из этих пунктов расписать Job to be done и начать делать.
    Рокетсаенса никакого. Возможно ли достичь рентабельности зависит от ответов на п.4
    Ответ написан
    Комментировать
  • Как написать тесты для бота ВК?

    @azShoo
    Ваши тесты должны проверять ваш код. Для этого и нужны ассерты (то самое сравнение, про которое вы говорите).
    То, что вы описали в "Я хочу" - не тесты и, вероятно, применять для этого JUnit нет смысла.
    Ответ написан
    Комментировать
  • Как осуществить переход с Web тестирования в Mobile?

    @azShoo
    Почитать про архитектуру платформ.
    Почитать про специфику тестирования в мобайле (работа в фоне, энергоэффективность, ресурсоемкость, нестабильный коннект, например).
    Устроиться на новую работку.

    В целом, различия с точки зрения процесса тестирования косметические.
    Есть специфика платформ, на которую необходимо обращать внимание (часть описал выше), но это все проистекает из common sense.
    Есть специфика инструментов (снятие логов, дебаггинг, распространение тестовых сборок и пр.), но это уже на практике проще освоить, никакого рокетсаенса.
    Ответ написан
    Комментировать
  • Нужны ли тестировщику мобильных приложений иметь при себе смартфоны различных версий Android и iOS?

    @azShoo
    Нужны. Работодатель вполне в состоянии обеспечивать необходимыми девайсами команду (это не так дорого, как кажется)
    Есть проблемы с удаленщиками, тут спасает только SauceLab и аналоги, но они хреново работают, не всегда пригодны к использованию и не всегда повторяют поведение живых девайсов.
    Ответ написан
    Комментировать
  • Почему открывается 2 браузера при выполнении тест?

    @azShoo
    Вероятнее всего дело в том, что вы два раза инициализируете вебдрайвер
    Тут
    > FirefoxBinary firefoxBinary = new FirefoxBinary();
    и тут
    > driver = new FirefoxDriver(firefoxOptions);
    Ответ написан
  • Как правильно тормозить проверку условия при переходе на другую страницу?

    @azShoo
    Выносите wait в отдельную функцию, которая принимает на вход драйвер и целевой элемент.
    Функция в цикле с минимальным таймаутом проверяет целевой элемент на наличие\видимость\кликабельность, как только его находит - возвращает true.
    Сверху навернуть максимальный таймаут, что бы не впадала в бесконечный цикл и вуаля.
    У вас wait который ждет ровно столько, сколько нужно что бы появился целевой элемент.
    Ответ написан
  • Организация документация в автоматическом тестировании. Как организовать?

    @azShoo
    Я бы на вашем месте в первую очередь ответил себе на вопрос "Какую проблему должна решить нужная вам документация".
    Для чего вы хотите её написать?
    Что бы структура проекта автотестов, его запуска и пр. были более прозрачными для нового человека?
    Что бы было очевидно, какие кейсы покрыты автотестами, а какие нет?
    Что бы было понятно, какие именно действия и проверки выполняются в том или ином автотесте?
    Что бы просто была документация и всем было хорошо?

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

    @azShoo
    Короткий ответ: Нет.
    Ответ написан
    Комментировать
  • Best practices: регистрация на основе номера телефона в мобильной разработке (как)?

    @azShoo
    Если максимально упрощенно:
    1) Проверяем уникальность телефона
    2) Подтверждаем владение телефоном
    3) Выписываем Auth-Token сохраняемый в приложении и в любом хранилище.
    4) Следим за актуальностью Auth-Token: при разлогине удаляем из хранилища, при окончании срока жизни - тоже.
    5) При старте приложения и последующих коммуникациях сервер-клиент-сервер шлем и валидируем AuthToken.
    Ответ написан
    2 комментария
  • Какой стэк позволяет быть одновременно веб и мобильным разработчиком - electron.js, react?

    @azShoo
    Java\Kotlin.
    Можно писать бэкенд для вебчика и нативный андроид.

    Других нормальных вариантов нет.
    Ответ написан
  • Как называется атака, когда шлют много параллельных запросов (не DDOS)?

    @azShoo
    Это выглядит как эксплуатация Race Conditions в коде.
    Название конкретной атаки я вам не скажу, и не уверен, существует ли оно в принципе.
    Ответ написан
    2 комментария
  • Насколько реально создать бота для игры Hearthstone?

    @azShoo
    Написать бота можно под любую игру.
    Есть две основные проблемы:
    1) Построение правильных стратегий у бота.
    2) Не получить за это бан.
    Ответ написан
    Комментировать
  • Возможно ли реализовать покупку подписок через свою биллинговую систему на IOS?

    @azShoo
    Если это in-App Purchase - только аппстор.
    Ответ написан
    Комментировать
  • Позитивный тест кейс, как?

    @azShoo
    Всё смешано в кашу.
    Думаю вам надо основательно почитать по теории тестирования и разобраться, где и что.
    Граничные значения и классы эквивалентности, а так же примеры их применения, гуглятся по запросу "Практики тест дизайна". Ну, или в любой книге по тестированию ПО.
    Если коротко: это про то, что разнообразные значения параметров, приводящие к одному и тому же результату нет смысла перебирать и можно схлопнуть их до минимума проверок.
    Напр. если у вас валидной датой рождения является 1910 - 2000 год -> вам нет смысла перебирать все значения от -MAX_INT до + MAX_INT, вам достаточно проверить >1910, 1910, 1911 - 1999, 2000 и > 2000.
    Т.к. по сути у вас есть 3 класса эквивалентных кейсов: пользователь указывает слишком раннюю дату рождения, пользователь указывает дату рождения в допустимом промежутке и пользователь указывает слишком позднюю дату рождения.
    Плюс к этому добавляется проверка границ этих интервалов - т.е. конкретных кейсов на границе каждого класса.
    Это позволяет определить, что границы классов проходят именно по нужным вам значениям (1910 - 2000), а не раньше\позже.



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

    Негативные сценарии покрывают ситуации, когда пользователь сознательно или случайно делает что-то не так - начиная от валидации значений, до дублирования запросов, всяческих инъекций и прочего.
    Напр. кейс "Перевести деньги с карты -> Нажать назад в браузере -> Перевести ещё раз" будет негативным -> необходимо проверить, что предыдущий стейт страницы (в котором деньги ещё не выведены с карты) не даст пользователю вывести больше, чем у него есть.
    Ответ написан
    Комментировать
  • Можно создать приложение (игру) для фанатов какой-нибудь франшизы, не имея на неё прав?

    @azShoo
    С правовой точки зрения: нет, нельзя, если иного не указано в лицензии на использование товарных знаков и интеллектуальной собственности.
    С фактической точки зрения: так делают, но на свой страх и риск.

    А ещё есть отдельный геморрой с тем, что например при загрузке в АппСтор\ГуглПлей с вас, с высокой долей вероятности, спросят про права на трейдмарки и прочее.
    Но это если говорить о мобильных приложениях.
    Ответ написан
    Комментировать
  • Что должен знать Junior Automation Tester в 2018?

    @azShoo
    Понятие джуниоров везде разное.
    Если максимально усреднить:
    - Теоретическая база по Computer Science: понимание работы целевой платформы, общие принципы построения приложений, версионность, SDLC и прочее.
    - Теоретическая база по тестированию: тест-дизайн, практики и подходы тестирования, артефакты тестирования и принципы и подходы к построению и проведению тестирования.
    - Теоретическая база по автоматизации: какие инструменты есть, как автоматизируются те или иные сценарии, что стоит автоматизировать, а что нет и с какой стороны ко всему этому подходить. Пресловутый page object и html\page elements.
    - Теоретическая база по программированию: ООП, структуры данных, способность решать минимальные типовые задачи, знание Java\Python.
    - Какой-никакой опыт работы с инструментами автоматизации (Селениум для веба, Appium для мобил и т.д.)
    Ответ написан
    Комментировать
  • Как технически реализован анализ интересов пользователей мобильного приложения?

    @azShoo
    Почитайте в сторону того, как работает in app аналитика, напр. Appsflyer и прочие.
    Пользователю на основе ряда идентификационных признаков присваивается внутренний айдишник, по нему шлется event- и data-driven аналитика, всё это связывается в сессии и далее.
    Технически это не сильно отличается от тех же cookie, с той лишь разницей что в случае с мобильным приложением точкой простановки этой куки является не запуск приложения, а install (или даже download).

    Всё точно так же: цифровой отпечаток, пиксели и эксшены трекинга и прочее.
    Ответ написан
    Комментировать