Tell me more ×  We are building an application using a
completely test-driven approach. As developers, we are very
familiar with unit tests but haven't been exposed to integrated
/ functional / acceptance tests. Hence this post.  The
application exposes a web UI (HTML resources), which invokes a
secured REST API (with JSON serialization), which then delegates
to a core domain model (transactional application services and
business entities) independent of any delivery mechanism. The
REST API is to be made public eventually. Persistence is
achieved using a relational database and an ORM. A standard Java
/ Spring / Hibernate technology stack is used.  If we wanted to
do pure TDD, we would be writing the following tests:    •
Selenium / WebDriver tests for the web UI   • integration tests
for the REST API   • integration tests for the application
service   • integration tests for the repository (persistence)
• unit tests for the web controllers (REST API)   • unit tests
for the application service   • unit test