ТестОпс: Улучшения в 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