что такое ран в тестировании
TestRail: как сначала подумать, а потом протестировать
Надеюсь, многие из вас знают, что в тестировании тоже есть документация. И вести ее можно по-олдскульному, в xls-файлах да в папочках или же, как настоящие джедаи, использовать специализированный инструмент.
Вот об одном из таких инструментов под названием TestRail, который мы недавно внедрили у себя в TestLab², я и хочу сегодня рассказать. Инструмент оказался настолько удачным, что молчать сил не было и я решил наконец-то сделать что-то полезное для общества.
Для всех проектов, которые мы тестируем, всегда обязательно пишется тестовая документация, от небольшого чеклиста до развесистого test suite с кросс-ссылками и сотнями кейсов. От идеи хранить документацию в локальных файлах отказались сразу и напрочь, это неудобно и просто непрофессионально. Пробовали «универсальное» решение, wiki (DokuWiki), но она не прижилась. Тут сложно сказать почему, пожалуй, дело привычки, и можно было бы «насадить добро палками», но тут подвернулся TestRail и понеслась.
Установка и системные требования
Два варианта: типичный LAMP или «IIS+SQLServer+FastCGI/PHP». Также потребуется ionCube и cURL, но это не редкость. Работает достаточно быстро, а после включения gzip через mod_deflate стало вообще пулей летать.
Основные возможности
Многопользовательская многопроектная система для ведения тестовой документации и учета результатов выполнения тестов. В продукте предусмотрено место для всех: для тест-менеджеров, которых больше интересует «когда будет» и «сколько багов», для простых тестировщиков, которым удобно отчитываться о пройденных кейсах, для аналитиков, которые смогут вгрызаться в самые дебри и выяснять чего ж оно всё так хреновов чем соль.
Как выглядит рабочий процесс
Сравнение с конкурентами
Личные впечатления
Для нас система оказалась практически идеальной и в плане минимально необходимого набора фич, и в плане удобства ежедневного использования. Мы занимаемся аутсорс-тестированием и ведем достаточно много небольших проектов, что отлично ложится в лицензионную политику вендора: лимит ограничивает только количество активных пользователей системы, поэтому мы деактивируем клиентские эккаунты по окончании проектов.
Из недостатков стоит отметить два: в текущей версии TestRail не поддерживает Unicode что означает, что вести документацию на русском/украинском языке в текущей версии без хаков невозможно. Но соответсвующий feature request уже заявлен, должны скоро добавить. Для нашей команды это непринципиально потому, что пока все проекты, достойные попадания в TestRail, ведутся на английском языке.
Вторая проблема — это отсутсвтие какого-то wysiwyg-редактора во всех text edit-полях. Это радует инженеров, но регулярно смущает заказчиков.
Резюме
Если вы ведете тестовую документацию по большому проекту, или уже теряетесь в тоннах doc- и xls-файлов с кейсами — вам стоит обратить внимание на TestRail. Это продукт, который не нужен всем и каждому, но если вы занимаетесь тестированием профессионально, то запомните это название, возможно, TestRail пригодится вам в следующем проекте.
Если будет интересно — я готов развивать тему различных тулов для тестирования и, к примеру, внимательно изучить ту же Testopia, чтобы рассказать вам о ней. Пишите в комменты.
*Умеющие гуглить могут найти в интернетах купоны на скидки.
Как помочь мануальному тестировщику. Автоматизаторы спешат на помощь
В любой команде, которая уделяет должное время тестированию, приходит тот момент, когда задается вопрос об автоматизации этого процесса. Как это происходит? Есть несколько путей для развития: либо сами тестировщики начинают автоматизировать, либо нанимается специально обученный человек, который, как панацея, должен решить все проблемы. В независимости от того, как это происходит, в конечном итоге мы все сталкиваемся с тем, что нужно как-то показать, что происходит, какова реальность — что же было сделано. Как говорил один мой коллега, «автоматизация ради автоматизации — это подобие культа Карго», так как бывает, что отдел автоматизации существует, а вот результата нет.
Итак, основная задача инженера-автоматизатора в том, чтобы сделать жизнь проще. В этот раз упростить жизнь мы собираемся отделу ручного тестирования (если таковой имеется) или же самим себе, если весь процесс тестирования возложен на наши плечи.
Немножко структурных данных
В нашей компании существует отдел ручного тестирования и автоматизаторы. Как система для организации тестов используется довольно популярный инструмент — TestRail. С моей точки зрения удобный и довольно функциональный.
Автоматизация построена тоже на довольно стандартном наборе Ruby + Cucumber + Watir/Selenium (можно упомянуть паттерн Page Object) + TeamCity.
Что происходит, когда на тестирование дается новый билд, (в нашем случае каждый раз мы имеем дело с регрешшеном)? Тестировщик создает новый тест ран, в который включаются все тест-кейсы с определенного тест-сьюта и — пошло поехало веселье. Уверен, всем знакомо то чувство, когда ты в 4-й раз прогоняешь вручную регрешшн или смоук на автомате, кликая/тапая на все элементы и проставляя статус для очередного теста. В этот момент пред красными глазами наверняка все плывет и картинка в голове повторяет знаменитое:
Именно сейчас приходим на помощь мы. Так уж получилось, что возникла идея. Если у нас есть автоматизация, то почему мы все еще не используем результаты нашей работы, чтобы жить стало проще? Мысль заключается в том, чтобы использовать отчет с TestRail вместо громоздких и непонятных отчетов с Cucumber. Довольно интересная задач — сделать так, чтобы тесты в TestRail сами меняли свой статус, в зависимости от того, как прошел автотест.
С помощью поиска всемогущего гугла была найдена документация по TestRail API для реализации сией благой цели. Мы решили для начала сделать так, чтобы запуская наши автотесты вся информация о текущем состоянии тестов отображалась в TestRail. Собственно, цель была достигнута — по нажатии на кнопку запуска тестов в RubyMine мы автоматически создавали новый тестран и отсылали результаты на сервер. Довольно просто, учитывая существующую информацию на сайте TestRail.
Как оказалось, это было всего лишь начало.
В конечном итоге удалось сделать довольно неплохую функциональность, а именно — мы настроили интеграцию TestRail + TeamCity + Automation Framework.
Теперь же подробности, уважаемые дамы и господа.
TestRail
Первая остановка у нас будет TestRail.
TestRail является программным обеспечением для управления данными полученными в результате тестирования. Данный инструмент помогает отслеживать процессы, управлять программным обеспечением и организовывать команду.
С помощью TestRail можно создавать тест кейсы, управлять тестовыми наборами и координировать весь процесс тестирования программного обеспечения. TestRail предоставляет возможность повысить производительность и получить полный обзор хода процесса тестирования.
Начнем мы с того, что первое, что должен сделать наш юзер/мануал тестировщик — это создать собственно тестран, который в последствии мы и будем использовать для апдейтов.
Требования:
Фича: Запуск автотестов.
Для того, чтобы использовать автоматизации в реальной жизни.
Как пользователь я хочу, чтобы была волшебная кнопка «запустить ран с автотестами».
Сказано — сделано. Благо функционал TestRail позволяет нам интегрировать свой собственный код.
Как результат, мы имеем вот такую вот кнопочку:
Да, да — Start Tests.
Поскольку у нас для одного сьюта тесткейсы есть для веб и мобайл, то на первой стадии мы проверяем по имени тестрана, какой именно фреймворк используется. В зависимости от того, для чего предназначен тестран, мы запускаем билд на TeamCity.
Дабы юзер не кликал слишком часто на кнопочку, у нас организована защита от дурака — после клика на кнопку мы добавляем ключевое «in progress» к имени тестрана, это блокирует волшебную кнопку, пока наши автотесты не закончат свое дело.
Automation Framework
На конечной стадии был создан гем/библиотека, которая при разворачивании дает нам интеграцию с TestRail на любом нашем под-проекте.
Создание гема — совсем другая история, достойная отдельной статьи.
Если вкратце, то наша библиотека test_rail_integration имеет небольшой функционал, который мы используем у себя, но мне кажется, что кому-то тоже может быть полезной.
Для начала нужно его установить:
В after |scenario| hooks. И в env.rb файл:
Вот команды для запуска:
В нашем случае тесты запускались для 6 различных локализаций и все результаты отображались в 1 тестране. Иногда возникала ситуация, когда два апдейта приходили в одно время. Получалось так, что они не видели друг друга и после фейла приходил пасс статус. Такой вариант менял общую картину статуса теста. В общем, эта команда проходит все тесты и проверяет в ней соответствие, что в зеленых тестах нет красных результатов. Если же есть — то меняет статус теста на красный.
Тут все просто, данной командой мы создаем тестран с указанным именем в проекте-сьюте, который мы записали в конфиг файле. Команда возвращает номер созданного тесана:
Нужно написать при первом запуске, так как данная команда генерирует конфигурационный файл, к котором нужно указать необходимую информацию о TestRail:
Это и есть core фунционал c флагами:
Тут и так все понятно, нужно указать номер тест рана:
и
Специфические атрибуты, которые будут использованы при составлении команды для запуска (если, к примеру, вам нужно запускать ваши тесты через специфическую команду, то в конфиг файле нужно записать ее с использованием этих переменных, тогда при запуске мы должны их указать):
Этот флаг тоже специфический и, думаю, никому больше не пригодится:
Здесь можно указать новую команду для текущего запуска:
Так как у нас используется вся интеграция для 6 локализаций, то по номеру тестрана мы ищем имя и парсим его на параметры так, что тестран должен иметь имя, допустим, DT SG staging. Здесь мы и находим необходимую информацию для запуска.
Запуск без поиска и проверки на наличие каких-либо параметров, это наиболее полезная команда для Вас, уважаемый читатель.
Можно определить также номер типа тестов, которые буду запущены.
Полная команда для запуска тестов с существующим тестраном будет выглядеть так:
TeamCity
Тут, собственно говоря, все просто. Просто записываем команду так же, как мы бы ее запускали локально, разве только можно добавить несколько переменных для удобства и скомбинировать порядок запуска команд (в случае, если мы запускаем билд автоматически, сначала нужно указать команду на создание тестрана, потом на запуск тестов с номером, который пришел нам ранее).
Вот и все. Так как это мой первый опыт с написанием статьи, критика приветствуется. Надеюсь, что написал я все это вполне понятно и данное руководство будет кому-либо полезно.
Как работает экспресс-тест на коронавирус
Тестирование на COVID-19 не только помогает получать информацию о распространенности вируса, но также дает представление о том, как вирус распространился и накопил ли он потенциально значимые мутации. Многие методы тестирования основаны на анализе нуклеиновых кислот. Хотя эти подходы бесценны и позволяют определить активную инфекцию, они не дают полной картины. Как мы можем узнать, заразился ли кажущийся здоровым пациент вирусом? Что, если бы у этого человека не было симптомов носительства, и его обследовали после того, как инфекция прошла? Ответы на эти вопросы может помочь получить экспресс-тест на антитела к коронавирусу.
Что такое экспресс-тест на коронавирус и в чем его отличие от ПЦР
В рамках борьбы с патогенами ваша иммунная система вырабатывает антитела к патогену. Даже после того, как вирус был уничтожен, ваше тело продолжает вырабатывать эти антитела как своего рода иммунную «память», которая дает нам записи о прошлой инфекции. Диагностика с помощью экспресс-теста основана на выявлении этих антител. На данный момент используется иммуноферментный анализ (ИФА), который проводится только в условиях лаборатории, и иммунохроматографический анализ (ИХА), представляющий собой тест-полоску или кассету, на которую наносится капля крови.
Молекулярное тестирование, включая тестирование с помощью полимеразной цепной реакции (ПЦР), выявляет генетический материал вируса и, таким образом, может определить, инфицирован ли человек SARS-CoV-2 в настоящее время. Серологический анализ, к которым относятся экспресс-тесты, выявляет антитела к вирусу, измеряя количество антител, вырабатываемых после инфицирования, тем самым выявляя, был ли человек ранее инфицирован SARS-CoV-2. Серологические тесты не следует использовать для диагностики острой инфекции SARS-CoV-2, поскольку антитела вырабатываются через несколько недель после заражения.
Что такое IgA, IgG, IgM
Серологические тесты, к которым относится экспресс-тест, — это тесты на основе крови, которые можно использовать для определения того, подвергались ли люди воздействию определенного патогена, по их иммунному ответу. Напротив, тесты ПЦР, которые в настоящее время используются во всем мире для диагностики случаев COVID-19, могут указывать только на присутствие вирусного материала во время инфекции и не указывают, был ли человек инфицирован и впоследствии выздоровел. Эти тесты могут дать более подробную информацию о распространенности заболевания в популяции путем выявления людей, у которых выработались Ig к вирусу.
Экспресс-тесты используется для выявления следующих антител:
Тестирование на все три Ig улучшило информативность результатов по сравнению с любым тестом на одно антитело. Этот тип теста на COVID-19 подтверждает, были ли вы ранее инфицированы SARS-CoV-2. Это исследование не подтверждает, что вы полностью невосприимчивы к COVID-19, поскольку в настоящее время нет доказательств того, что люди не могут заразиться коронавирусом более одного раза. Кроме того, тест на Ig к COVID-19 не показывает, инфицированы ли вы в настоящее время коронавирусом. Если вы хотите узнать, инфицированы ли вы в настоящее время COVID-19, вам нужно пройти диагностику методом ПЦР.
Как интерпретировать результаты экспресс-теста?
Проведение экспресс-тестирования — возможность получить достоверные результаты о наличии циркулирующих антител в крови. Есть 4 возможных результата диагностики:
Можно ли делать экспресс-тестирование на ковид дома?
Проведение диагностики с использованием иммунохроматографического анализа возможно и в домашних условиях. Для этого не требуются специальные знания, поскольку к каждому диагностическому набору прилагается краткая инструкция, в которой указано всего несколько действий, позволяющих получить быстрый результат. В большинстве комплектов содержится полоска, пипетка, буферный раствор и скарификатор для прокола кожи. Как правило, исследуемому нужно нанести на полоску каплю крови, а после — несколько капель буфера и подождать, пока уровень жидкости достигнет индикаторов для получения ответа.
С чем связана недостоверность результатов
Негативный результат ИХА экспресс-тестов не всегда отражает реальную картину, поскольку их чувствительность значительно ниже, нежели у ИФА.
Отрицательный результат может означать, что вы:
Кому стоит сделать тест на антитела к коронавирусной инфекции
Экспресс-тест на антитела к коронавирусу — простой метод диагностики, который отличается:
Проведение этого вида диагностики рекомендовано людям, у которых более 5 дней назад наблюдались симптомы ОРВИ, и тем, кто был в контакте в зараженными коронавирусом, но в течение 14 дней симптомы инфекционного заболевания так и не проявили себя.
Что делать, если результат теста положительный
Позитивный результат означает, что на момент тестирования в вашем организме циркулируют антитела, которые образовались в ответ на заражение коронавирусом. Для получения подробных данных о состоянии иммунной системы рекомендуется дополнительно пройти ИФА диагностику для количественного определения антител острой фазы воспаления. Желательно воспользоваться проведением исследования на дому.
Для получения дополнительной информации о том, что нужно делать вам, всем, с кем вы живете, и всем, кто находится в вашем кругу общения, обратитесь за помощью к вашему врачу и после консультации выполните все инструкции, которые он вам предоставил.
Как построить процесс: сценарии управления тестами
Рады приветствовать вас в нашей серии статей «Как построить процесс» (остальные статьи серии доступны на английском языке)! Нас не раз просили рассказать о возможностях YouTrack для QA-команд. Сегодня мы рассмотрим работу со сценариями управления тестами (test management scenarios, TMS) и покажем, как настроить управление тестовой инфраструктурой из YouTrack без привлечения сторонних решений. Это не только позволит вам сэкономить ресурсы, но и значительно упростит процесс управления тестами.
Статья предназначена прежде всего для менеджеров по тестированию, но может пригодиться всем, кто интересуется рабочими процессами YouTrack. Мы покажем, как выстроить процесс тестирования при помощи YouTrack, дадим рекомендации по настройке проектов и задач, приведем примеры реализаций TMS и расскажем о многом другом.
Также мы подготовили набор готовых блоков кода, которые вы сможете использовать для автоматизации рабочих процессов управления тестами. Они позволят оптимизировать процедуру ассоциации тест-кейсов с тест-ранами, упростить клонирование тест-ранов, настроить подсказки системы, указывающие, какой тест исполнить следующим и т. д.
Настройки проекта управления тестами в YouTrack
Для проектов управления тестами в YouTrack используются специальные типы задач: тест-кейс, тестовый набор (совокупность тестов), тест-ран (совокупность тест-кейсов или тестовых наборов, ассоциированных с определенным циклом тестирования) и запуск тест-кейса (возникает для каждого тест-кейса в результате выполнения тест-рана). Вы можете настроить необходимые типы задач на уровне TMS-проекта. Существует 3 типа ссылок для обозначения отношений между задачами:
Описания тестовых требований можно хранить в виде статей, размещая ссылки на них в соответствующих задачах (в текстовом поле).
Вы можете дополнить структуру задач дополнительными настраиваемыми полями, такими как режим тестирования, категория, тестовый поток, применение, и указать для них допустимые значения (например, возможные статусы теста). Также вы можете использовать зависимые поля, видимость которых будет определяться типом задачи.
Вы можете корректировать набор предопределенных полей для задач типа «Test Case» и «Test Run», адаптируя их к потребностям вашего проекта.
Настройка тест-ранов и тестовых запусков
Предположим, вы хотите протестировать некоторую версию продукта. Для этого вам необходимо создать тест-ран и включить в него определенные тест-кейсы и тестовые наборы. Выполните следующие шаги:
Дальнейшие шаги могут быть автоматизированы рабочим процессом «Populate Test Run»:
Процедура выглядит следующим образом:
Развернуть блок кода
Поддержка процесса тестирования
Настроив тест-раны, вы можете приступать к тестированию. Изначально для всех задач типа «Test Case Execution» и «Test Run» выставлен статус «No Run».
Переключение между тестами
В ходе тестирования вы можете прерывать исполнение одного теста и переключаться на другой. Для этого есть два способа:
Код решений приведен ниже.
Развернуть блок кода
Статусы тестов
Переключаясь с одного теста на другой, тестировщик выставляет исполняющемуся тесту статус «Passed» либо «Failed». В соответствии с изначальными настройками YouTrack статус тест-рана будет заполнен автоматически. Он предусматривает 4 возможных значения:
Данный набор статусов позволит QA-команде следить за исполнением тестов на протяжении всего цикла тестирования. Важно отметить, что статус тест-рана зависит исключительно от результатов выполнения входящих в него тестов, и не должен меняться вручную. Он определяется с помощью рабочего процесса конечных автоматов для каждого типа задачи. Процесс также выполняет переключение тестов.
Развернуть блок кода
Статистика
Скорее всего, вам будет интересно взглянуть на статистику выполненного цикла тестов. В рамках данного демо мы используем три метрики:
Метрики обновляются при каждом изменении статуса теста, а также при появлении в тест-ране нового теста и удалении старого. Код обновления метрик приведен ниже.
Развернуть блок кода
Данный блок кода включен в рабочие процессы «Update stats when links are adjusted», «Switch to the next test case» и некоторые другие. Для того, чтобы реализовать свой набор метрик, вы можете добавить необходимые настраиваемые поля и дополнить логику рабочих процессов.
Отслеживание ошибок
Вы можете фиксировать ошибки, возникающие при падении тестов, создавая для каждой из них отдельную задачу. Для связи упавшего теста с ошибкой можно либо использовать настраиваемые типы ссылок, либо разместить ссылку на ошибку в настраиваемом текстовом поле. Вы можете завести отдельный проект YouTrack для отслеживания ошибок.
Возможные улучшения
Вы можете расширять функциональность YouTrack и адаптировать ее к новым бизнес-требованиям. Предлагаем несколько вариантов оптимизаций.
Клонирование тест-рана
Было бы удобно иметь возможность создавать новый тест-ран на основе существующего, внося лишь некоторые изменения (например, указывая другую версию продукта). Чтобы сделать это, воспользуйтесь командой меню «Create Test Run copy», доступной для всех задач типа «Test Run». В результате:
Описанная логика реализована в рамках правила действий «Create Test Run copy».
Развернуть блок кода
Ограничение пользовательских действий
Чтобы избежать ошибок в рабочих процессах (использование неправильных типов задач и т. д.), вы можете ограничить действия, доступные пользователям. К примеру, вы можете реализовать действие, которое будет следить за тем, чтобы пользователь связывал тест-раны только с задачами типа «Test Case» и «Test Suite». Действие будет запускаться каждый раз, когда пользователь связывает тест-ран с некоторой задачей. Если условие не выполняется, то YouTrack сообщит пользователю, что связать тест-ран с данной задачей невозможно.
Чтобы реализовать это действие, добавьте следующий блок кода в рабочий процесс «populate test run».
Развернуть блок кода
Как уже было сказано, у пользователя не должно быть возможности изменить статус тест-рана, поскольку он зависит от результата запуска входящих в него тестов. Такое ограничение реализуется очень просто: достаточно добавить блок кода, запрещающий ручное редактирование статуса для всех задач типа «Test Run».
Для этого в рабочем процессе «Status-management» отредактируйте секцию «transitions» для задач типа «Test Run» следующим образом:
Развернуть блок кода
Создание отчетов и навигация
Отчеты
В конце концов, когда цикл тестирования завершен, вам необходимо проанализировать результаты. Для этого в YouTrack предусмотрены отчеты. Вы можете выбрать тип отчета, отображающий наиболее актуальную информацию. В нашем примере на панель мониторинга будут добавлены два отчета:
Настройка отчета:
Результаты:
Настройка отчета:
Результаты:
Навигация
YouTrack автоматически сохраняет информацию об исполнении теста для всех задач типа «Test Execution».
Благодаря этому вам всегда доступна история тест-кейса. Вы можете просмотреть информацию о любом из его запусков и отследить имеющиеся ошибки.
Точно так же вы можете перейти от конкретного запуска теста к соответствующему тест-кейсу.
При неудачном исполнении тест-кейса вы всегда можете обратиться к списку связанных ошибок.
Вы можете загрузить источники для всех рабочих процессов, описанных в этой статье, из нашего репозитория. А чтобы узнать больше о рабочих процессах YouTrack и пообщаться на любые связанные с ними темы, присоединяйтесь к сообществу YouTrack Workflow в Slack.
Ваша команда YouTrack
The Drive to Develop
Discover more
Новая версия YouTrack с конструктором рабочих процессов
В YouTrack 2021.4 появился конструктор рабочих процессов. Это визуальный редактор, позволяющий создавать рабочие процессы без единой строки кода, что значительно облегчает процесс автоматизации. Также в новой версии мы улучшили управление доступом, расширили возможности интеграции с электронной почтой, завели новый домен для доступа к YouTrack InCloud и поддержали встраивание дизайнов Figma и Goog
Изучаем YouTrack: рабочие процессы
В любой работе встречаются регулярно повторяющиеся действия. Возможно, вам часто приходится закрывать пользовательские истории после выполнения всех подзадач, напоминать коллегам о приближающихся дедлайнах, создавать задачи на релиз с набором подзадач и назначать ответственных за их выполнение. Звучит знакомо? Делая все это вручную, вы тратите много времени и рискуете упустить что-нибудь важное. Т
Изучаем YouTrack: панели мониторинга
Эта серия статей посвящена полезным возможностям YouTrack и тому, как использовать их максимально эффективно. В этом посте мы расскажем, как настроить панели мониторинга, чтобы было удобно следить за всеми проектами, за проектами команды, за личными задачами или использовать их как гостевой лендинг проекта. Панели мониторинга можно использовать для текущей отчетности, чтобы постоянно получат
YouTrack теперь с учетом времени
В YouTrack 2021.3 появилась важная функция учета времени. С ее помощью стало гораздо проще отслеживать время, потраченное на работу по задачам и проектам, управлять им и создавать отчеты. Кроме этого, мы добавили в мастер импорта поддержку GitLab и полностью локализовали YouTrack еще на три языка. Начиная с этой версии, мы прекращаем поддержку устаревшего REST API: обязательно переведите все самос