Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Software development: Automated vs manual testing

Posted: 25 Jun 2015 ?? ?Print Version ?Bookmark and Share

Keywords:software testing? software development? SDLC? QA? testers?

Testing is a key part of any successful software project. In software testing, there are two main areas to complete the verification of a productautomated testing and manual testing.

Manual software testing, as the name implies, is executed by a person without the help of any tool or script. Automated software testing, on the other hand, is executed with the assistance of tools, scripts, and software.

Nowadays, there's a question that is often heard around software companies; a question that's in every manager's head around the globe; a question thatif answered incorrectlymay end up hurting the quality of our products. This question is as follows: "Should we manually test applications or should we implement automated tests?"

Almost all development companies get to a point where they have to decide on a test strategy. Do they go with pure BDD/TDD (behaviour-driven development / test-driven development) which leads to one or no tester? Or do they hire/keep manual testers to perform the product verification? There's a reason this discussion keeps being brought upthe need for "cutting costs." From experience, when making decisions about budgeting, the area that takes the heavy hit is usually testing. Let's face it; it's not cheap to maintain a lot of resources whose sole function is to test applications.

Companies can get into a real dilemma trying to answer this question, but is there really a rivalry between these two testing techniques?

Clarifying the difference
When comparing these two areas, we already know that automation testing has several benefits such as cost reduction, reusability, speed, and reliability. For those projects that do not have complex business rules, this technique helps reduce unnecessary manual effort and allows us to complete testing more quickly in the SDLC (software development life cycle) thanks to BDD/TDD.

The need to get applications to the market in a shorter timeframe has caused many companies to pull resources away from QA (quality assurance) staff on the assumption that automation is suitable for all testing needs, but is this really a good decision?

Even though BDD-TDD techniques have made significant advances, there's no reason to think that manual testing cannot live alongside automated testing. In fact, both testing techniques are 100% necessary and can complement each other in multiple ways. Since no testing method is perfect, by using them together, one approach can identify errors that the other technique is prone to miss.

We have to remember that automated testing was originally designed to reduce costs on repetitive test cases that needed to be run many timesfor regression testing and for building up long term product quality. As we keep adding automated tests, the automation suite grows more robust and it takes on the responsibility of running test cases that can cause boredom in human testers and errors in execution.

There's another way of thinking about automated tests and about how we execute these test cases. We can consider them to be "confirmation tests," because if the first execution doesn't find a bug and we keep executing through the cycles, we probably won't find any new bugs. The next execution would only be to confirm that no new bugs are found. These automated test cases confirm that an application is working as expected when it was correctly built in a continuous integration environment. The problem here is that the tests may start losing quality value because they stop providing meaningful data. This is particularly true if the reporting tool is not implemented along with the test, in which case it will only confirm code for how that particular feature (or an old feature) works. To avoid losing quality value, we need a resource to look after the whole automated suitea resource with sufficient quality knowledge and project experience to track application changes with the support of a tool.

1???2?Next Page?Last Page

Article Comments - Software development: Automated vs m...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top