The Agile Manefesto in plain speak
Individuals and interactions over processes and tools is about empowering developers.
Working software over comprehensive documentation means meeting customer needs.
Customer collaboration over contract negotiation happens with regular working builds.
Responding to change over following a plan requires stable and reliable releases.
A few agile principals
Automated testing is the way to deliver "working software frequently".
"Maximizing the amount of work not done" like writing less code to do the same thing.
"Promote sustainable development" for predicting software delivery.
"Build projects around motivated" people working to meet customer needs.
Unit Testing Agile Process
Scrum and XP focus on writing many unit tests for managing quality over short cycles.
In order to move quality upstream in the process, developers write and analyze many tests.
Results are generated after every source commit and analyzed for "instant" feedback.
Continuous Integration Process with Test Automation
In order to move quality upstream in the process, testers capture and restore many copies of databases.
Developers collaborate with analysts to isolate and script functionality.
Results are generated once a day (overnight) and analyzed for feedback.
Why not use both?
There is no need to do both if one can meet your needs.
More meetings are expensive, test planning goes with test automation, and sprinting with unit testing.
Test automation creates tests from saved states and scripts, providing a large testing bubble for automation.
Test Automation for Database Applications
Applications that matter today are databases containing millions and billions of records.
Productive programmers are expensive, they should be writing functional application code while developing.
While user interfaces are important, business logic is critical in most applications.
SQL is set based for parallel processing, not the case with object mapping and function based languages.
Relational databases create and maintain many connections; unit testing with mocking objects isn't practical.
Test automation focuses on using the application to create diverse and precise starting points for tests.
Prefer SQL for business logic? learn more...
Collaborative browser environment using restful services? learn more...