Popular Blog Posts on The Project Shrink

25 Sure-fire Ways To Motivate Your Team Members

23 Powerful Tips for Working in Multi-Cultural Teams

Automated Software Testing

Is automated software testing really worth the time and effort? The simple answer is "yes;" it's a critical part of the software cycle. The more complicated answer is that it's only beneficial if properly implemented.

Most automated software testing tools available today won't work on your software right out of the box. They first need some configuration. If you're lucky, you'll properly configure the automated software testing tool quickly and without pulling too many of your hair follicles out. Oftentimes, however, more time is spent on the configuration step than would be necessary to manually test the software. By the time you're finished you easily could have built your own automated software testing procedure yourself, right? That depends.

Automated software testing is an effective and necessary part of the software development cycle. Interestingly, a growing group believes that focusing on software testing after source code has been written is inefficient and it's too late. Instead, this group believes focusing on the design phase to make sure all involved clearly understand how the software must work would significantly reduce the testing phase and result in better management of the development team.

This does make sense but until these ideas become mainstream, automated software testing will continue. Given that there are so many testing tools available and that each tests different aspects of the software and/or has its own implementation, developing an automated software testing strategy is one way to reign in this process.

An effective automated software testing strategy helps clarify several important objectives. First, a strategy helps determine what is to be automated and how. It can also clarify where and how the ever-growing collection of scripts will be maintained. A strategy also forces those involved to weigh the costs versus the benefits of automated software testing to make sure the time, effort and money are well-spent.

Automated software testing is itself a software development project. If the right people with the right skill set are not put on this portion of the project, expected results won't be achieved. In other words, a software "tester" cannot also be the software "developer". Don't be fooled into thinking that automated software testing is something to be tackled whenever there's time to spare; it's a full-time effort to be carried out by a full-time software tester.

What then, does automated software testing actually test? Many of these testing tools work by creating or generating "test cases". Test cases are run against the software to see if the end results are as expected. If the results are not as expected, there is a problem with the software. Identifying discrepancies and correcting them early on makes sense. Building source code onto code that is not functioning properly compounds problems and makes them more difficult to trace back and fix.

The methodologies utilized by automated software testing tools vary based on the platform and the complexity of the code; another reason why an automated software testing strategy is so important.

blog comments powered by Disqus