TMS - это testcase managment system или если по-русски система управления тест-кейсами. Это очень полезный инструмент для ручного тестирования. На TMS можно ориентироваться и при написании автотестов. С помощью него можно запускать тестовые раны и тесткейсы. TMS можно интегрировать с автотестами. Как использовать TMS с автотестами и всегда ли нужно это делать?
О детальной документации
Обычно есть общее описание фичи, из которого понятно, как она работает. Более детальная документация это не всегда хорошо. Если делать более детальную документацию — она быстро устаревает, так как при активной разработке, когда постоянно всё переписывается и очень быстро развивается, документацию нужно постоянно поддерживать и это создаёт ненужную сложность, которая может замедлить разработку.
TMS и связь с автотестами
Если автотесты пишутся по кейсам ручных тестировщиков из TMS, то возникают проблемы:
- Тест-кейсы обычно сильно расходятся с тем, что есть в реальности в автотестах
- Автоматизировать напрямую тесткейсы из TMS неудобно и более того чаще всего не получается
- Поддерживать связь тесты - кейсы в TMS затруднительно и нудно, когда количество тестов переваливает за 1000 и более Таким образом такой подход будет работать, когда есть большие объемы ручного тестирования, а автотестов либо нет, либо есть в небольшом количестве.
Когда стоит использовать TMS
Когда тесты запускают ручные тестировщики и разбирают результаты. Также, не смотря на проблемы TMS можно использовать с автотестами при прогоне тестового рана и автоматически пройденные кейсы. Если тестировщикам удобно смотреть результатов тестов из TMS, то всю информацию о прогоне также можно отсылать в нее. Можно генерировать тесты прямо из TMS, используя BDD подход, если вы используйте BDD подход.
Когда НЕ стоит использовать TMS
Когда автотесты не запускают ручные тестировщики, например есть CI и запуск всех тестов происходит на каждый pr и отчеты разбирают разработчики. В этом случае TMS будет лишний абстракцией, которая не нужна и есть другие способы как сделать прозрачным процесс тестирования. Например, отчет.
Отчет (allure) как альтернатива TMS
Отчет при изменении кода тестов автоматически обновляется. В отличии от TMS, отчет полностью отображает то, что происходит на самом деле и из него всегда понятно что проверяется. Большинство шагов можно автоматически создавать из тестов. Достаточно грамотно написать interceptor, который их будет создавать. Уровень детальности также можно выбрать любой и создавать шаги только на сложные действия, чтобы добавить ясности и сгруппировать их. Таким образом, тесты (allure отчет) это и будет TMS.