Инструменты для эффективного кроссбраузерного тестирования
А теперь давайте рассмотрим основные средства для кроссбраузерного тестирования. Итак, вот они:
- Ghostlab. Этот продукт обеспечивает синхронизацию тестирования прокрутки, кликов мышью, обновления на всех возможных устройствах и таким образом вы максимально быстро тестируете весь объем пользовательского опыта, а не только то, как выглядит страница.
- BrowserStack. Приложение обеспечит тестирование браузера в режиме реального времени, давая моментальный доступ ко всем мобильным и десктопным версиям браузера (сейчас есть свыше трех сотен комбинаций), и позволяет опробовать серверы (в домашней сети и за ее пределами), при этом обеспечивается безопасная установка. Можно пользоваться в облаке, а значит не требуется никакой установки, а встроенные инструменты разработки (включая Firebug Lite, Microsoft Script Debugger и многие другие) позволяют провести быстрое кроссбраузерное тестирование и отладку.
- Sauce Labs. Sauce Labs позволяет тестировать в облаке более 260 различных браузеров и устройств, обеспечивая всесторонние тесты, включая Selenium, JavaScript, Mobile и Manual. Там нет установки VM или требований обслуживания, при выполнении тестов вы можете исследовать проблему вручную. Sauce Labs отображает выполненные тесты в хронологическом порядке с информацией о тестировании платформы, времени выполнения, билде и его прохождении.
- Browsershots. Этот сервис помогает делать скриншоты вашего сайта в разных ОС и браузерах (доступны более 60 различных вариантов). Такой подход позволяет удобно, но при этом не очень быстро завершить проверку вашего продукта одновременно на большом количестве браузеров. После ввода адреса сайта (в строке проверки), он появляется в очереди на тестирование. После завершения тестирования поочередно будут появляться скриншоты на странице итогов. Этот процесс, в зависимости от того, что вы выбрали, может занять до 2 часов (но в большинстве случаев намного быстрее).
Какие проблемы решает кроссбраузерное тестирование (примеры):
- В браузере ME при выходе из полноэкранного режима не меняется верстка сайта.
- Скролл-бар списка НЕ прокручивается в IE.
- Нет сообщения с ошибкой, когда введено меньшее количество обязательных символов в поле «Пароль».
- Картинки или элементы страницы обрезаются в конкретном браузере.
- Различное отображение шрифтов в браузерах.
- Названия чек-боксов отображаются не отцентрованными по вертикали.
Наличие ошибок в разных версиях браузера (о которых вы даже не знаете) может сильно испортить пользовательский опыт и как результат, навредить репутации вашего продукта, поэтому ни в коем случае не стоит экономить на этой проверке, нужно привлечь в этот процесс высококлассных тестировщиков, которые хорошо знакомы с кроссбраузерным тестированием.
Стратегия тестирования: что это и чем она отличается от тест-плана
О тест-плане слышали все, многие даже писали его. Документ отвечает на основные вопросы: что, кто, когда и как тестирует? Он хорош и достаточно практичен, но только для проектов, имеющих конкретные объемы разработки, поскольку количество реализуемого функционала остается более или менее понятным до окончания построения финальной системы.
Но реальность иная. Большинство из нас работает в компаниях, поддерживающих и развивающих долгоиграющие проекты, и никто не в состоянии досконально описать все процессы. Даже если приблизиться к необходимой документальной базе, тут же возникнет сложность ее актуализации и поддержки так, чтобы она оставалась полезной для команды.
Тестовая стратегия как раз и описывает план подхода к тестированию в цикле разработки ПО. (Медленно и вдумчиво перечитайте предыдущее предложение). Разработка по гибкой методологии Scrum циклична. На основе этого принципа и будет строиться наша стратегия. Если провести аналогии с реальной жизнью, то тест-план — это подробная карта маршрута через территорию, а тестовая стратегия — компас, указывающий направление.
С терминами разобрались. Осталось понять, в чем беда скрама.
Цели и этапы тестирования ПО
Цели тестирования:
- Повысить вероятность того, что приложение, предназначенное для тестирования, будет работать правильно при любых обстоятельствах.
- Повысить вероятность того, что приложение, предназначенное для тестирования, будет соответствовать всем описанным требованиям.
- Предоставление актуальной информации о состоянии продукта на данный момент.
Этапы тестирования:
- Анализ
- Разработка стратегии тестирования и планирование процедур контроля качества
- Работа с требованиями
- Создание тестовой документации
- Тестирование прототипа
- Основное тестирование
- Стабилизация
- Эксплуатация
Как организовано кроссбраузерное тестирование?
Кроссбраузерное тестирование следует проводить уже после завершения других видов тестирования. Оно начинается с выбора конкретных систем. Как правило, заказчик сам определяет, с какими именно системами будет работать этот сайт (не нужно стремится создать продукт «все для всех»).При этом разработчики и тестировщики могут подсказать клиенту, какой браузер стоит сделать доминирующим и на него ориентировать процесс создания продукта. Чтобы оценить это, вы изучаете целевую аудиторию. Вот примерная статистика по количеству пользователей (по состоянию на 2021 год): (Источник данных)
В подавляющем большинстве стран, самый популярный – Google Chrome, поэтому именно его принимают за главный браузер для тестирования. Когда найденные в ходе тестирования баги будут исправлены, при желании можно расширить список тестируемых браузеров (и их версий), чтобы расширить охват целевой аудитории.Если нет возможности или средств для того, чтобы протестировать все комбинации браузеров, ОС и девайсов на физическом оборудовании, можно воспользоваться эмуляторами (есть специальные инструменты/софт для этих целей) или использовать виртуальные машины.
При кроссбраузерном анализе ПО в первую очередь проверяют характеристики верстки – шрифты, расположение отдельных элементов, функциональность кнопок, то есть то, что заметно невооруженным взглядом. После задействуется анализ JavaScript-сценария (в разных версиях браузеров результат может выглядеть совсем иначе).
Результат применения тестовой стратегии
Что решает такой подход?
- Теряется минимум знаний о работе системы.
- Формализуются процессы и подходы. Снижается шанс любого сотрудника допустить ошибку.
- Понижается порог входа для нового сотрудника.
- Уменьшается bus-фактор.
Хочу привести графики, на которых показан период в один год. Все это время мы следовали описанной стратегии. Графики, быть может, не суперпрорывные и выглядят не слишком впечатляюще, но каждая цифра в них реальная.
Каждый 13-й баг находит пользователь (показатель >10 — хороший). Количество оформленных багов показывает тенденцию к уменьшению, а количество проблем пользователей стабильно. На основе этого можно предположить, что кастомеры находят проблемы спустя длительное время после релиза фичи. Уменьшение количества найденных багов говорит о том, что больше проблем выявляется на этапе анализа требований и более плотного взаимодействия разработки с тестированием. Ну, или это признак ухудшения работы команды тестирования.
Задачи, выполненные инженерами тестирования и назначенные на отдел
Тестировщики на одну задачу для себя дополнительно ставят еще две. Наблюдается тенденция к увеличению количества задач, выполняемых непосредственно инженерами. На основе этого предполагаю, что процесс тестирования эволюционирует, поскольку механизмы и решения создаются «под проект».
Все проблемы пользователей и баги, пропущенные в области ответственности команды
Каждый восьмой кастомер-баг относится к нашей команде. Общее число кастомер-проблем демонстрирует тенденцию к уменьшению, а проблемы, решение которых поручено команде, имеют постоянную характеристику. Это подтверждает, что кастомеры находят баги спустя длительный промежуток времени (ориентировочно полгода-год).
Разработчики тестов
Разработка и внедрение методик оценки персонала требует много ресурсов, как временных, так человеческих. Более того, необходим доступ к базе статистических данных в различных сферах бизнеса.
Онлайн пример Числового теста:
Услуги по разработке соответствующих процедур оценки и управления персоналом предлагают международные и местные кадровые консалтинговые агентства. Лидерами отрасли кадрового консалтинга считаются:
- SHL;
- Talent q;
- Ontarget;
- HT Line;
- Saville consulting;
- Exect business training;
- ЭКОПСИ консалтинг.
Упражнения некоторых разработчиков используются для отбора на престижные стажировки и правительственные конкурсы. В пример можно привести компанию «Shl» или «Экопси консалдинг», числовой и вербальный тест которой используется в конкурсе «Лидеры России». Экзамены первых трех разработчиков из списка используются при наборе на вакансии в Газпромнефть, НЛМК, Роснефть, «Пятерочка» и другие сферы частного и государственного бизнеса.
Каждый разработчик использует собственную методику тестирования и оценок. Хотя тесты от разных разработчиков составлены по единому принципу, подготовка должна вестись по тренировочным заданиям, которые составлены с учетом специфики конкретного разработчика.
Ручные или автоматизированные тесты: что лучше?
Разработчики могут найти десятки методик и инструментов для тестирований. Выбор подхода зависит от продукта и целей. Под каждый вид можно найти готовый сервис для проверки, однако не всегда его функций достаточно для полноценного анализа.
Все инструменты можно объединить в две группы: ручные и автоматизированные. Логика ручного теста — имитация действий человека, чтобы узнать, что мешает совершать целевые действия. Это может делать эксперт, задача которого — силой эмпатии поставить себя на место пользователя, найти недостатки и проанализировать их, применяя свои знания. Вторая опция — привлечение респондентов, которые описывают свой опыт. Автоматические инструменты разрабатывают инженеры. Скрипт имитирует разные ситуации, чтобы найти уязвимости в коде.
Методы тестирования: QA и QC
Помимо вопросов о том, как проводить тесты, разработчикам сложно определить, когда это нужно делать. Эффективный подход включает два метода:
- QС — Quality Control — итоговый аудит перед сдачей сайта заказчикам или его загрузки на сервер. Он нужен, чтобы выявить дефекты продукта перед тем, как его увидят пользователи.
- QA — Quality Assurance — проверки на этапе разработки. Частота зависит от сложности проекта и количества его функций.
Промежуточный контроль помогает упростить итоговое тестирование. Если дизайнеры проверят юзабилити черно-белого прототипа и отдельных страниц, программисты проведут анализ каждой функции, а верстальщики в процессе будут смотреть на отображение сайта в разных браузерах, то корректировки на последнем этапе потребуют меньше времени.
Проверка кроссбраузерности онлайн
Больше всего мне понравился сервис . Этот сервис проверяет на момент написания этой статьи кроссбраузерность в следующих браузерах – Arora
, Chrome
, Firefox
, Iceape
, Dillo
, Epiphany
, Iceweasel
, Opera
, Midori
, Luakit
, SeaMonkey
, Rekonq
и Safari
. Признаюсь, что о большинстве я даже не слышал, но главное, что здесь есть самые популярные браузеры.
Здесь вы найдете браузеры не только операционной системы Windows, но так же других.
Сам сервис англоязычный. Чтобы проверить кроссбраузерность своего сайта, достаточно ввести свой домен в строку и нажать кнопку «Submite».
Процесс проверки зависит от количества выбранных браузеров, и может достигать нескольки часов. Поэтому рекомендую выбирать только самые основные браузеры последних версий.
После того, как сервис проверит ваш блог на кросбраузерность, на странице появится ссылка, перейдя по которой, вы сможете лицезреть результаты проверки.
Как выяснилось, и у меня есть определенные проблемы с кроссбраузерностью. Хорошо, хоть проблема не с самыми популярными. Но все же нужно что-то делать
В платной версии, сервис предоставляет возможность неограниченное количество проверок в более 100 браузерах. Но для простого вебмастера или блоггера вполне достаточно и бесплатной версии.
Единственным минусом этого сервиса является то, что в нем нельзя проверить динамичную верстку
. Например, если у вас работает выпадающее меню на JavaScript.
Еще одним хорошим сервисом является
Здесь в течении 3 минут можно бесплатно тестировать свой сайт в таких браузерах как – Internet Explorer, Opera, Google Chrome, Safari и Firefox всех версий.
Чтобы проверить кроссбраузерность, как и в предыдущем случае введите доменное имя и нажмите кнопку «Run».
Перед вами появиться рабочий стол со вторым курсором мышки. Как в вебвизоре Яндекса.
На верхней вкладке можно переключаться на следующий браузер или версию по истечении лимита времени.
У этой программки есть русскоязычная версия, и она очень удобна в работе, можно переключаться с одного браузера на другой.
Когда дело доходит до изучения просторов сети, у пользователей интернета есть широкий выбор браузеров. Обязанность дизайнеров и разработчиков сайтов — обеспечить совместимость проекта со всеми видами браузеров. Возможно, в будущем все веб-браузеры будут выводить HTML/CSS код одинаково и в соответствии со стандартами. Тогда кроссбраузерная проверка станет не нужна. Но это пока еще не достижимо, поэтому проверка вашего проекта в современных и старых версиях браузеров просто необходима.Конечно, если у вас много времени и компьютеров с различными вариантами операционных систем и браузеров, сайт можно проверить на них. Но есть и более эффективные способы. В последние годы появилось довольно много веб-сервисов, с помощью которых разработчики и дизайнеры быстро и легко могут сделать кроссбраузерное тестирование.Некоторые из таких сервисов делают скриншоты вашего сайта в различных браузерах, другие работают как виртуальные машины. Рассмотрим некоторые из них.
Browsershots
Данный сервис поддерживает большое количество браузеров — более 164 комбинации браузеров на четырех операционных системах (Windows, Mac, Linux, BSD). Некоторые из них могут даже не понадобиться. Маловероятно, что найдется пользователь, который работает в браузере Dillo или Kazehakase в операционной системе BSD, хотя все равно можете проверить.
По умолчанию Browsershots проводит проверки на последних версиях браузеров, но доступны и старые варианты. Чем больше браузеров будет определено для проверки, тем больше времени уйдет на подготовку результатов. При выборе набора для проверки, нужно учитывать данный факт.
Browsershots предоставляет платные и бесплатные услуги. Однако бесплатный сервис является довольно медленным и есть ограничение на количество скриншотов, которые вы можете запросить в день.
Платной версии составляет $ 29,95 или € 23,95 в месяц, и вы сможете получить от 30 до 50 скриншотов в течение двух-пяти минут.
Есть множество разных способов проверить ваш сайт в разных браузерах и в разных операционных системах. Например, онлайн-сервисы, локальные приложения, установка нескольких браузеров на свой компьютер и т.д. Есть платные и бесплатные сервисы
В данном обзоре мы обратим ваше внимание на наиболее оптимальные бесплатные и платные сервисы проверки вашего сайта в разных браузерах и на разных операционных системах
Как рассчитать сроки, чтобы не сорвать дедлайны
Ещё одно занятие, с которым вы столкнётесь (или уже столкнулись), — оценка ваших и чужих трудозатрат. С этим неизбежно работает каждый лид и не только. Первый и один из главных навыков профессионала в любой сфере — оценка своего труда. И казалось бы, что может быть проще, чем прикинуть человеко-часы по функциональному тестированию?
Есть десять форм. Если на одну форму мы тратим три дня, значит, в итоге потратим тридцать человеко-дней. Спешу огорчить — это так не работает. Рассмотрим на примере. Вы даёте те самые три дня на форму, а разработчик закладывает по два дня на каждую. Тайминг объясняется простотой реализации и тем, что есть наработки с предыдущих форм. Сказано — сделано.
К вам приходят на тест первые три формы. Вы начинаете тестировать и вдруг понимаете, что что-то пошло не так. Формы совершенно не соответствуют спецификации, часть данных с бэкенда не подтягивается. Вы пытаетесь всё сделать по фэншую: прогоняете тест-ран с уже заготовленными тест-кейсами и заводите с десяток багов.
В итоге выясняется, что разработчик не успел посмотреть последние изменения по спецификации и внести их в последнюю сборку. Все три формы по большей части возвращаются на доработку. Вы потратили целый день, а в итоге не протестировали ничего. На деле, конечно, протестировали, но это не отменяет того, что изменения будут большими и вам придётся прогонять тест-ран с нуля.
Проходит ещё пара дней, вам снова отправляют те самые три формы. И тут вам приходит сообщение от аналитика: требования по формам снова поменялись. Вы пожимаете плечами, делаете условный прогон и пишете письмо, что тестирование невозможно из-за изменения спецификации, и фиксируете трудозатраты и риски на всю проектную команду. Вы чувствуете, что всё сделали правильно, и к вам теперь не придраться.
Кадр: фильм «Стажер»
Но вот незадача. Вечером того же дня к вам приходит руководитель проекта и спрашивает, заложили ли вы время на исправление дефектов? Написана ли тестовая документация для пользователей с подготовкой тестовых данных? Заложено ли проведение обязательного регресса на дополнительном стенде? Выпучив глаза, вы понимаете, что первый пункт вы, допустим, закладывали, но о вторых двух слышите впервые.
Как не допустить такой ситуации? Задавать правильные вопросы. Представьте, что вы пришли на новый проект и заказчик хочет, чтобы вы провели тестирование. Ваши вопросы не должны ограничиваться запросами на предоставление доступов к тестовым контурам и банковским системам. Вот темы для беседы:
- общий процесс разработки ПО;
- жизненный цикл релиза и из чего он состоит;
- возможность тестирования на заглушках;
- подготовка тестовых данных пользователя;
- процесс сопровождения пользовательского тестирования;
- необходимость нагрузочного тестирования, автоматизации и регресса.
Это лишь вершина айсберга. Без этих знаний вы не сможете дать вменяемую оценку трудозатрат. Помимо этого, не стоит забывать ещё о двух вещах. Они встречаются практически на каждом проекте. Разработка часто оценивает своё время без учёта накладок. Когда они случаются, несут ответственность именно те, кто стоит с правого края цепочки разработки программного продукта.
И вот до выпуска в прод у вас остаётся две недели, разработчики только сегодня выложили свою часть доработки, глубоко выдохнув. Затем прибегает руководитель проекта, рвёт на себе волосы и что-то кричит про тестирование, а у вас на тестовом контуре ещё конь не валялся.
Можно ли избежать такой ситуации? Разумеется — нет. Вы не Господь Бог, вы не можете отвечать за действия всей проектной команды, за неожиданные хотелки заказчиков и скупой менеджмент с коммуникацией.
Иногда нужно быть оратором и даже психологом
Мы уже поняли, что тестировщик должен быть проактивным, немного параноиком и обладать качествами лидера. Или хотя бы к ним стремиться. Дальше — больше. Для следующего примера придётся обратиться к игровому опыту читателя — в жанре классических RPG. Обычно в подобного рода играх у персонажа можно улучшать различные характеристики. В реальности такой характеристикой будет красноречие.
А зачем инженеру по обеспечению качества красиво говорить? Возможно, десять лет назад такой вопрос был бы логичен. Но не теперь, когда появилось новомодное словосочетание soft skills.
Agile привнёс не только гибкую модель разработки, но и ежедневные совещания и конференции, которые требуют коммуникативных навыков. Если вы услышите где-то шутку, что разработчик днём разговаривает, а ночью работает — знайте, это не шутка.
И если вы думаете, что в подобного рода конференциях сможете только мыкать и укать, периодически отчитываясь о проделанной работе, автор спешит огорчить — сделать этого не получится. Либо получится — но ценой подрыва качества продукта и срока его релиза.
Нужно определиться сразу: любая аудио-/видеоконференция есть не что иное, как поле битвы. Иногда оно может напоминать непринуждённый ежедневный статус, иногда — обсуждение проблемы или фичи, ещё реже — разбор полётов и пути решения проблем. Но суть игры при этом не меняется: вам нужно оставить последнее слово за собой.
Узнали, что разработка сдвигает планы по выкладке доработки на стенд? Обозначаем сроки сдвига начала тестирования и риски. Узнали, что заказчик захотел новую фичу, никому об этом не сообщив? Разработка возмущена. Но вашему возмущению нет предела. Стуча кулаком по столу, требуйте прислать письмо, чтобы зафиксировать новые требования.
Руководитель проекта говорит, что можно тестировать функциональность без фронтенда? Вы тут же парируете, что само API ещё даже не описано.
Вы не должны поддаваться на указания и просьбы смежных подразделений. Ни аналитика, ни разработка, ни руководитель проекта не могут напрямую вмешиваться в процесс тестирования и диктовать условия. Они могут лишь предложить свой вариант. Но принимать его или нет — тестировщик решает сам, опираясь на свои возможности и ресурс.
Только представьте реакцию, если QA начнёт учить разработчика писать код или будет управлять проектом за начальника. Чтобы всё это объяснить, завернуть в красивую обёртку и никого не обидеть, и нужно обладать пресловутыми soft skills.
Рассмотрим ещё одну ситуацию. Вы узнаёте, что необходимо пойти в релиз к определённому сроку. И у вас всё шло по плану до тех пор, пока разработчик не уволился, а на его место не пришёл другой. И вот проблема за проблемой, и вы теряете месяц, который нужен как воздух. И вам тут же хотят предложить альтернативу решения проблемы.
Кадр: фильм «Волк с Уолл-стрит»
Вы выслушиваете её и где-то глубоко в сознании одобряете, но… нет, не соглашаетесь с ней. Скажите сейчас «ок», а завтра получите недовольство от вышестоящих, что сами на это подписались. А не подписаться вы уже не сможете. Парадокс, однако.
Зато вы можете поступить как бывалый торговец и произвести сделку наилучшим для вас образом. В психологии есть такой приём, называется «От большего к меньшему». Апеллируйте к возможным ошибкам на проде, к первоначальному плану, который пошёл под откос, к обозначенному ранее сроку тестирования и опасности выпуска задачи в релиз. Говорите об огромном количестве времени, которое на всё это уйдёт. А затем непринуждённо переходите к путям решения, к рискам и тем самым альтернативам.
Появляется резонный вопрос. В чём отличие от того, что предложил сам руководитель проекта пятью минутами ранее? Как минимум в том, что вы постелили себе немного соломы. И теперь, в случае обнаружения багов на проде (а они будут, это неизбежно — вспоминаем один из главных принципов тестирования), вы произнесёте своё долгожданное «я же говорил». И упрекнуть вас будет не за что. Ведь вы не забудете после обсуждения задокументировать всё это дело письмом.
К тому же люди легче и даже с радостью воспримут ваши предложения после пятиминутного спича, в котором вы нагоните страху и пообещаете вагон и маленькую тележку критов на продуктиве.
Для чего мне проводить проверку кроссбраузерности сайта?
Кроме потери посетителей и трафика, вы можете потерять потенциальных клиентов. Если у вас есть сайт, через который вы продаете товар или услугу, и пользователь не может оформить заказ, потому что ваша форма не работает в его браузере.
Вот что Seque Technologies, компания, разрабатывающая технологические решения для федеральных, коммерческих и некоммерческих организаций, говорит о кроссбраузерном тестировании:
Существует огромное количество скрытых факторов влияющих на то, как отображаются и ведут себя сайты и веб-приложения в различных браузерах. Поэтому всегда нужно производить тест на кроссбраузерность.
Тестирование сайта в различных браузерах должно стать обычной практикой для вас. Проверьте общий дизайн, навигацию, а также заполните и отправьте все имеющиеся формы, иначе вы рискуете потерять посетителей, клиентов и трафик:
Контроль на онлайн этапе
Проходя online тестирование, кандидаты часто пытаются обмануть работодателя. Некоторые надеются подсмотреть решение в интернете, вбивая в поисковик фразу «тесты числовые и вербальные с ответам». Другие – обращаются за помощью к друзьям или родственникам. А бывает, что соискатели нанимают экспертов, которые решают задачи за них.
Работодатели борются со списыванием при помощи:
- Аудио или визуального контроля: веб-камеры, микрофона, контроля открытых вкладок в браузере и запущенных программ.
- Ретеста. На очном собеседовании кандидату предлагают решить случайные задания с онлайн этапа. Если результаты сильно отличаются, предполагают, что тест за этого человека сдавал другой.
Использование React Context
Управление состоянием может быть сложной задачей в любом приложении, а особенно в большом и сложном. Одним из способов упростить управление состоянием является использование React Context API. Context API позволяет вам создать глобальное хранилище данных, к которому может получить доступ любой компонент вашего приложения. Это позволяет легко обмениваться данными между компонентами.
Чтобы использовать контекстный API, вам сначала нужно создать контекстный объект с помощью функции :
Объект UserContext состоит из двух компонентов: и . используется для предоставления значения контекста своим дочерним элементам, а используется для доступа к значению внутри компонента.
Вот пример того, как вы могли бы использовать :
Использование линтера для соблюдения стиля кода
Общий стиль кода важен для любого проекта, и это особенно важно при работе с командой. Линтер может помочь вам обеспечить согласованный стиль кода, обнаруживая и выделяя такие проблемы, как пропущенные точки с запятой, неиспользуемые переменные и другие распространенные ошибки
Чтобы использовать линтер в вашем проекте React, вам сначала нужно установить его с помощью npm:
Затем вы можете создать файл конфигурации для линтера, выполнив следующую команду:
На этом этапе вы пройдете через серию подсказок по настройке линтера для вашего проекта. Как только настройка будет завершена, вы можете запустить этот инструмент, используя следующую команду:
После запуска линтера, он сообщит о любых обнаруженных проблемах. Вы также можете использовать специальные плагины для вашего текстового редактора, чтобы автоматически выделять возникающие проблемы во время работы.
Выводы
Тестовая стратегия помогает в том случае, если вы имеете конкретную цель. В нашем кейсе целью было успешное закрытие спринтов, уменьшение количества багов, с которыми сталкиваются пользователи в продакшене, эффективное накопление и расшаривание знаний среди сотрудников. По каждому из этих пунктов мы достигли хороших результатов. Поэтому считаю, что затраты сил на разработку и внедрение стратегии того стоили.
Хочу дать несколько небольших советов тем, кто решит делать что-то подобное в своей команде.
Будьте последовательными
Каждую активность проверяйте, анализируйте и аргументируйте. Не нужно бездумно копировать сторонние подходы. Вы не знаете и никогда не узнаете всех нюансов, которые привели другие команды к их результатам.
Будьте системными
Системный подход — это отличная страховка в очень переменчивом мире. И когда совсем непонятно, что делать, следование изначальному плану помогает сориентироваться и выработать необходимое решение.
Будьте профессиональными
Все хотят работать с людьми, у которых есть чему поучиться, и очень ценят коллег, четко выполняющих свои обязанности. Зарабатывайте авторитет, и тогда вам будет легче вносить изменения в устоявшиеся процессы в своем окружении.
Заключение. Яндекс.Толока и кроссбраузерность
Сомневаюсь, что открываю Америку, но даже самые популярные поисковые системы – это тоже сайты. Как и другие веб-ресурсы, они нуждаются в том, чтобы их страницы корректно отображались во всех версиях конкурирующих браузеров. Например, компания Яндекс для проверки своих интернет-проектов на кроссбраузерность активно использует ручной метод.
Для этого по их заказу белорусскими разработчиками в 2014 году был создан краудсорсинговый проект «Толока». Принцип его работы очень простой. Любой желающий регистрируется в системе, проходит обучение и получает различные задания, сложность и уровень оплаты которых зависят от рейтинга. В настоящее время в Толоке около 4 млн зарегистрированных пользователей, проживающих по всему миру.
Так, в 2018-2019 годах разработчики компании активно развивали свои ресурсы, вносили в них множество изменений как содержательного, так и функционального характера. Для ручного тестирования кроссбраузерности привлекались сотни тысяч подписчиков Толоки. Проверка проходила «вживую» не только во всех известных браузерах, но и с использованием их различных релизов, в т.ч. устаревших. Пользователи открывали страницы в своих обозревателях на мобильных и стационарных устройствах, выполняли тестирование по техническому заданию. Проверялась адаптивность отображения на разных устройствах, на экранах с различным разрешением и даже размерами окна. Выполнялись скрипты, оценивался визуальный и текстовый контент, переходы, тестировалась мультиязычность. Разработчики Яндекса в режиме онлайн отслеживали результаты эмуляции реального поведенческого трафика. Баги оперативно устранялись на уровне бета-версий.
Кроссбраузерность – важный критерий корректной работы веб-ресурса. Это инструмент поддержания посетительской лояльности, повышения конверсии и поднятия рейтинга в поисковых системах. В то же время не стоит доводить этот показатель до абсолюта. К примеру, если на широком экране десктопного ПК колонки текста отображаются горизонтально, то на небольшом экране смартфона логично будет расположить их последовательно сверху вниз. Главное, чтобы сайт был удобным для пользователя, все важные элементы и функции заметны и доступны.