У меня к вам несколько вопросов. Позвольте мне дать некоторые подробности, прежде чем я задам вопросы.
Недавно я занимался автоматизацией тестирования Rest API. У нас есть один API-интерфейс для извлечения ресурсов (этот API-интерфейс в основном используется в пользовательском интерфейсе нашего веб-приложения для различных бизнес-процессов для получения данных), хотя это один и тот же API-интерфейс ресурсов, фактическая конечная точка соответственно различается для разных ситуаций. т. е. передаваемые параметры запроса в URL-адресе API отличается в зависимости от бизнес-процесса.
Например что-то вроде
`./getListOfUsers?criteria=agedLessThanTen ../getListOfUsers?criteria=agedBetweenTenAndTwenty ../getListOfUsers?criteria=agedBetweenTwentyAndThirty и т. д.
Поскольку существует только один API и поскольку бизнес-процесс не требует этого, у нас нет цепочки запросов между API. Таким образом, тест просто затрагивает отдельные конечные точки и проверяет содержимое ответа. Ответ проверяется на основе предоставленных тестовых данных. Таким образом, в файле тестовых данных есть список пользователей, ожидающих попадания в каждую конкретную конечную точку. то есть тестовый файл похож на статическое содержимое, которое будет использоваться для проверки содержимого ответа каждый раз, когда мы нажимаем на него... если фактический ответ, полученный с сервера, отличается от предоставленных нами тестовых данных, это будет ошибка. (также есть тесты на отсутствие ответа на контент, без аутентификации и т. д.)
Этот тест подходит для подтверждения того, что конечные точки работают, а содержание ответа хорошее или нет.
Мои настоящие вопросы касаются стратегии тестирования или бизнес-прикрытий здесь,
Достаточно ли здесь одного попадания в конечную точку API или нет.
или одна и та же конечная точка должна быть поражена снова для других сценариев или нет, особенно когда приведенный выше пример конечных точек фактически дополняет друг друга и проблемы регрессии, которые могут произойти, могут ли они быть зафиксированы в любом из них?
- Если конечные точки API дополняют друг друга, добавляя больше тестов, не будет ли это просто дублированием тестов/дополнительным обслуживанием/и другими проблемами позже, и следует ли нам этого избегать? если он не дает значения?
- Какова общая тенденция автоматизации API в отношении покрытия? . Я считаю, что его следует использовать для тестирования потоков бизнес-интеграции и сценариев, если это необходимо, но для таких ситуаций, как эта, действительно ли это необходимо
- также следует помнить об этом моменте?, что автоматизация не заменяет ручное тестирование, а только дополняет его. и попытка автоматизировать каждый возможный сценарий не принесет пользы, а только вызовет проблемы с обслуживанием позже?
Спасибо