Enhancing the effectiveness of software test automation

Abstract

Effective software testing can save money and effort by catching problems before they make it very far through the software development process. It is known that the longer a defect remains undetected, the more expensive it is to fix. Testing is, therefore a critical part of the development process. It can also be expensive and labor intensive, particularly when done by hand. It is estimated that the total effort testing software consumes at least half of a project’s overall labor. Automation can make much of the testing an organization does more accurate and cheaper than merely putting several people in a room and having them run tests from a paper script. It also frees the testing staff to do more specific and in-depth testing than would otherwise be possible. This paper focuses mainly on software test automation techniques and how automation can enhance the efficiency of a software team as well as the quality of the final product.

Conclusions

While automation of some kinds of software testing can dramatically increase the productivity and effectiveness of software development projects, rarely is it found that 100% of requirements can be covered by automated tests. Some testing is still best done by hand because human testers are far more flexible and creative than any computer program. Automation frees human testers to delve more deeply into the system be relieving them from having to do repetitive tasks for which the use of automation is more appropriate.

With a little cooperation between developers and testers, software code can be made more testable. Coding for testability is a key consideration for programmers working in an Agile development environment. For example, in my practical exercise with the Recipe Box program, I demonstrated how UI components that are declared to be private class members may still be tested with a homegrown test script without violating key principles of object-oriented programming or resorting to questionable workarounds.

Automated software testing is a software development project in its own right, and should be treated as such, to include all of the usual software development processes, such as version control, code reviews, coding standards, and so on. Suggestions were also made in this paper on how the costs associated with automation efforts may be minimized.

There are many pre-packaged tools available to aid testers in the creation of test scripts. Some of them from commercial venders can be expensive, while there are other tools that are open-source and therefore free. In fact, the open-source community is about as capable as commercial vendors of producing high-quality software testing tools.


The whole master’s thesis can be found here (PDF).

Master’s Thesis:Enhancing the Effectiveness of Software Test Automation -December 2015, David Wayne Jansing, Department of Computer and Information Sciences, State University of New York Polytechnic Institute, Utica, New York, USA.

We use "Matomo" cookies to anonymously evaluate your visit to our website. For this we need your consent, which is valid for twelve months.

Cookie Configuration

Functional cookies

We use functional cookies to ensure the basic functionality of the website.

Performance and statistics cookies

We use Matomo for analyzing and optimizing our website. Cookies permit an anonymous collection of information that help us offering you a clear and user-friendly visit of our web pages.

Cookie details
Description Vendor Lifetime Type Purpose
_pk_id Matomo 13 Months HTTP Contains a unique, pseudonymized visitor ID internal to Matomo for recognizing returning visitors.
_pk_ref Matomo 6 Months HTTP Used to track from which website the anonymized user proceeded to our website.
_pk_ses Matomo 1 Day HTTP The Matomo session cookie is used to track the visitor's page requests during the session.
_pk_testcookie Matomo Session HTTP Used to check whether the visitor's browser supports cookies.
_pk_cvar Matomo 30 Minutes HTTP Temporarily store data about the visit.
_pk_hsr Matomo 30 Minutes HTTP Temporarily store data about the visit.