Обновить
116.93

Тестирование веб-сервисов *

Семь раз оттесть, один раз деплой

Сначала показывать
Порог рейтинга
Уровень сложности

PODAM Java объекты для Unit-тестирования

Время на прочтение8 мин
Количество просмотров15K


Добрый день!
При unit-тестировании часто сталкиваешься с необходимостью заполнять сложные объекты, чтобы возвращать их со стороны заглушек или наоборот — давать их на вход методам и тестам. Некоторые разработчики игнорируют get-set конвенции Java, а даже если геттеры и сеттеры есть, то заполнение объекта достаточно сложной структуры порой требует больше кода, чем сам тест. Это анти-паттерн Excessive Setup, и хочется научиться с ним бороться. В этой статье я расскажу, как с помощью библиотеки PODAM заполнять объекты быстро и красиво, продолжая идеи разумной рандомизации как входных данных для тестов, так и данных, возвращаемых заглушками — покажу на примерах, пороюсь в исходниках.
Итак, чтобы долго не думать, но и не заниматься миром животных, сгенерим страну.
Читать дальше →

Сравнение онлайн-консультантов для сайта: муки выбора

Время на прочтение5 мин
Количество просмотров30K
Сразу предупрежу, что статья не носит рекламный характер. Написана она исключительно с целью поделиться своим опытом в подборе качественного инструмента для онлайн-консультирования, так как сами, пока искали, не могли нигде найти подходящий материал с подробным анализом.

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


Читать дальше →

Процесс разработки и тестирования демонов

Время на прочтение7 мин
Количество просмотров19K
Сегодня мы поговорим о «низкоуровневых» кирпичиках нашего проекта — о демонах.
Определение из Википедии:
«де́мон — компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем».

Хоть это и не очевидно, но практически весь функционал сайта во многом зависит от работы этих программ. Игра в “Знакомства”, поиск новых лиц, центр внимания, обмен сообщениями, статусы, геолокация и многие другие вещи завязаны на тот или иной демон. Так что можно сказать, что они помогают людям по всему миру общаться и находить новые знакомства. Одновременно на сайте могут работать и взаимодействовать между собой несколько десятков демонов. Их корректное поведение является очень важной задачей, поэтому мы решили покрывать основной функционал демонов автотестами.

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

В качестве VCS у нас используется Git, для непрерывной интеграции — TeamCity, а в роли баг-трекера выступает JIRA. Для тестирования мы используем PHPUnit. Разработка демонов, как и остального сайта, ведется по принципу «фича ― ветка». Для того чтобы понять, что это, мы рассмотрим проекции нашего flow на Git и на JIRA.
Читать дальше →

Каких ответов я жду на собеседовании по тестированию

Время на прочтение15 мин
Количество просмотров924K
Я провожу собеседования на тестировщиков. У меня иногда болит голова.

Долго собирался написать статью… И вот, наконец, выполнил свое намерение. Вопросы, поднимаемые в статье, обсуждались уже не раз и не два, но усердные поиски компиляции ответов на эти вопросы так и не увенчались успехом. Но, как подсказывает мой опыт, такая компиляция очень нужна. Прежде всего она требуется юниорам, ибо в сети по запросу «тестирование» на них (соискателей) обрушивается огромный объем информационного мусора, который плохо структурирован и часто противоречит сам себе.
Читать дальше →

Как стать автоматизатором тестирования?

Время на прочтение5 мин
Количество просмотров67K


Добрый день!

Вчера, отвечая, кажется, в шестой раз на этот вопрос, твёрдо решил, что пришло время для написания статьи. Сразу отмечу – это исключительно моё видение, с которым, уверен, добрая половина мира автоматизаторов не согласится, – мой рецепт несколько сложнее, чем «почитать про тулзу», «поставить тулзу», «использовать тулзу», «написать в резюме, что умеешь пользоваться тулзой».

Эта статья полезна не только для мануальных тестировщиков, желающих автоматизировать свои рутинные проверки, но и для бизнеса и HR-ов, которые ввиду отсутствия каких-либо общепринятых критериев, как правило, понятия не имеют кто есть QA Automation Engineer и в большинстве случаев принимают решение на основании «хороший человек».

Бывает ещё хуже – руководитель/PM/etc… приходят к своим мануальным тестировщикам и говорят: «слушай, а может мы автоматизируем наше тестирование – это сэкономит нам кучу времени и денег. Скажи, какие книги тебе нужны и какие курсы».

0. Начнём с ошибок, которые не надо допускать:
  • Дайте мне книгу умную, которая всё за меня сделает
  • Дайте мне курсы платные, которые всему меня научат
  • Дайте мне форумы специализированные, которые ответят мне на все интересующие вопросы
  • Дайте мне сертификацию полезную, с которой меня везде примут

Это всё хорошо, но лишь в дополнение к рецепту, который описан ниже. Ни в коем случае нельзя с этого начинать.
Читать дальше →

Runscope: удобный тул для тестирования API

Время на прочтение3 мин
Количество просмотров33K

Back-end не всегда функционирует так идеально, как указано в API-спецификации. Например, кто-нибудь забывает внести обязательный параметр в JSON-строку выдачи или вместо «0» решает вписать null. Если такие данные проникают в мобильное приложение, последствия могут быть самые неприятные.
Сегодня я расскажу об инструменте, который используется для выявления таких случаев. Это Runscope.
Читать дальше →

Nginx и https. Получаем класс А+

Время на прочтение4 мин
Количество просмотров165K
image

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →

Хабраэффект для 130 000 камер Москвы

Время на прочтение2 мин
Количество просмотров135K
Привет, Хабр! Спасибо за неожиданно теплый приём. Высокий рейтинг нашей первой публикации и бурное обсуждение в комментариях окончательно убедили нас в том, что вы довольно отзывчивая аудитория и из этой затеи обязательно выйдет что-то полезное. Сегодня расскажем подробнее о том, как вы можете помочь городу стать лучше.


Читать дальше →

Все по графику: как мониторинг активности пользователей на главной Mail.Ru помогает жить и решать проблемы

Время на прочтение7 мин
Количество просмотров12K
График активности пользователей на главной странице Mail.Ru — это своего рода термометр, причем сверхчувствительный. Порой аудиторные показатели отражают проблемы, которые возникли у другого большого интернет-сервиса, или же показывают реакцию на какие-либо важные события в общественной жизни.

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

За тем, как работает главная страница, мы следим по техническим графикам:
  1. График времени загрузки страницы по блокам. Мы смотрим не только на общее время загрузки главной страницы, но и на показатели по отдельным ключевым блокам — Почта, Новости и т.п.
  2. График «рефрешей» (загрузки страницы из кеша). Он позволяет отличить увеличение аудитории по естественным причинам от перезагрузок страницы одними и теми же пользователями. Второе часто говорит о том, что пользователи столкнулись с какой-то технической проблемой.

Но зачастую мы видим, что поведение пользователей резко меняется, при этом на технических графиках отклонений нет. Чтобы иметь полную картину происходящего на главной странице, мы дополнили их графиками активности пользователей. Они показывают переходы с главной страницы на другие проекты. Мы отдельно мониторим и «большую» главную, и мобильные (у нас три мобильных версии — для разных моделей телефонов). В качестве бонуса мы получили своего рода термометр интереса пользователей к разным темам и событиям.
Читать дальше →

Как настроить бесплатные оповещения о проблемах с Вашим сайтом

Время на прочтение2 мин
Количество просмотров13K
ХостТрекер предоставляет возможность получать оповещения о недоступности Вашего сайта через сервисы мгновенных сообщений как альтернативу СМС. Во-первых, это бесплатно, во-вторых, повышается надежность. Об особенностях использования — под катом.



Читать дальше →

Блог департамента информационных технологий города Москвы на «Хабрахабре»

Время на прочтение1 мин
Количество просмотров48K
Привет, Хабр! Вот, наконец, и мы как часть большого и не самого поворотливого механизма дошли до того, чтобы завести тут свой блог.

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


Читать дальше →

Patch Management. Тестирование ежемесячных обновлений ПО

Время на прочтение9 мин
Количество просмотров32K
Материал данной статьи основан на опыте установки более 5 000 обновлений для продуктов Microsoft и Adobe.

Patch Management – это процесс управления обновлениями программного обеспечения (ПО), без которого вряд ли обходится хоть одна современная компания, думающая о безопасности своей ИТ-инфраструктуры.
Обновления или патчи — это дополнительное программное средство, которое применяется для исправления обнаруженных дефектов в программном обеспечении или изменения его функционала.
Существуют 2 типа обновлений:
  1. для операционных систем и серверного ПО, которые применяются для поддержки надлежащего уровня безопасности и устранения дыр в защите;
  2. для прикладного ПО (например, Microsoft Office, Adobe Acrobat или клиентские части бизнес-приложений), которые необходимы для решения возникших проблем с часто используемыми или важными библиотеками и другими частями исходного кода.
Читать дальше →

Модификация HTTP-трафика с помощью FiddlerScript и .NET-плагинов к Fiddler

Время на прочтение5 мин
Количество просмотров18K
На Хабре уже неоднократно рассказывали о таком мощном и удобном средстве мониторинга HTTP-трафика, как Fiddler. Все имеющиеся статьи, однако, рассказывают о встроенных фичах программы, не акцентируя внимания на возможностях её расширения, которых существует целых две: с помощью встроенного языка FiddlerScript и с помощью написания .NET-плагинов. В этой статье мы рассмотрим и то, и другое, а чтобы было интереснее — используем их для решения вполне практической задачи, о которой я писал в своей прошлой статье (подмене битых ссылок на картинки в статьях на Хабре на рабочие).

Итак, давайте вспомним для начала, чем закончилась прошлая статья: мы получили список нерабочих ссылок на картинки и соответствующих им рабочих ссылок на веб-архиве. Теперь нужно отдать их браузеру и для этого мы напишем расширения к Fiddler (одно на FiddlerScript и одно на .NET). Обратите внимание на удобства полученного решения: да, нам нужно будет запустить Fiddler, но зато битые ссылки будут подменяться на рабочие независимо от домена статьи (хабр, гиктаймс или мегамозг), независимо от используемого браузера (лишь бы имел поддержку прокси) и даже мобильные устройства можно будет настроить на использование установленного на компьютере Fiddler в качестве прокси.
Читать дальше →

Ближайшие события

Пуленепробиваемые тесты JavaScript

Время на прочтение5 мин
Количество просмотров15K
Писать тесты скорости JS не так легко, как кажется. Даже не касаясь вопросов кроссбраузерной совместимости, можно попасть во множество ловушек.

Именно поэтому я и сделал jsPerf. Простой веб-интерфейс для того, чтобы каждый мог создавать и делиться тестами, и проверять быстродействие различных фрагментов кода. Ни о чём не нужно беспокоиться – просто вводите код, быстродействие которого необходимо измерить, и jsPerf создаст для вас новую задачу по тестированию, которую вы затем сможете запустить на разных устройствах и в разных браузерах.
Читать дальше →

Пишем свой нагрузочный тестер на Node.js

Время на прочтение4 мин
Количество просмотров19K
В посте речь пойдет о написании утилиты для нагрузочного тестирования HTTP сервисов на Node.js, а также описание самого инструмента и области его использования.
Читать дальше →

Приглашаем потестировать обновленный дизайн Альфа-Мобайла

Время на прочтение1 мин
Количество просмотров9.3K
Всем привет.

Мы в очередной раз обновляем Альфа-Мобайл. В этот раз мы решили встретиться с несколькими пользователями до фактического обновления, показать вам макеты и обсудить (нравится/не нравится, что круто сейчас, что хотелось бы увидеть и так далее).

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

Зовем в наш офис Альфа-Лаборатории.

Желающие принять участие — пожалуйста, регистрируйтесь на специальной странице.

Спасибо!

Ускоряем написание Selenium-автотестов на Ruby

Время на прочтение3 мин
Количество просмотров16K
Одним из инструментов, позволяющих автоматизировать взаимодействие с браузером, является Selenium Webdriver. В действительности автоматизированные тесты веб-страниц с использованием Selenium Webdriver выглядят довольно громоздко. Вот «небольшой» пример, который параллельно в двух браузерах открывает страницу поисковика Google, заполняет поисковую строку и отправляет форму:


Читать дальше →

Mail.Ru объявляет о начале закрытого бета-тестирования двухфакторной аутентификации

Время на прочтение1 мин
Количество просмотров17K

Хабр, привет! Мы рады поделиться с вами отличными новостями: мы давно работаем над реализацией двухфакторной аутентификации в сервисах Mail.Ru и сейчас, накануне Нового года, внезапно готовы начать закрытое бета-тестирование. Приглашаем к участию всех желающих.

В нашей реализации в качестве второго фактора выступает код, отправленный по SMS на номер телефона, подключенный к аккаунту.

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

Любую обратную связь по работе двухфакторной аутентификации можно присылать на адрес o.parinov@corp.mail.ru. А если найдете секьюрити-баги, о них можно заявить через нашу bug bounty-программу, в рамках которой мы оплачиваем исследователям найденные уязвимости.

Чтобы принять участие в тестировании, оставьте заявку по адресу https://help.mail.ru/surveys/2auth. Первым откликнувшимся бета-тестерам мы готовы предоставить доступ еще до Нового года, чтобы вы успели потестировать функционал во время праздников.

Одиннадцатиклассница, или тестируем баги вёрстки

Время на прочтение6 мин
Количество просмотров87K


В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
Получить плюс пять к качеству

Как я искал идею для стартапа в Кремниевой Долине

Время на прочтение3 мин
Количество просмотров12K


Приветствую, Хабражители! В этом посте я хочу рассказать о том, как ездил искать идею в Кремниевую долину, в результате чего появился кэшбэк-сервис CloverR.
Читать дальше →