Чаще всего я пишу тесты уже по относительно готовому функционалу. Бывают ситуации конечно, когда пишу до реализации, по просьбе разработчика.
В клиенте реализовано несколько уровней абстракций:
Actions - верхний уровень, работает с бизнес сущностями и апи
API - разные апи (oauth, public, user)
Request - минимальная обертка над библиотекой отправки запросов. нужна, по факту, только для oauth подписей.
В самих тестах так же тестируються отдельно API и Actions.
Например для нового метода, подобный метод добавляется в соответсвующий API класс, и дальше он покрывается тестами.
А где вы храните тестовые артефакты? Например файлы, которые надо отправить. И иногда их еще надо менять… в Soapui они кэшируются и в дальнейшем их можно открыть прямо из тесткейса, посмотреть что там за файл, заменить его другим, если надо и тд…
Изначально начал писать апи клиент для удобства ручных тестов (нужно имитировать действия разных пользвателей)
Клиент - такой себе имитатор реального мобильного клиента. С внешним интерфейсом который используется в тестах (к слову - он используется еще и в UI тестах)
Так же, я его использую как консольный клиент при ручных тестах мобильного приложения.
Про файлы - на самом деле из файлов - это рандомные картинки, которые генерирует сам клиент. для меня это не важно. Но в принципе - что мешает хранить их рядом с тестами, и редактировать там же. А реализация этого всего зависит только от типа файлой, и задач.