Как стать автором
Поиск
Написать публикацию
Обновить
186.77

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

Тестируем все и вся

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

Нагрузочное тестирование Skyforge. Год спустя

Время на прочтение6 мин
Количество просмотров25K
Прошло уже больше года после публикации статей, посвященных нагрузочному тестированию Skyforge — новой MMORPG от студии Allods Team. С тех пор изменилось многое: дизайн Хабра, Ubuntu обновилась до 14.04.1 LTS, вышла Java 8, а главное — изменилась стадия развития проекта. Состоялось первое закрытое тестирование на внешних пользователях, а скоро будет и стресс-тест – приглашение максимально возможного числа «живых пользователей» на сервера в рамках ЗБТ или ОБТ. Но не буду отнимать работу у нашей команды маркетинга, расскажу лучше о том, что у нас нового в нагрузочном тестировании, что мы переосмыслили, и что из этого может быть полезно широкой общественности.


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

Astrobench: тестирование производительности JavaScript кода

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

Astrobench

Речь пойдёт о Astrobench, библиотеке, которая поможет сделать ваш код лучше.

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

Автоматизация приемочного тестирования Selenium + .NET Web Api + AngularJs

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

Я расскажу как мы в компании работаем с приемочными тестами. В статье вас ждет ссылка на репозиторий с кодом и видео с примером работы.
Подробности

Видео докладов с конференции LoveQA. Первая часть

Время на прочтение1 мин
Количество просмотров9.3K
Несколько недель назад, 15 февраля, мы проводили нашу первую конференцию для тестировщиков LoveQA. Спасибо всем тем, кто пришел и кто смотрел online трансляцию. У нас есть видео докладов и мы с удовольствием ими с вами делимся. Сегодня выкладываем первые 4 доклада и в конце недели опубликуем остальные.
Если у вас остались какие-то вопросы, то их можно задавать в комментариях к посту.
Фото с конференции в FB и Вконтакте.

Доклады


«Есть ли жизнь после релиза? Наш опыт тестирования мобильных приложений»
Александр z3us Хозя & Николай Козлов, Badoo.




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

Про Selenium и один «велосипед»

Время на прочтение26 мин
Количество просмотров69K
Всем привет!

Я бы хотел рассказать о проблемах, с которыми я сталкивался в процессе освоения Selenium WebDriver, c их решением и тем, как эти решения, в принципе, можно использовать. Все это представлено в виде прототипа фрэймворка, ссылка на который будет в конце статьи.

В этом посте я хочу поделиться своими идеями реализации шаблона Page Object, о том как можно обрабатывать ошибки, возникающие в процессе выполнения тестов, рассказать немного о логгинге. А так же поделиться сведениями о некоторых инструментах, которые реализованы с использованием Selenium WebDriver, и своими наработками.

План моей статьи следующий:

1. Капитан очевидность, вместо вступления.
2. Немного о себе, надо представиться…
3. Почему Selenium?
4. О Page Object…
5. Не баг, а фича!
6. И снова про логгинг и отчетность.
7. А разве нет аналогов?
8. Обещанные ссылки.
9. В заключение.


Итак, поехали!
Читать дальше →

Selenium 2.0 — WebDriver. Впечатления, проблемы и советы по использованию

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

Введение


Последние три месяца мне пришлось работать с Selenium 2.0 (WebDriver).
В данной статье я опишу свои впечатления, мысли и опыт, который я приобрел.
Так же я опишу основные действия, которые чаще всего вызывают проблемы и покажу наиболее удачные решения, которые я смог реализовать для них. Возможно есть более правильные подходы — буду рад если оставите их в комментариях.
Читать дальше →

Как правильно составлять баг-репорты

Время на прочтение4 мин
Количество просмотров277K
Ответ на топик «Распространенные ошибки при составлении баг-репортов».

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

Если кратко, то хороший баг-репорт позволяет:
1. воспроизвести проблему (это не всегда возможно, но надо стремиться).
2. понять, в чем проблема и какова ее важность.

Как написать хороший баг-репорт?
Для начала надо подготовиться. Если вы обнаружили баг, не стоит моментально бежать в баг-трекер и писать «ничего не работает!». Воспроизведите ошибку. Воспроизвелась? Отлично. Не воспроизвелась? Значит, что-то вы не учли. Вспоминайте, что делали.
Читать дальше →

Экспериментальное определение характеристик кэш-памяти

Время на прочтение8 мин
Количество просмотров16K
За счет чего же мы наблюдаем постоянный рост производительности однопоточных программ? В данный момент мы находимся на той ступени развития микропроцессорных технологий, когда прирост скорости работы однопоточных приложений зависит только от памяти. Количество ядер растет, но частота зафиксировалась в пределах 4 ГГц и не дает прироста производительности.

Скорость и частота работы памяти — это то основное за счет чего мы получаем «свой кусок бесплатного торта» (ссылка). Именно поэтому важно использовать память, настолько эффективно, насколько мы можем это делать, а тем более такую быструю как кэш. Для оптимизации программы под конкретный компьютер, полезно знать характеристики кэш-памяти процессора: количество уровней, размер, длину строки. Особенно это важно в высокопроизводительном коде — ядра систем, математические библиотеки.

Как же определить характеристики кэша автоматический? (естественно cpuinfo распарсить не считается, хотя-бы потому-что в конечном итоге мы бы хотели получить алгоритм, который можно без труда реализовать в других ОС. Удобно, не правда ли? ) Именно этим мы сейчас и займемся.

Немного теории


В данный момент существуют и широко используются три разновидности кэш-памяти: кэш с прямым отображением, ассоциативный кэш и множественно-ассоциативный кэш.
Читать дальше →

Философия бага – описание ошибки

Время на прочтение3 мин
Количество просмотров5.7K
image Имея опыт работы в нескольких командах по тестированию ПО в различных проектах и компаниях, начиная от фриланса и заканчивая аутсорсинговыми и продуктовыми фирмами, я заметил такой факт, что в каждой команде отчет об ошибке пишется по своим традициям и стилям. При этом большинство тимлидов или ведущих QA-инженеров, которые эти традиции придумали, утверждают, что именно их стиль описания бага является наиболее правильным и максимально приближен к фен-шую. Нет, я не хочу сказать, что баг-репорты везде кардинально отличаются, нет, они приближены к стандартному виду с заголовком, шагами для воспроизведения, описанием ошибки и ожидаемым результатом, но от проекта к проекту имеют свой стиль. Например, подробность описания шагов воспроизведения (свое видение на эту тему я опишу в следующем посте), порядок расположения ожидаемого результата и описания ошибки и т.д.

Молодые специалисты, прейдя на первый проект в своей жизни, воспринимают все традиции по ведению тестовой документации и тестированию как эталон, так как у них нет опыта и им не с чем этот процесс сравнить. Взяв за основу какой-либо стиль дизайна отчета об ошибке, при смене места работы на собеседовании могут возникнуть споры при ответе на вопрос: «Расскажите нам про дизайн баг-репорта», т.к. у команды, в которой вы хотите работать стиль описания может отличаться. Здесь важным моментом является не угадать этот самый стиль, а озвучив свой и услышав в его адрес критику, уметь обосновать свою точку зрения.
Читать дальше →

Хроники сообществ тестировщиков

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

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

В этой заметке мы расскажем о том, как появлялись различные сообщества тестировщиков в странах СНГ, что было причиной их возникновения, как они развивались и о текущем состоянии дел.
Читать дальше →

Раннее тестирование или как сократить время деливери

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

Привет! Меня зовут Гульдар Ахунзянова, и я тестировщик в Яндекс Смене. В статье хочу рассказать о теме, которая может показаться банальной: как превратить рабочий хаос в управляемый порядок. Но за этой банальностью скрывается важная мысль: если вы тестировщик, у вас есть реальный инструмент, чтобы сделать жизнь (и свою, и команды) проще, понятнее и предсказуемее. И этот инструмент — процессы.

Читать далее

Путь в микроэлектронику через верификацию: руководство для начинающих

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров11K

Привет, Хабр! Меня зовут Дмитрий Кишко, я руководитель группы функциональной верификации в YADRO. Представьте, что вы строите космический корабль. Он еще не взлетел, но любая ошибка в конструкции уже может стоить миллионы или даже сорвать всю миссию. В разработке микроэлектроники ситуация похожа: перед тем как чип попадет на производство, его работу проверяют сотни раз, но не физически, а в симуляторах. Этот этап называется функциональной верификацией, и без него современная электроника просто «не взлетит».

Под катом расскажу, как работает команда функциональной верификации, с какими задачами сталкиваются инженеры и почему эта область так важна.

Читать далее

Собеседования на Fullstack QA. Личный опыт

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров29K

Привет, Хабр!

В этой статье хочу поделиться своим опытом прохождения собеседований на Fullstack QA (Python + Pytest, но думаю, для других языков статья тоже будет полезна).

Читать далее

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

Путешествие внутрь YADRO. Часть 2: распаковка и тест-драйв TATLIN.BACKUP

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4K

Хабр, привет! На связи Алексей Зотов из К2Тех. Поиск надежных альтернатив западным системам хранения по-прежнему актуален для нас и наших клиентов. Не так давно в инфраструктурную лабораторию К2Тех приехало железо от ведущего российского разработчика и производителя YADRO, которому я решил посвятить небольшой цикл статей. В первой части я рассказывал об универсальной СХД начального уровня TATLIN.FLEX. А сегодня, как и обещал, поделюсь результатами тестов специализированной СХД для резервного копирования с поддержкой глобальной дедупликации — TATLIN.BACKUP. Эта система позиционируется как отечественная альтернатива популярным решениям Dell DataDomain и HPE StoreOnce.

Мы проверили ее производительность, отказоустойчивость и эффективность оптимизации данных. Уделили внимание сравнению с западными аналогами и тестированию новой версии 1.1 с поддержкой T-Boost. Давайте узнаем, насколько эффективна TATLIN.BACKUP в реальных условиях.

Читать далее

На этой планете время идёт быстрее. Здесь мы и будем тестировать

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.1K

Привет, Хабр! Меня зовут Вика. В СберТехе я занимаюсь разработкой продукта Platform V Works:Test Data Management (TDM). Инструмент помогает QA генерировать необходимые синтетические тестовые данные по клику, а не обращаться к смежным командам и тратить на это время. Менеджерам TDM помогает сокращать time‑to‑market продуктов, поэтому лететь на другую планету ради тестов больше не придётся. В этом материале я расскажу, как мы поняли, что нам нужен отдельный инструмент для генерации, какие показатели у нас были в начале пути и к чему пришли сейчас. Поехали!

Читать далее

«Шапочка из фольги не поможет»: что такое handover в базовых станциях и как его тестируют

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.7K

Привет, Хабр! Меня зовут Анастасия Беднова, я тестирую базовые станции в стандартах 4G (LTE) в YADRO. В профессии я почти 20 лет: начинала карьеру в крупной компании-вендоре как тестировщик одного из компонентов сети 3G. Когда два года назад YADRO объявила о разработке собственной базовой станции, я решила, что хочу стать частью этого проекта — в России такого еще никто не делал, задача показалась крайне амбициозной. 

При разработке базовой станции важно обеспечить четкую работу каждой ее функции. В этой статье расскажу об одной из ключевых функциональностей — handover — и о том, как мы ее тестируем. Большинство из нас пользуется ею, даже не замечая этого: handover переключает телефон с одной БС на другую без перерыва в обслуживании.  

Материал поможет на базовом уровне разобраться в устройстве базовых станций и понять, какую роль играет handover в стабильном соединении с ними, где бы ни находился мобильный телефон.

Читать далее

Как мы исследовали энергоэффективность инференса нейросетей на планшете

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

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

Меня зовут Павел Буровский, я инженер-разработчик ПО искусственного интеллекта. Вместе с Яной Булиной, инженером отдела проектирования новых поколений технологического стека департамента ИИ в YADRO, мы измеряли энергоэффективность выполнения некоторых AI-функций планшета KVADRA. В статье расскажем, как организовали необходимые эксперименты, и покажем много графиков с результатами запусков на CPU, GPU и NPU.

Читать далее

Контрактные тесты с Pact: гарантия стабильности микросервисов

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

Привет! Меня зовут Юрий, я старший разработчик в Купере в команде Ruby Platform, занимающейся разработкой внутренних библиотек, инструментов мониторинга и поддержки микросервисов.

У нас в Купере более 200 микросервисов на разных стеках, а также монолиты. С точки зрения инфраструктуры интеграционное тестирование такого количества компонентов - довольно затратная задача, но при этом хочется обеспечить стабильность системы, не проводя ручные интеграционные регресс-тесты. В таких условиях оптимальным решением являются контрактные тесты.

Из данной статьи вы узнаете:

- общий принцип работы контрактных тестов;

- о проблемах, с которыми мы столкнулись при внедрении контрактного тестирования и как их решали;

- как мы разработали свое решение для контрактного тестирования Ruby-приложений;

- о настройке CI/CD для автоматизации контрактных тестов.

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

Читать далее

Провести интеграционное тестирование микросервисов и выжить (несмотря на legacy)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.3K

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

В моем опыте был случай, когда интеграция представляла собой связку около 15 систем, каждая из которых имела свою базу данных. Все сервисы разворачивались в k8s вручную, тестовые данные были неконсистентны, интеграции между сервисами приходилось настраивать вручную самостоятельно. Ни один сервис нельзя было замокать: каждый элемент влиял на тестируемую бизнес-логику. Я просто познавала дзен, разбираясь во внутреннем устройстве систем и следуя заранее составленному тест-плану. 

Меня зовут Катя Назмеева, сейчас я тестирую бэк в Lamoda Tech. В статье я предложу стратегии для успешного проведения интеграционного тестирования микросервисов и расскажу про инструменты, которые могут облегчить этот процесс. Обсудим, как организовать все таким образом, чтобы интеграционное тестирование не создавало задержек в новых релизах — и не заставляло QA страдать.

Читать далее

ELK: использовать нельзя изобрести

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.9K

Прекрасный момент: система написана, часть тестов автоматизирована, отчеты сгенерированы и даже выявлено несколько дефектов. Выдыхаем и будем думать о дальнейших планах: увеличить тестовое покрытие, добавить стабильности и что-то делать с логированием. Стоп, подождите, вы про логи? Заряжаем ELK, агенты сбора, выделяем ресурсы. Как нет ресурсов? Так, может быть, rsyslog в конце концов? И его нельзя? Звучит как тестовая задача на собеседовании, однако можно ли в такой ситуации обойтись без дополнительных инструментов, да еще и интегрировать работу с логами в систему автоматизации тестирования?

Читать далее