Software Testing Articles, Documentations, Tutorials - TESTING BRAIN.com
HOME TESTING TYPES TOOLS ARTICLES TUTORIALS FAQs CHAT FORUM GUESTS

Making The Decision To Automate Your Software Testing

by: Danna Henderson

Not every software testing project can or should be automated. Before your department accepts a new test automation project, you should establish a process by which projects are reviewed and either accepted or rejected. This can be done with a simple Test Automation Acceptance Checklist.

Repeatable Test Cases with Static Data

The true cost benefit of test automation is achieved only when the same scripts are executed multiple times.

The first execution is very expensive because it includes the one-time cost of the automation tools and 100% of the Test Automation engineer’s time. When the scripts are executed again, the cost of test automation declines sharply. The tool has already been purchased and the scripts have already been coded. If there have been changes in the application, the scripts may require maintenance before being executed. Maintenance on minor software updates should be minimal.

Because test automation is only successful when the scripts can be executed multiple times, only application which require the same test cases to be executed with the same data are good candidates for automation. For example, a mortgage application that needs to be regression tested on a weekly basis could be a good candidate for test automation. Script maintenance is minimal and the scripts can enter a mortgage application using the same group of test data in a fraction of the time it would take a manual tester to test the same functionality.

On the other hand, a mortgage origination system, which cannot use the same test data for each iteration would not be a good automation candidate. Due to the nature of mortgage systems, data could be staged in various states of approval or rejection, based on the current data and the departments who have already processed their part of the mortgage application. If the script cannot easily figure out what data to enter in the software, it is not a good automation candidate.

Another problem with automating this type of complex system is that the test environment often contains a sampling of production data that is refreshed on a periodic basis. Sometimes this can be overcome by rebuilding the test data when the test environment is refreshed. The feasibility of rebuilding test data on a regular basis depends on the complexity of the application. You will have to make that decision on a case-by-case basis.

Application or Environmental Stability

Environmental stability is crucial to a successfully automating a software testing project. Scripts cannot be coded in a timely manner if the application environment is unavailable, experiences frequent down-times, or excessive defects and errors.

Little or No Application or Environment Downtime

It takes longer to write scripts than it does to manually test the same functionality. Most automation tools are watered down version of C or Visual Basic, which means that writing automated scripts is essentially programming and takes adequate time and specialized skills. Unlike manual test cases, which can sometimes be written based off requirements and mock-ups, automated tools require the actual application. When a test environment is unavailable, automation engineers cannot create scripts, which prolongs the project and ends up costing more.

Excessive downtime can consist of any of the following:

  • Unstable Environment
  • Lack of Infrastructure Support
  • Frequent Application Updates
  • Buggy Code
  • Effects of Environment Instability on Script Development and Execution

When an application or environment is unstable, scripting progress is dramatically slowed or stopped altogether. In some cases, it’s possible to continue scripting, but this may causes more work at a later date. For example, if you are scripting in buggy code, you may have to script around error messages and the scripts will have to be revised at a later date. Or, you may only be able to create scripts to a certain point and finish them at a later date. To help avoid and decrease environment instability, read the chapter on Service Level Agreements.

Timely Defect Fixes

Application defects do not have to be detrimental to an automated software testing project. When defects are fixed in a timely manner, scripting can continue without significant downtime. When estimating an automated testing project, it’s always best to add some buffer time that will accommodate for defect reporting and revisions.

When defect fixes take an excessive amount of time to resolve and are causing the automated software testing project to be delayed, it’s time to pull together a meeting. Invite all the major players and discuss the root of the problem and what everyone can to improve the situation. Maybe development is spending too much time trying to reproduce the problem and having your automation team enter better description would help them turn the defect fixes around faster. Maybe you can work together to classify defects and establish reasonable fix times for each classification. For example, a Critical defect needs to be fixed that day while a High defect needs to be fixed with in 24 hours.

Responsive Contact Person

When your team takes on a new automated testing project, you will need a contact person. This person is responsible for making sure you have the business requirements and answering questions about how the application works. This will not be his or her main job, so you will need to make sure he or she is responsive. If you cannot get adequate business requirements, test data, or questions answered, your automation project will not be successful.

Other Related Articles

Comparison Between Black Box & White Box Testing
Making The Decision To Automate Your Software Testing
What is Software Testing
Beta Testing, Anyone? 10 Potent Strategies for Achieving Success
Software Testing and Software Development Lifecycles
An Introduction to Software Testing
Assessment in the software testing course
The Essentials of Software Testing



BLACK BOX TESTING
Functional Testing
Stress Testing
Load Testing
Ad-hoc Testing
Exploratory Testing
Usability Testing
Smoke Testing
Recovery Testing
Volume Testing
Domain Testing
Scenario testing
Regression Testing
User Acceptance
Alpha Testing
Beta Testing
WHITE BOX TESTING
Unit Testing
Static & dynamic Analysis
Statement Coverage
Branch Coverage
Security Testing
Mutation Testing
Interview Questions
General Questions
WinRunner Questions
LoadRunner Questions
SQA Questions
Test Automation Questions
CERTIFICATIONS
ISQTB
CSTE
CSTP
CTM
CSQA
CSPM
CSPE
latest QA / Testing Documents
Test Director Interview Questions | Software testings FAQ
Test Director Interview Questions ... Software testings FAQs ..What is Test Director ... What are all the main features of Test Director.. How the assessment of the application will be taken place in Test Director .. etc etc
QA interview questions
What is verification, What is validation, What is a walkthrough, What is an inspection, What is quality, What is good code, What is good design, What is software life cycle, What is the difference between alpha and beta testing, What is the difference between volume testing and load testing etc...
Software Quality Engineer Certification - CSQE
The Certified Software Quality Engineer understands software quality development and implementation, software inspection, testing, verification and validation; and implements software development and maintenance processes and methods.
Certified Software Quality Analyst | CSQA
Acquiring the designation of Certified Software Quality Analyst (CSQA) indicates a professional level of competence in the principles and practices of quality assurance in the IT profession.
TESTING GENERAL INTERVIEW QUESTIONS
TESTING GENERAL INTERVIEW QUESTIONS
Certifications General details
General details of different software testing certifications.
HP LoadRunner software—tips and tricks for configuration, scripting and execution
This guide provides tips and tricks for HP LoadRunner software configuration, scripting, and execution. It is a conglomerate of lessons learned by HP LoadRunner power user Opral Wisham,including unique code as well as code collected from other testers. This guide is intended to help testers just learning to use HP LoadRunner, as well as to provide new best practices for those who have used HP LoadRunner for many years.
Performance Testing Why and How
Why Performance Testing,Performance Testing Workflow,HP LoadRunner Solutions
Web HTTP Connection Patterns When Load-Testing Using LoadRunner
HTTP Connections In a web environment clients communicate with the server using HTTP connections. A connection can be one-shot or persistent. One shot connection are used for one interaction, when the server has responded the connection is closed. Persistent connections are kept open for use in subsequent interactions. Persistent connections are closed by the client when it has finished with the server or by the server if the connection is inactive for too long.
what is LoadRunner
LoadRunner is a performance and load testing product by Hewlett-Packard (since it acquired Mercury Interactive in November 2006) for examining system behaviour and performance, while generating actual load.

Popular 5 QA / Testing Documents

QA interview questions
What is verification, What is validation, What is a walkthrough, What is an inspection, What is quality, What is good code, What is good design, What is software life cycle, What is the difference between alpha and beta testing, What is the difference between volume testing and load testing etc...
TESTING GENERAL INTERVIEW QUESTIONS
TESTING GENERAL INTERVIEW QUESTIONS
Test Director Interview Questions | Software testings FAQ
Test Director Interview Questions ... Software testings FAQs ..What is Test Director ... What are all the main features of Test Director.. How the assessment of the application will be taken place in Test Director .. etc etc
Performance Testing Why and How
Why Performance Testing,Performance Testing Workflow,HP LoadRunner Solutions
Test Case Checklists
Details of Test Case Checklists
QA / Testing Documents categories .. posted by users
Software Testing
Study Materials ,  Certification ,  FAQ ,  
Quality Assurance
Certification ,  FAQ ,  Study materials ,  
Testing Tools
WinRunnerLoadRunnerTest Director
Jobs
Jobs in INDIA ,  
  QTP
  site contact support@testingbrain.com All of the product names here are trademarks of their respective companies. Use information on this site at your own risk. Informations about software testing tools, software testing jobs, software testing tutorials, certifications, interview questions furnished in the site is collected from various sites and posts from users. This site does not host any files on its server. If any compliants about the posts please contact us at support@testingbrain.com, we are ready to move the posts.
SAP training help    |     Complete Software Testing Study materials | Testing JOBS | PDF Tutorials