На уроках биологии нам рассказывали о том, что в природе всё взаимосвязано, живые организмы существуют не в изоляции, а взаимодействуют со средой и другими организмами. Выжить они могу только вместе, в виде самоорганизующейся и саморазвивающейся экосистемы, внутри которой происходит постоянный обмен энергией.
В мире информационных технологий тоже возникают похожие сложные структуры, в которых роль организмов выполняют команды разработчиков, пользователи, консультанты, провайдеры услуг.
Крупные экосистемы порождаются, например, производителями операционных систем. Экосистемы поменьше порождаются языками программирования, платформами разработки, технологиями и фреймворками.
Одна из наиболее сильных и стабильных экосистем в мире тестирования сложилась вокруг проекта Selenium.
В своём выступлении расскажу о том, как эта экосистема устроена, и о том, как правильно, наиболее эффективно, потреблять то, что она производит.
Все ли вы знаете о техниках поиска багов? Как найти то, что мелькнуло лишь раз? Как воспроизвести проблему по невнятному описанию пользователя «У меня все сломалось»? Какие предположения строить? Что уточнять?
В рамках курса мы создали специальный «бажный» сайт для тестирования. Внедрили туда 20 разных по типу ошибок. Чтобы их найти, придется применять разные техники и инструменты:
— Собрать логи.
— Проверить консоль JS.
— Найти граничные значения.
— Пройтись по туру, отмененному из-за дождя.
— Проверить разные браузеры.
— Убрать ограничение, установленное на клиенте.
— …
Сервер поднят на linux-е, куда у студентов есть доступ на чтение логов. Это позволяет применить полезные в будущем инструменты:
Putty — снять статистику, последить за логом
WinSCP — забрать лог с сервера
Grep — найти нужный стек в логе (linux)
Cygwin — найти нужный стек в логе (windows)
Еще на курсе будут использоваться:
Postman — послать POST-запрос на сервер
Perlclip — сгенерить большую строку текста
Курс запускался в два этапа — год назад вышла первая версия на 4 занятия. Мы рассказывали только то, что не зависит от “веб — не веб, линукс — не линукс” итд. Как искать, локализовывать и оформлять задачи. Материала было много! По отзывам студентов:
Ого, сколько материалов и заданий! Скучать не придется. А текст задания: "Меня обманули и обесчестили, я разворачиваюсь и ухожу." развеселил))
Но курс должен не только веселить, но и учить. Общаясь с ребятами, мы поняли просто “найти и локализовать” неинтересно. Это ведь все умеют, мы занимаемся этим каждый день.
Интересно другое:
— Как понять, кто именно сломался, если системы интегрированы?
— Как доказать подрядчику, что проблема именно на его стороне?
— Что делать, если ошибку уже пропустил?
Или технические штуки, которые пригодятся в дальнейшем:
— Залезть на сервер linux, найти нужный лог, изучить стек-трейс.
— Перехватить сообщение в консоли разработчика.
— Прочитать ответ, пришедший с сервера.
— Найти баг кеширования на сервере.
Все это теперь есть! Мы расширили курс, теперь там девять уроков вместо четырех. И 27 домашних задания — чтобы как следует закрепить материал.
Приходите к нам, если хотите взглянуть на “обычный” процесс поиска и локализации багов по новому.
Здравствуйте.Я-начинающий тестировщик,недавно меня взяли на мою первую работу в этой сфере.Есть такая ситуация-в компании нет отдела тестирования и нет опытного тестировщика, кое что знает моя проект менеджер в плане тестирования,но гуру из нее так себе. В связи с этим складывается не очень благоприятная для меня ситуация остаться monkey надолго. Документацию по тестированию никто не оформлял, никто этим не занимался...как мне быть? как упорядочить этот процесс и донести до проект-менеджера,что надо делать правильно и сделать грамотным, качественным процесс тестирования?