What is Automated Testing?
Automated testing is software used to ensure a software product behaves as expected by executing code to exercise the behavior of the product.
This differs from manual testing, which is a process where a human interacts with the software product by executing code (for web applications, very often through a web browser).
With automated tests, a developer can ensure the application "works" (as defined by the tests) without interacting with the program herself. As software (and the teams developing them) grows, automated tests provide a safety net and build confidence that the application continues to work as expected without behavior regressions or bugs. This is especially important when working in Ruby, since the language is interpreted and dynamically typed.