Click here to Skip to main content
Click here to Skip to main content

Software Test Automation

, 23 Feb 2012
Rate this:
Please Sign up or sign in to vote.
This article is focusing on the importance of software test automation and how and where to make its effective use in software testing cycle of the product development. In addition to this information, it will also give some examples of best open source test automation tools.

Introduction

Have you ever executed hundreds of test cases on any software testing life cycle repeatedly and invested a huge amount of time in executing and managing the results? Definitely a question would have risen in the mind that “Can’t we develop some process to avoid the repetition of the tasks and manage the executions easily?” and you get the answer “Yes! Software Automation. Unquestionably, software Test Automation is the integral part of software development practices these days.

This article is focusing on the importance of software test automation and how and where to make its effective use in software testing cycle of the product development. In addition to this information, it will also give some examples of best open source test automation tools.

Definition

Automation is the process of controlling manual tests, comparing test execution outcomes with the predetermined outcomes, setting up pre conditions and test reporting. Crucial decisions that a testing team takes are what and when to automate. Thus success of automation largely depends on the feature that is to be automated. It should be relevant and re-testable since automation becomes cost effective only in long terms.

Effective Implementation and Requirements of Automation

No one can deny the fact that the software testing cycle is almost incomplete without automation but if it is properly implemented then it is really a worth. It is better to get involved in design phase of the software to understand how the application would work. This will lower down the automation efforts and a better automation test strategy would be prepared. A well-formed automation strategy will elaborate how the automation would be done and what is to be automated. It will contain the information about how and where the scripts need to be maintained for execution. This will clearly depicts the engineers involved in software automation to evaluate automation efforts and relating them with time and cost. This will lead in identifying the right resources with relevant right skills that are to be deployed for automation job which in turn ensure the timely achievement of automation goals.

Team must satisfy some automation requirements like it should be cross platform compatible with data driven competences. Automation should contain effective bug reporting and logging features along with customizable feature. One must consider that total automation of an application is not possible since there might be some feature like UI, help content, documentations and installation etc. which are required to be manually executed.

Sometimes it is difficult to choose best Automation tool relevant to the application under test. Here is the list of the Open Source Tools which will be really helpful to automate your testing task.



Best Open Source Unit Test Tools
C++ Sub Category Java Subcategory .NET Subcategory
Google C++ Testing
Framework
Junit NUnit
Automated Test
Framework
TestNG mbUnit
Boost Test Library UISpec4J xUnit.net
Cfix    
Overall: Junit    
 



Best Open Source Performance Test Tools
WEB Sub Category Web Service/SOA Subcategory
JMeter SoapUI
The Grinder JMeter
Hammerora The Grinder
Overall: Jmeter  
 



Best Open Source Functional Test Tools
WEB Sub Category Java Subcategory Flash/Flex Subcategory
Selenium Selenium Flex Monkey
TestMaker SWTBot Melomel
Sahi T-Plan Robot TestMaker
Watir Jemmy  
Overall: Selenium  
 

When Automation is Required

When there is a vast need to of regression testing, test teams should think and work upon automating the application. If the application contains frequent changes in codes but GUI remains same, then it is worth automating the application using GUI automation approach. Overall, the most worthy point to be noted is to start automating the application only when the build is almost stable as it may cause waste of work due to frequent changes if automation starts at very early stage.

Conclusion

Application automation is indeed a best way to make effective utilization of time and man power but at the same time, team should be very careful in choosing tool to automate and resources because unskilled resources and expensive tools can broadly impact overall return on investment. Thus a good automation approach along with predetermined clear automation goals such as when and how to automate is of course going to get significant results.

References

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

HARISHCHOWDHARY
Tester / Quality Assurance Aricent Technologies
India India
HARISH CHAUDHARY FREE LANCE TECHNICAL WRITER is a young, motivated and dynamic Software Quality Engineer,worked for QAInfoTech Pvt.Ltd.
He is passionate for Security and Penetration Testing to safeguard Data from hackers. He is a keen orator and has won himself a position by participating in testing conference organized internally at QA InfoTech as well as presented paper on "Assuring Data Security by penetration Testing" at 11th International Software Testing Conference 2011.
He is Master of Computer Applications from Guru Gobind Singh IndraPrastha University. Harish holds Diploma in Software Engineering and is also Microsoft certified SQL 2005 professional.Now working as a Information Security Researcher.
Follow on   Twitter

Comments and Discussions

 
GeneralMy vote of 1 PinmemberKrish2621-Dec-12 20:31 
GeneralGood try... PinmemberKrish2621-Dec-12 20:25 
GeneralMy vote of 1 PinmemberKaisar Haque17-Apr-12 23:47 
GeneralRe: My vote of 1 PinmemberHARISHCHOWDHARY13-Dec-12 23:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140718.1 | Last Updated 23 Feb 2012
Article Copyright 2012 by HARISHCHOWDHARY
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid