Part One: Test Driven Development

/test-driven-development

Automated Testing

Automated testing has become one of those terms that we hear but what does it mean exactly? Is it actually necessary in order to be successful? And what common objectives can we learn from automated testing? What is automated testing? Test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but imperative tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing. The biggest question that many ask is why is automated testing necessary – see some of our reasonings below.

Automated Testing Saves Time and Money

Software tests have to be often repeated during development cycles to ensure quality. For each release of the software, it may be tested on all supported operating systems and hardware configurations. Manually repeating these tests is costly and time-consuming. Automated tests can be run over and over again at no additional cost, and they are much faster than manual tests.

Vastly Increases Test Coverage

Tests are written as YOU define, if you put in the time and effort to write a lengthy test you wouldn’t normally test manually, you can run this unattended ensuring the product is behaving as expected while keeping your sanity.

Testing Improves Accuracy

Even the most robotic humans make mistakes, automated tests will run as specified every time they are ran.

Automation Does What Manual Testing Cannot

An example of this is the fact that automated testing can scale, simulating thousands of users hitting the web application or test all 200thousand plus pages of our web application

Automated QA Testing Helps Both Dev and QA

Simply put, you catch bugs quicker and are notified in real time.

Morale Improves Across Team

Automating repetitive processes allows team members to focus on more challenging problems which can be more rewarding.  

Some common objections to automated testing:

Writing test will take me more time to write thus making me less productive!

Initially, this may take you away from moving the application forward at the rate your comfortable with but automated testing will help you from having to go back and revisit what you’ve created.

It won’t catch the tricky bugs

It may or may not, writing automated tests frees up your time to find the tricky bugs so you can push fixes.

Writing tests are boring! Boring? I agree, writing tests isn’t always the funnest scenario; if you want you can try writing your test as a pun. I have no idea where to start! We will cover a roadmap that is open ended to facilitate discussion. We are always here to help!   Want to read more about QA and automated testing? Check out how automated testing saves QA jobs