Ответы пользователя по тегу Тестирование ПО
  • Сайты, на которых может подзаработать тестировщик?

    @azShoo
    odesk и только.
    Забудьте про русский язык и русских заказчиков вообще.
    Ответ написан
    2 комментария
  • Какие области тестирования выбрать перед релизом? Какие более приоритетные, какие - менее?

    @azShoo
    В целом, Сергей, конечно, может быть прав. Вопрос достаточно размыт для того, что бы не иметь правильно ответа вообще.
    Как мне кажется, вопрос скорее про п.2 из вашего вопроса (виды тестирования).
    В таком случае, наиболее приоритетным перед релизом является smoke-тестирование -> регрессия, т.к. в них покрыты основные требования к уже реализованному.
    Т.е. в случае благополучного прохождения smoke и регресси -> вы как минимум убедитесь, что выпускаемый функционал не сломал реализованное ранее (т.е. не сделал хуже).
    А дальше, уже, тестирование самого функционала.
    Ответ написан
    Комментировать
  • Как переучить Web-тестировщика в IOs-тестировщика?

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

    Первое осваивается за неделю просмотром базового курса разработки на какой-нибудь курсере.
    Второе - осваивается преимущественно за счет опыта. Базовые вещи легко ищутся в гугле, как например:
    qatestingtraining.com/mobile-application-testing-o...
    www.softwaretestinghelp.com/beginners-guide-to-mob...
    www.mobileqazone.com/video/video

    В общем дайте товарищу почитать литературу по архитектуре платформы (на базовом уровне, что бы понимал, как что работает).
    Дальше по "азам" тестирования (что бы выделил новые типы событий и тестов, которые надо учитывать).
    А дальше в бой.
    Ответ написан
    Комментировать
  • Базовый багаж знаний для junior тестировщика?

    @azShoo
    Первое что нужно - умение искать и находить ответы на свои вопросы.
    В частности на ваш - ответов много, например Какие знания нужны, чтобы начать работать тестировщиком?

    В остальном:
    1) общее представление о процессе разработки, об технологиях (если веб - клиент серверная архитектура и все дела, если платформа - то почитать об устройстве платформы)
    2) теория тестирования: что есть баг/дефект, классификации, как составлять баг репорт. Что такое тест кейсы-тест-степ-тест сьют и прочие умные слова, короче: как писать тесты.
    3) тест дизайн: базовые практики на уровне примерного понимания.
    4) работа с базой на уровне селектов и прочих простых вещей.
    Ответ написан
    Комментировать
  • Как писать функциональные тесты для ASP приложения?

    @azShoo
    Написано же, с помощью одного из средств автоматизации.
    Берете селениум\тестнг\любойдругой фреймворк автотестов, и пишите.
    Ответ написан
    5 комментариев
  • Какую программу выбрать для нагрузочного тестирования?

    @azShoo
    Jmeter вам в помощь.
    Примитивнее некуда.
    Ответ написан
    Комментировать
  • Как провести a/b тестирование элемента страницы, не создавая дубля страницы?

    @azShoo
    Ставите отдельный триггер на показ этого элемента и добавляете лишний if во всех нужных вам местах. В чем проблема-то?
    Ответ написан
  • Что нужно пакету/библиотеке чтобы он(а) стал(а) популярной?

    @azShoo
    1) Актуальность (читай востребованность).
    2) Качество (без говнокода, без оверинжениринга, простое и понятное решение)
    3) Встраиваемость (если прикручивание вашего решения займет больше, чем реализация своего -> понятно, что выберут).
    4) Быть лучше более популярных альтернатив.
    5) Развитие и продвижение. Фиксить баги, собирать фидбэк, пиариться в профессиональном сообществе.

    В общем-то всё.
    Ответ написан
    Комментировать
  • Возможна ли удаленная работа в тестировании?

    @azShoo
    Вполне реально найти.
    Искать на oDesk и elance. На русских биржах вакансий почти нет.
    На примитивный манки-тест не смотрите, там большая конкуренция из индусов кликающих куда-попало, а если вы квалифицированный специалист - найти не особая проблема.
    Ответ написан
    Комментировать
  • С какой стороны приобщиться к IT-идустрии?

    @azShoo
    Вам нужно выбирать то, что придется по душе.
    Почитайте курсы, познакомьтесь чуть-чуть с разными технологиями и выберите то, к чему ляжет душа.
    Работа в IT требует постоянного саморазвития, изучения новых технологий и работы над своими навыками. Если вы будете выбирать технологию просто ради того, что бы уйти от текущего места работы вы не добьетесь успеха.
    Ответ написан
    Комментировать
  • Реально ли стать тестировщиком ПО в 39 лет, учитывая то, что основная профессия далека от IT?

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

    Если готовы учиться - выбираете технологию, стараетесь максимально быстро освоить, пишете пару мелких домашних проектов, что бы приложить ссылку на гитхаб и вперед.
    Ответ написан
    Комментировать
  • Графическое представление наборов входных данных для тестирования. Как это лучше сделать?

    @azShoo
    Лучше взять необходимые комбинации, написать на них pairwise тесты, и не пытаться сделать из этого красивые картиночки. :)
    Ответ написан
  • Каковы плюсы и минусы профессии тестировщика?

    @azShoo
    Из минусов:
    Ограниченное развитие.
    Недооцененность сферы в СНГ.
    Постоянные душевные страдания за качества продукта.

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

    В целом, минусов больше чем плюсов, потому что подход "этого небыло в тз" для тестировщика не работает. Нужно всегда думать о том, что остальные что-то упустили, забыли, не подумали.
    Нужно всегда помнить, что everything is broken. И всегда быть готовым к тому, что за баги на проде, которые неизбежно будут, шишки полетят именно в вас. :)
    Но, в то же время, мне, например, вполне нравится. Если перебороть в умах коллег по IT стереотип, что тестировщик это обезъянка, тупо кликающая куда-попало - будет вообще отлично.
    Ответ написан
    Комментировать
  • Какой инструмент использовать для автоматизации тестирования?

    @azShoo
    Селениум подходит, просто не используйте id в качестве локатора.
    Ответ написан
    Комментировать
  • Что почитать джуну тестировщику, кроме книг по тестированию?

    @azShoo
    вообщем всё, что тестировщику пригодится в работе.

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

    Что нужно знать джуну-тестировщику, в самом общем виде?
    1) Нужно понимать теорию тестирования: что есть дефект, приоритеты(классический вопрос про priority & severity), базовые практики тест-дизайна, понимание того как и зачем писать тесткейсы, понимание того, как локализовать ошибку.

    2) Нужно иметь общее представление о предметной области:
    Если тестируете веб - общее представление о клиент-серверной архитектуре, всякие пост-гет запросы, и прочеее прочее. + REST и API
    Если тестируете мобилы - подробнее почитать про специфику тестирования мобил.
    ну и т.д. с декстопами, железом, смарт-картами и прочим добром.

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

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

    Список перечисленных вами технологий смутил.
    Кибана - GUI обертка для NoSQL базы данных, зачем джун тестировщику это знать - не представляю. В большинстве мест вы с ней не столкнетесь, а когда столкнетесь - разберетесь за полтора дня с Lucene Query и будете жить радостно.
    XPath и Selenium - это для автотестировщика. Сажать джуна (человека с минимумом опыта) за автотесты - насилие над продуктом и человеком. Потом пригодится, на этапе джуна - фактически не нужно (понятно, что знание не лишнее, но применять оные вам вряд ли придется).
    XML - ну, что нужно знать про хмл я, честно говоря, не знаю. Разве что что это такое и как выглядит.

    В целом, стоит учитывать что тестировщик должен быть широкопрофильным специалистом. В идеале, вы должны иметь достаточно знаний что бы отлавливать ошибки аналитика (составлять\вычитывать\анализировать тех. документацию), разработчика (whitebox тестирование, локализация ошибки и прочее), инженера по конфигурации, понимание юзабилити и прочего.
    Как результат - знаний требуется вагон и маленькая тележка, и чем выше вы для себя ставите планку, тем глубже надо понимать, как работает продукт.
    Ответ написан
    4 комментария
  • Какой софт существует в помощь QA для визуальной проверки страниц?

    @azShoo
    Первое, что должен сказать, мне кажется вы смотрите немного не в ту сторону.
    Если вопрос стоит как "QA не успевает" - вам нужно автоматизировать наиболее ресурсоемкие (с точки зрения тестирования) тест-кейсы, к которым непосредственно верстка относится очень косвенно.

    Теперь по инструментам.
    Есть автотесты. Например, Selenium. Автотесты штука довольно универсальная и масштабируемая, но к проверке верстки их прикручивать довольно бессмысленно (хотя и можно).
    Селениумом, как правило, имеет смысл проверять непосредственно наличие элементов, взаимодействие с ними и их работу.
    (Напр. ввел номер телефона -> появилась следующая въюха, но проверять расположение въюхи селениумом - дело не благодарное).
    На мой взгляд - это оптимальный вариант, т.к. пройтись по страницам и проверить, что нет "уехавших" или расползшихся элементов - не занимает много времени. Много времени занимают именно функциональные кейсы.

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

    В общем, мое имхо, как тестировщика, автоматизация непосредственно верстки имеет смысл тогда, и только тогда, когда есть хорошее покрытие регрессионными и интеграционными автотестами, и по сути автоматизировать больше нечего.
    Ответ написан
    2 комментария
  • В каком языке программирования легче всего писать тесты?

    @azShoo
    На почти любом языке можно комфортно писать тесты, фреймворков и библиотек для этого дела навалом.
    Например: пайтон - pyunit, py.test, robot framework, selenium
    C# - тот же селениум, nunit, тестнг.
    Тесты на Javа, как уже говорилось выше, тоже вполне просто пишете.

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

    @azShoo
    Все зависит от того, что хотите улучшать.
    В отрыве от существующих проблем есть, фактически, следующие направления:
    1) Оптимизация и распаралелливание выполнения тестов.
    Цель - делать тестовые прогоны быстрее.
    Способ - рефакторинг, параллельные запуски, оптимизация с точки зрения тест-дизайна.

    2) Оптимизация тестового набора: или в ширь (увеличение тестового покрытия) или в глубь (большее количество тестовых данных и тестовых сценариев)
    Цель - ловить больше дефектов.
    Способ - оптимизация тест-дизайна, генерация новых тестовых данных.

    3) Стабильность и поддерживаемость. Опять же рефакторинг и оптимизация.

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

    Это так, на вскидку.
    В целом что бы сказать "куда развивать" нужно понимать, чего нехватает.
    Тесты не стабильны (псевдо-падения) -> рефакторить, пропускается много багов по покрытыму функционалу - > допиливать тестовый набор\тестовые данные, много времени тратите на анализ результатов прогона и заведение багов - оптимизировать генерацию отчета о тестировании, делать авто-репорт в багтрекер.
    Опять же, если на проекте часто актуальны баги типа "правили в одном месте - отвалилось в другом" - нужно максимально актуализировать скорость прогона и прикручивать к билдплану проекта. Запушили изменения - запустились тесты.
    Ответ написан
    Комментировать
  • Как можно протестировать верстку сайта во всех размерах и браузерах?

    @azShoo
    Вариантов довольно много, на самом деле.
    Тут нужен ряд уточняющий вопросов:
    1) Вам нужно проверять _регулярно_ или единоразово (сдаешь проект - проверил - забыл)?
    2) Какие браузеры и разрешения вам реально нужны? Тут надо определить две вещи:
    Под какие браузеры вы разрабатываете, и готовы обеспечивать поддержку, и нужно ли это вашим пользователям? Первое определяется исходя из ваших ресурсов, второе - исходя из статистики посещений сайта и прочего.
    Поддерживать "ВСЕ БРАУЗЕРЫ" и "ВСЕ РАЗРЕШЕНИЯ!!" - бессмысленный кейс. Вы потратите много времени на поддержку древних браузеров и разрешений, существующих на двух нетбуках в мире, но не получите ничего.
    3) Сколько вы готовы тратить времени, сил и денег на подобные тесты?
    4) Какая "погрешность" в результатах тестирования вас устроит?

    Вариант 1) Виртуалки. Много разных, с разными версиями браузеров, осей и пр.
    Разрешения экранов там отлично настраиваются, масштабируется все соответственно.
    Плюсы:
    - Высокая вероятность воспроизведения багов с реальных устройств.
    - Кастомизируемость - все, что нужно сделать, это развернуть N виртуалок, и накачать на них нужные вам версии браузеров.
    Минусы:
    - Миллиард виртуалок, которые надо создать и актуализировать.
    Вариант 2) Специализированные сервисы. Упомянутый выше BrowserStack и прочее.
    Аналогичные сервисы есть и для мобильных и MacOS устройств отдельно.
    Плюсы:
    - Простота - купил, открыл, проверил.
    Минусы:
    - Низкое соответствие. Часто вместо реальных старых версий используются "эмуляторы" старых версий, которые выдают ложные результаты.
    - Далеко не везде можно прописать хосты и прочие радости для доступа к "внутренним" стендам.

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

    Вариант 3) Собственный "зоопарк" устройств.
    Особенно актуально для мобильных устройств. В большинстве случаев проще завести свой парк устройств, к которым настроить доступ "из вне". Для этого, тоже, кстати, есть готовые решения.
    Плюсы:
    - Реальное железо = реальная работа этого железа, а не псевдосрабатывания эмуляторов.
    - Кастомизируемость - только то, что нужно, и настроенное так, как надо.
    Минусы:
    - Дорого.
    - Необходимо постоянно пополнять "коллекцию" устройств.

    Ну, или отдать на откуп индийским аутсорсерам.
    Ответ написан
    Комментировать
  • QA engineer, с чего начать?

    @azShoo
    Для начала давайте разберемся, что же такое QA? Понятие это довольно абстрактное, и в СНГ применяется зачастую в ином понимании, нежели в краях более отдаленных.
    QA - это обеспечение качества продукта, причем, в идеальном случае, на всех этапах разработки.
    Самое первое, с чем придется в большинстве случаев столкнуться QA Engineer`у это функциональное тестирование.
    Написание тестов по задачам и прохождение этих тестов., прохождение уже написанных, апдейт, заведение багов и прочее. В этом случае QA Engineer = Тестировщик. Для этого самое важное - хорошо работающая голова, умение читать задачи и задавать правильные вопросы: "А что если так? А если этак?".
    В зависимости от продукта требуются дополнительные скиллы -> в вебе своя специфика, в мобильных своя, в по - своя, в железе - своя. Ну и соответственно базовое понимание кода, работа с базой данных и прочее - тоже периодически понадобятся.

    Но, процесс обеспечения качества не заканчивается на функциональном тестировании, поэтому понятие QA шире, чем тестирование. Здесь мы уходим от банальных тестов по функциональным требованиям и переходим к анализу требований и документации (поиск узких мест в требованиях и реализации), юзабилити тестирование (поиск "косяков" в интерфейсах и функциональности), тестирование производительности и прочее.

    Отдельная часть - автоматизация тестирования. Здесь от компании к компании все по разному, и роль автотестера варьируется от "тестера который научился использовать тестовый фреймворк" до "полноценного разработчика, который автоматизирует то, что ему говорят тестировщики".
    Требования отличаются соответственно.

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

    Что в итоге?
    Мне кажется, что QA-инженер это тестировщик, который вышел в своей работе за рамки тестирования. Который работает над качеством продукта не только в плане "Требования выполнены - к продакшену готовы", а старается делать продукт лучше во всех отношениях, в первую очередь - для бизнеса, во вторую - для пользователя, в третью - для тех, кто этот продукт делает.
    Следовательно, я считаю что путь QA лучше всего начинать именно с тестирования (кстати говоря, в России понятия QA и тестирования почти всегда тождественны в умах не-тестировщиков).
    Что важно для тестировщика?
    Способность и желание разбираться в том, как это [продукт\фича\пр] работает сейчас, и как это должно работать.
    Так же стоит приготовиться много говорить "нет, так не пойдет" менеджерам и разработчикам.
    Ну и вообще, смириться с тем, что другие стороны процесса очень часто готовы действовать в ущерб качеству.

    Что хотят, что бы знал джуниор?
    1) представление о процессе разработки. Этапы, когда пора тестировать и все такое.
    2) представление о написании тестов: что представляет из себя тест-план, тест-сьют, тест-кейс, тест-степ, Definition of Done, Ожидаемый результат и тд.
    3) представление о том, что такое дефект: Severity и Priority дефектов, какие бывают; из чего состоит описание дефекта, и все такое.
    4) хотя бы общее представление о тест-дизайне: что такое, зачем нужен, какие есть практики.
    5) Базовые навыки SQL - селект, упдейт, работа с несколькими таблицами и все такое.
    А ещё хотят, что бы человек умел думать. Будь готов к задачкам на логику (которые туфта и ненужны) и к задачкам типа "Есть окно с кнопкой, посылает запрос: напиши тесткейсы" или "Протестируй карандаш".

    Как-то так.
    К сожалению, больше рассказал именно о тестировании, чем о QA в целом. :)
    Ответ написан
    2 комментария