ТестОпс: Улучшения в 2024 году

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

Фича-флаги

Доставка новых фич пользователям теперь выполняется с помощью фича-флагов. Когда выходит обновление, в вашем профиле ТестОпс добавляется новая опция, позволяющая включить или выключить новые фичи:

Фича-флаги

Мы надеемся, что это позволит вам лучше ориентироваться в нововведениях.

Давайте теперь взглянем на фичи, появившиеся в ТестОпс в этом году.

Новое дерево тест-кейсов

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

Новые фильтры

Кроме того, сейчас можно настраивать сортировку тест-кейсов, а также отображение элементов тест-кейса в дереве (ID, статус, и т.д.). Наконец, внешний вид стал более лаконичным.

Новые фильтры для тест-кейсов

Фильтры для дерева тест-кейсов теперь находятся в поисковой строке над деревом (а не в отдельной панели слева). Это делает фильтрацию проще: поисковая строка — интуитивно понятный элемент.

Новые фильтры

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

Кроме того, мы добавили новый фильтр: поиск по содержанию и описанию тест-кейсов. В строке фильтров теперь можно ввести любой текст, и система выдаст тест-кейсы, в которых он встречается.

Новый список запусков

Мы также обновили страницу запусков:

  • Появилась поисковая строка, в которой можно искать запуски по названию, тегам, времени создания и другим параметрам.
  • В статусе открытых запусков теперь отображается время, прошедшее с открытия.
  • Прогресс-бар стал интерактивным: при нажатии на цвет статуса открываются результаты тестов.
  • Для каждого запуска отображаются связанные с ним дефекты, с активными ссылками.

Новая страница запусков

Тест-кейсы

Генерация кода для тест-кейсов

Тестопс уже давно умеет генерировать тест-кейсы на основе автотестов; в этом году мы постарались максимально упростить обратный процесс: создание автотестов на основе ручных тестов. Теперь код можно генерировать прямо в ТестОпс!

Это делается в меню тест-кейса. Вначале вы указываете нужный вам стек технологий:

Выбор стека для кода

Система отдаёт вам рабочую "обёртку" автотеста, на создание которой автоматизатору уже не нужно тратить время. Вот пример для тест-кейса с шагами, ожидаемыми результатами и вложениями:

import io.qameta.allure.Allure;
import io.qameta.allure.AllureId;
import io.qameta.allure.Step;

import io.qameta.allure.Owner;
import org.testng.annotations.Test;

import static io.qameta.allure.Allure.step;

public class TestExample {

    @Test(testName = "Демонстрационный тест-кейс")
    @AllureId("10827")
    @Owner("mlankin")
    public void shouldTest() {
        step("Шаг 1");
        step("Шаг 2", () -> {
            step("Expected Result", () -> {
                step("Состояние 1");
                step("Attachment [1127]");
            });
        });
        step("Шаг 3");
    }
}

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

Превращение автотеста в ручной тест

Иногда оказывается, что автотест работает нестабильно, и его приходится проходить вручную. В таких случаях ТестОпс позволяет превратить автотест в ручной. Вы сможете выбрать, будет ли сценарий такого тест-кейса сгенерирован на основе автотеста, или сохраненного ручного теста.

История версий в тест-кейсах

Появилось новое окно с историей версий тест-кейса. В нём можно сохранить текущую версию и сравнить её с предыдущими. Также можно выбрать одну из прошлых версий и использовать её вместо текущей.

История версий

Сценарии

Мы полностью переработали сценарии тест-кейсов, и сделали работу с ними близкой к редактированию обычного текста. Теперь для того, чтобы изменить шаг, не нужно нажимать мышкой на отдельную кнопку. При нажатии Enter добавляется новый шаг, для которого сразу можно вводить описание.

Помимо удобства и скорости редактирования, у этого подхода есть ещё одно важное преимущество: изменения теперь сохраняются гораздо чаще (каждый раз когда вы переходите от редактирования одного шага к другому). Другим участникам проекта ваши изменения становятся видны сразу после сохранения. Это значит, что несколько редактирующих будут гораздо меньше перекрывать чужую работу и мешать друг другу.

Новые ожидаемые результаты

И ожидаемые результаты, и вложения стали полноценными шагами:

Шаг с ожидаемым результатом и вложением

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

Общие шаги

Если при выполнении тестов вы часто повторяете одно и то же действие (например, ввод учетных данных), для него можно создать общий шаг. Это существенно ускоряет создание и редактирование тест-кейсов, а также делает их более единообразными. Общие шаги (как и любые шаги) являются полноценными сценариями, в которые можно добавлять подшаги, вложения и ожидаемые результаты.

Разметка

Мы добавили разметку к описанию тест-кейса, сценарию и комментариям. Это делает работу с ручными тест-кейсами гораздо более удобной: например, если в сценарии написано, что мы тестируем логин не зарегистрированного пользователя, тестировщик не пропустит отрицание.

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

Кастомные поля

В этом году много улучшений было сделано в работе с кастомными полями.

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

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

Для кастомного поля проекта можно установить значение по умолчанию. Поле также можно объявить обязательным для данного проекта, и система будет предупреждать вас, если это поле не заполнено:

Отсутствует обязательное поле

Разница в кастомных полях учитывается при клонировании тест-кейсов в другой проект. Если в новом проекте нет нужного поля, система сразу предлагает варианты: добавить поле в проект, сопоставить имеющееся в проекте поле со значениями тест-кейса, или удалить поле из тест-кейса.

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

Удаление самих кастомных полей теперь происходит в несколько этапов. Вначале администратор удаляет поле из экрана "Кастомные поля" в разделе "Администрирование". Важно, что при этом видны все проекты, к которым это поле добавлено. Затем поле попадает в раздел "Удаленные", откуда его можно восстановить или удалить навсегда:

Восстановить кастомное поле или удалить навсегда

Этот процесс делает удаление гораздо более безопасным: вы видите, где используется поле, и можете его восстановить при необходимости.

Подробнее о пользовательских полях в ТестОпс вы можете прочитать в отдельной статье.

Производительность

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

Заключение

Мы не планируем останавливаться на достигнутом, и по-прежнему внимательно прислушиваемся к вашим отзывам о продукте. Каждое обновление ориентировано на упрощение ваших рабочих процессов и повышение их эффективности. Оставайтесь с нами, чтобы получать максимум от новых возможностей платформы!

    Михаил Ланкин

    Михаил Ланкин

    26 ноября 2024 16:00