Handout: Automation Version: ST/Handout/0907/1.0 Date: 28-09-07
Total Page:16
File Type:pdf, Size:1020Kb
Handout: Automation Version: ST/Handout/0907/1.0 Date: 28-09-07 Cognizant 500 Glen Pointe Center West Teaneck, NJ 07666 Ph: 201-801-0233 www.cognizant.com Automation TABLE OF CONTENTS Introduction ................................................................................................................................3 About this Module ......................................................................................................................3 Target Audience.........................................................................................................................3 Module Objectives .....................................................................................................................3 Pre-requisite ..............................................................................................................................3 Automation- An Introduction ......................................................................................................4 Objective:...................................................................................................................................4 What is Automation?..................................................................................................................4 Why Automation Required? .......................................................................................................4 What to automate?.....................................................................................................................4 When to Automate .....................................................................................................................4 When NOT to Automate.............................................................................................................5 Automation benefits: Overview...................................................................................................5 Various Tool Vendors ................................................................................................................8 Automation Tool Evaluation .......................................................................................................9 Various Testing Tools ..............................................................................................................13 Performance Tools...................................................................................................................17 Open Source Tools ..................................................................................................................18 Third party vendor tools ...........................................................................................................19 References .................................................................................................................................24 Websites ..................................................................................................................................24 STUDENT NOTES: .....................................................................................................................25 Page 2 ©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved C3: Protected Automation Introduction About this Module This module provides a detailed description about the Test automation Target Audience Entry Level Trainees. Module Objectives After completing this module, the student will be able to: Explain automation. Pre-requisite Should know fundamentals of Testing Page 3 ©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved C3: Protected Automation Automation- An Introduction Objective: After completing this chapter, the student will be able to: Explain automation What is Automation? Automated testing is automating the manual testing process currently in use. Test Automation is a 'development' activity, not a 'test' activity. Test automation involves automating a manual process already in place that uses a formalized testing process. Software testing assisted with software tools that require no operator input, analysis or evaluation Why Automation Required? Reduced testing time Consistent test procedures – ensure process repeatability and resource independence. Eliminates errors of manual testing Reduces QA cost – Upfront cost of automated testing is easily recovered over the lifetime of the product Improved testing productivity – test suites can be run earlier and more often Proof of adequate testing For doing Tedious work – test team members can focus on quality areas What to automate? Tests that will be run many times Tests that will be run with different sets of data When to Automate By using automated techniques, the tester has a very high degree of control over which types of tests are being performed, and how the tests will be executed. We can Automate when there are multiple releases of the application. We can automate only When the application under manual test is stable. We can automate on tests that need to be run for every build of the application. We can automate on tests that require detailed information from application internals We can automate on tests that require execution of multiple data called parameterization. When the project have enough time for regression testing Page 4 ©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved C3: Protected Automation When NOT to Automate Automation cannot be used for a project that has very few releases. Automation testing cannot be used in usability type of testing. It cannot be used when the functionality of the application changes frequently. Test with unknown results cannot be automated The automation of testing cannot ensure 100% error free product and moreover it is not a label for all the testing problems. When the project doesnt have enough time Automation benefits: Overview Today, rigorous application testing is a critical part of virtually all software development projects. As more organizations develop mission-critical systems to support their business activities, the need is greatly increased for testing methods that support business objectives. It is necessary to ensure that these systems are reliable, built according to specification, and have the ability to support business processes. Many internal and external factors are forcing organizations to ensure a high level of software quality and reliability. In the past, most software tests were performed using manual methods. This required a large staff of test personnel to perform expensive, and time-consuming manual test procedures. Owing to the size and complexity of today’s advanced software applications, manual testing is no longer a viable option for most testing situations. Every organization has unique reasons for automating software quality activities, but several reasons are common across industries. Using Testing Effectively Reducing Testing Costs Replicating Testing Across Different Platforms Repeatability and Control High speed cycle; code-test-analyze-fix-test… Better testing if designed right Good coverage for Data-oriented and/or repetitive verification tasks Reduces manpower and time More coverage within the same testing time. Testing products which are very difficult to test manually. Eg Load Tests Can look inside the software for memory leaks, redundant code etc. Improves efficiency of testing Reducing Testing Costs Replicating Testing Across Different Platforms Repeatability and Control Greater Application Coverage Page 5 ©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved C3: Protected Automation Automation Life Cycle Methodology 4. Test planning, 3.Automation Testing and Introduction Process Design and Mana 5. Execution Execution 5. 2. Test tool2. Test Automated Acquisition Testing Life-Cycle g ement Methodology (ATLM) 6. Test program Review 1. Decision to and Assessment Automate Test Identifying Tests Requiring Automation - The features that software life cycle process, has to care for to be a successful project are: Early detection of software problems Preparation of appropriate test facilities Early consideration of the user’s needs during software development. Most, but not all, types of tests can be automated. Certain types of tests like user comprehension tests, tests that run only once, and tests that require constant human intervention are usually not worth the investment to automate. If the testing tool that you select, does not support your environment/application then you are in trouble and in most cases you will need to revert to manually testing the application. So, Testing tools depends on consistency of the test environment. The Tool Matrix is provided for quick and easy reference to the capabilities of the test tools. The following are examples of criteria that can be used to identify tests that are prime candidates for automation. Page 6 ©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved C3: Protected Automation High Path Frequency - Automated testing can be used to verify the performance of application paths that are used with a high degree of frequency when the software is running in full production. Examples include: Creating customer records, invoicing and other high volume activities where software failures would occur frequently. Critical Business Processes - In many situations, software applications can literally define or control the core of a company’s business. If the application fails, the company can face