Ранее я уже публиковал статью о том, как генерировать фиктивные данные при помощи Elizabeth — библиотеки для языка программирования Python. Статья, которую вы читаете является продолжением предыдущей, потому я не буду приводить основ работы с библиотекой. Если вы пропустили статью, поленились прочитать или просто не захотели, то, вероятно, захотите сейчас, ибо эта статья подразумевает, что читатель уже знаком с основами библиотеки. В этой части статьи я буду говорить о том, каким образом организовывать генерацию фиктивных данных в собственных приложениях, расскажу о нескольких, на мой взгляд, полезных особенностях библиотеки.
Рубрика «testing» - 10
Генерация фиктивных данных с Elizabeth: Часть II
2017-01-18 в 15:59, admin, рубрики: db, django, dummy, fake, python, sqlite, testing, данные, тест, фейк, фиктивныеКак мы уже 4 года выживаем в условиях двух релизов в день
2016-12-16 в 7:13, admin, рубрики: code review, continuous delivery, continuous integration, deploy, php, qa, quality assurance, release management, testing, Блог компании Badoo, контроль качества, Программирование, релиз-инжиниринг, релиз-менеджмент, тестирование, Тестирование IT-систем, Тестирование веб-сервисов
Здравствуй! Сегодня я хочу завершить цикл статей об организации тестирования (начавшийся с изучения ошибок и опыта), рассказав о том, как же все-таки Badoo выпускает два качественных серверных релиза каждый день. Кроме пятницы, когда мы релизимся только утром. Не надо релизиться в пятницу вечером.
Я пришел в Badoo чуть более четырех лет назад. Все это время наши процессы и инструменты для тестирования непрестанно развивались и совершенствовались. Для чего? Число разработчиков и тестировщиков увеличилось примерно в два раза — значит, для каждого релиза готовится больше задач. Количество активных и зарегистрированных пользователей тоже удвоилось — а значит, и цена любой нашей ошибки стала выше. Для того чтобы доставлять пользователям максимально качественный продукт, нам нужны всё более и более мощные средства контроля качества, и эта гонка не заканчивается никогда. Цель этой статьи не только продемонстрировать работающий пример, но и показать, что какими бы крутыми ни были ваши процессы контроля качества, наверняка можно сделать их еще лучше. Технические реализации некоторых инструментов вы сможете найти по ссылкам на другие статьи, о некоторых из них нам еще предстоит написать.
В Badoo существует несколько разных QA-флоу, отличие которых обосновано разными средствами разработки и целевыми платформами (но мы используем для них общие системы: JIRA, TeamCity, Git и т.д.), и я вам расскажу о процессе тестирования и деплоя наших серверных задач (а заодно и веб-сайта). Его можно условно разделить на 5 больших этапов (хотя тут, конечно, многие мои коллеги считают по-разному), каждый из которых включает в себя и ручную, и автоматизированную составляющую. Постараюсь рассказать вам по очереди о каждом из них, отдельно выделяя то, что изменялось и развивалось в последние годы.
Читать полностью »
PostgreSQL slave + btrfs и systemd = горячая тестовая база
2016-12-15 в 1:54, admin, рубрики: btrfs, devops, master-slave replication, postgresql, snapshots, systemd, testing, Администрирование баз данных, Восстановление данных, Настройка Linux, никто не читает теги, системное администрирование
При активной разработке ПО нередко нужна тестовая база с актуальными данными из боевой базы. Хорошо, если база маленькая и развернуть копию не долго. Но если в базе десятки гигабайт данных и все нужны для полного тестирования, да ещё и посвежее, то возникают трудности. В этой статье я опишу вариант преодоления подобных неприятностей с помощью snapshot-ов btrfs. А управлять работой получившегося комплекса будет systemd – удобный и функциональный инструмент.
Объединяем Code Coverage от PHPUnit и phpspec
2016-11-26 в 22:25, admin, рубрики: code coverage, codecov, php, phpspec, phpunit, testing, travis-ci, Блог компании SimpleWeekСегодня та или иная библиотека на Github, у которой нет тестов, уже не воспринимается серьезно. Тесты помогают нам смело делать рефакторинг и быть уверенными, что модуль, класс или функция работают так, как это задумывалось. Они позволяют нам тестировать наш код на разных версиях PHP и выявлять ошибки заранее. Это гарант качества и стабильности вашего кода.
Стремиться к стопроцентному покрытию кода нет никакого смысла, однако понимать в среднем какой процент кода покрыт вашими тестами — хорошая метрика при непрерывном интегрировании.
Мы можем настроить оповещения при падении процента покрытия, например, ниже 50, можем добавлять автоматические комментарии от ботов в пул реквестах, показывать тенденцию изменения Code Coverage на графиках с течением времени и т.д.
Но что делать, если вы используете несколько библиотек для тестирования? Как получить общее покрытие кода?
Читать полностью »
Автоматизированное тестирование плагинов Redmine
2016-11-11 в 6:40, admin, рубрики: plugin, redmine, ruby, ruby on rails, testing, Блог компании centos-admin.ru, Тестирование веб-сервисовЗа прошедший год мы разработали четыре плагина для связки Redmine + Telegram (раз, два, три, четыре).
Потихонечку вырабатываются свои Best Practices в отношении них. В этой заметке расскажем о тестировании и интеграции с Travis CI.
Почему решили о тестировании рассказать? Потому что тестирование плагина для Redmine — тот ещё квест.
goader — консольный бенчмарк с уклоном на запись-чтение файлов
2016-11-05 в 9:26, admin, рубрики: benchmark, Go, golang, performance, testing, Тестирование IT-систем, Тестирование веб-сервисовgoader — консольный бенчмарк с простой конфигурацией и поддержкой различных бэкендов для тестирования
Название происходит от go и loader, а также имеет свое значение на английском, "подгонять копьем, палкой"
На данный момент можно тестировать (аргумент -requests-engine):
- http (GET запросы либо GET+PUT)
- disk
- s3 (С авторизацией по ACCESS/SECRET keys, endpoint необходим, но это дает возможность проверять private s3, signature ver4 на данный момент не поддерживается, но планирую)
- null и sleep для тестирования самого бенчмарка
Уклон сделан на запись и считывание файлов, не страничек
Пример использования
goader -rps=300 -wps=150 -min-body-size=1 -max-body-size=128k --max-requests=1000 -requests-engine=disk -url=tmp/NN/RRRRR
Точки появляются в реальном времени в соответствии с каждым запросом, мне в свое время это позволило визуально выявить проблемы, в том случае, что цифры мало что дали бы. В случае ошибок на их месте будет E
Существует немало утилит для нагрузочного тестирования, но лично у меня к ним ряд претензий, что и сподвигло написать свой...Читать полностью »
AVA — Футуристическая JavaScript библиотека для тестирования
2016-10-24 в 15:09, admin, рубрики: ava, javascript, library, tdd, testing, Тестирование веб-сервисовВ этой статье я хочу представить вам новую библиотеку для тестирования AVA. Относительно новую, ей уже больше 2-х лет, и она обзавелась солидным количеством плагинов и конечно же сообществом которое ее развивает. Мы посмотрим на функционал библиотеки. Настроим окружение и напишем пару тестов, чтобы посмотреть на библиотеку в действии.
DellEMC Unity 400F: небольшое тестирование
2016-10-14 в 1:31, admin, рубрики: cache, dell, DellEMC, EMC, Fast Cache, performance, SAN, storage array, testing, unity, Unity 400F, VNX, VNX2, VNXe, VNXe2, производительность, системное администрирование, СХД, тестирование, хранение данных, хранилища данныхВ начале мая 2016 года, еще до окончания объединения с Dell, компания EMC объявила о выходе нового поколения массивов среднего уровня под именем Unity. В сентябре 2016 года к нам привезли демо-массив Unty 400F в конфигурации с 10 SSD дисками на 1.6TB каждый. В чем различие между моделями с индексом F и без оного можете почитать по данной ссылке в блоге Дениса Серова. Так как перед передачей демо дальше заказчику возник временной лаг, то было принято решение погонять массив тем же самым тестом, которым ранее уже нагружались VNXe3200 и VNX5400. Что бы посмотреть хотя бы на «синтетике» так ли хорош Unity по сравнению с предыдущими поколениями массивов EMC, как это расписывает вендор. Тем более что, судя по презентациям вендора, Unity 400 является прямой заменой VNX5400.
А DellEMC утверждает, что новое поколение по крайней мере в 3 раза производительнее, чем VNX2.
Если интересно, что из всего этого вышло, то…
Читать полностью »
Гейзенбаг — новая конференция по тестированию от JUG.ru Group
2016-08-29 в 8:56, admin, рубрики: tdd, testing, testing framework, testing tools, Блог компании JUG.ru Group, нагрузочное тестирование, тестирование, Тестирование IT-систем, Тестирование веб-сервисов, Тестирование игр, Тестирование мобильных приложенийМы проводим много разных конференций для разработчиков: Java, .NET, JavaScript, iOS/Android, – и в каждой из них акцент всегда ставится на технический хардкор и отсутствие воды в докладах. Кроме того, мы уже больше года опрашиваем наших участников, каких конференций не хватает в России. И вот результат: 10 декабря в Москве состоится первая в своем роде глубоко техническая конференция по тестированию Гейзенбаг 2016 Moscow.
Обратите внимание: Гейзенбаг — это именно конференция «по тестированию», а не «для тестировщиков». Мы приглашаем на конференцию:
- тестировщиков,
- программистов, разрабатывающих тесты для своего кода (или думающих об этом),
- специалистов по автоматическому тестированию
- специалистов по нагрузочному тестированию
- тимлидов, которые думают о том, чтобы повысить эффективность тестирования в своих проектах.
Итак, какую техно-жесть мы готовим для вас? Смотрите под катом.
Читать полностью »
CodeRush for Roslyn 16.1.6 — Official Release
2016-08-11 в 12:50, admin, рубрики: .net, api, C#, CodeRush, devexpress, IDE, nunit, roslyn, testing, visual studio 2015, Блог компании DevExpressСегодня выпущен первый релиз CodeRush for Roslyn (далее CRR).
Теперь можно купить лицензию CRR. Есть 2 варианта покупки:
- за 49$ включает бесплатные обновления в течение года, техническую поддержку через форумы.
- за 249$ включает все что доступно в 49$ версии + CodeRush Classic с поддержкой старых версий Visual Studio и полноценную техническую поддержку.
Через год можно либо продлить лицензию, либо продолжить работу без обновлений.
Читать полностью »