TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations. Babu Narayanan

Similar documents
QTP interview questions

Introduction to ALM, UFT, VuGen, and LoadRunner

Open2Test Test Automation Framework for Selenium Web Driver - Introduction

Chapter 9 Quality and Change Management

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing.

Pearson Education 2007 Chapter 9 (RASD 3/e)

VIEW POINT. Choosing the right automation tool and framework is critical to project success. Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Open2Test Test Automation Framework Introduction - TestPartner

Table of Contents What is Test Automation Framework?... 3 Different types of Frameworks used in QTP... 4 Linear Framework in QTP...

SECURITY AUTOMATION BEST PRACTICES. A Guide on Making Your Security Team Successful with Automation SECURITY AUTOMATION BEST PRACTICES - 1

Diploma in Software Testing 2.0 (HP)

Security Automation Best Practices

SECURITY AUTOMATION BEST PRACTICES. A Guide to Making Your Security Team Successful with Automation

9 th CA 2E/CA Plex Worldwide Developer Conference 1

Wipro s Endur Test Automation Framework (W-ETAF) Reduces time and effort for the implementation and maintenance of an automated test solution.

Certified Automation Functional Testing Professional VS-1253

Test How to Succeed in Test Automation Björn Hagström & Davor Crnomat, Testway AB

Keyword Driven Test Automation Framework for Web Based Applications

Integrity 10. Curriculum Guide

Robby Green QUEST 2009

Question 1: What is a code walk-through, and how is it performed?

Information Systems. Software Engineering. MCQ - Part 2

POWERING DIGITAL MARKETING WITH SPEED AND REACH

Learn Well Technocraft

Change Detection System for the Maintenance of Automated Testing

Innovations in Test Automation When Regression Testing is Not Enough

Microsoft Windows PowerShell v2 For Administrators

Sample Exam. Advanced Test Automation - Engineer

A UVM Based Methodology for Processor Verification

ERP/CRM System Implementation Methodology

Mobile Test Automation is not Rocket Science! Baris

QA Best Practices: A training that cultivates skills for delivering quality systems

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

Tutorial to Building Automation Frameworksfor Web Services Testing

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

Programming Assignment IV

Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon)

Object vs Image-based Testing Producing Automated GUI Tests to Withstand Change

Techno Expert Solutions An institute for specialized studies! Introduction to Advance QTP course Content

Human Error Taxonomy

Sample Exam Syllabus

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

DEVELOPING WEB APPLICATIONS WITH MICROSOFT VISUAL STUDIO Course: 10264A; Duration: 5 Days; Instructor-led

UFT120 Unified Functional Testing 12.0 Essentials Instructor-Led Training For version 12.0

Cognizant Technology Solutions

Building a Customized Test Automation Framework Using Open Source Tools

Test Automation. Fundamentals. Mikó Szilárd

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

How & Why We Subnet Lab Workbook

Chapter 9. Software Testing

Structured Approach to Testing - Android in an Agile Environment

Crash course on Reporting Bugs

GoedelWorks Press release

Karnendu Raja Pattanaik and Narayanan Devasikamani May 29, Effective QA Methodology for Enterprise Storage

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model

Diploma in Software Testing (DST)

WHITE PAPER. Test data management in software testing life cycle-business need and benefits in functional, performance, and automation testing

UNIT-4 Black Box & White Box Testing

HP APPs v.12 Solutions for Dev-Ops

ANZTB 2010 Conference. Tuesday, 2 nd March 2010 Hybrid Keyword Data Driven. Frameworks by Jonathon Wright. Introduction ANZTB


Open2Test Test Automation Framework for Selenium Web Driver FAQ

The ROI of UI Toolkit Standardization

Mind Q Systems Private Limited

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

UNIT-4 Black Box & White Box Testing

Pearson Education 2005 Chapter 9 (Maciaszek - RASD 2/e) 2

Module 16. Software Reuse. Version 2 CSE IIT, Kharagpur

Microsoft Outlook Web App Options and Settings

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Chap 2. Introduction to Software Testing

SISG/SISMID Module 3

Numerical Methods in Scientific Computation

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

Computer Organization & Assembly Language Programming

UFT Introduction to Automation and QTP

3Lesson 3: Web Project Management Fundamentals Objectives

Universal Model Framework -- An Introduction

The Need for a Holistic Automation Solution to Overcome the Pitfalls in Test Automation

Integration With the Business Modeler


Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

UNIT-2 Levels of Testing

Systems Analysis and Design in a Changing World, Fourth Edition

Software Testing Tools

TestBase's Patented Slice Feature is an Answer to Db2 Testing Challenges

CS/ISE 5714 Usability Engineering. Topics. Introduction to Systems Analysis MENU. Systems Analysis

Secure Development Processes

Categorizing Migrations

Developing a Test Plan

OO Frameworks. Introduction. Using Frameworks

EARLY AUTOMATION APPROACH

Cross-Browser Functional Testing Best Practices

Up and Running Software The Development Process

Copyright 2013 by AGILOD Consulting, LLC. All Rights Reserved. Test Automation. Done The AGILOD Way

Analysis of the Test Driven Development by Example

Visual Design Flows for Faster Debug and Time to Market FlowTracer White Paper

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Transcription:

TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations Babu Narayanan

1. Candidates for test automation. One of the classical mistakes of the test automation team is: NOT choosing right test cases for automation. For any smart customer, the test automation scripts are only a support device to manual testing, NOT to bump off the later. In that case, the customer will be more focused on the return on investment (ROI) for each of test automation script built (as the initial investment is high!). So choose the tangible test cases to automate against each phases of development (and demonstrate the same to the customer). How to find good test case candidates? Sl. No Test Case Complexity Number of actions Number of verifications Good candidates (~ No of executions) 1 Simple < 5 < 5 > 15 executions 2 Medium > 5 - < 15 > 5 - < 10 > 8-10 executions 3 Complex > 15 - < 25 > 10 - < 15 > 5-8 executions Please be aware that step comprises of actions and verification points (or expected results as some spell). Mostly actions are direct method or function calls to test tool scripting language but the verification points are not of that kind. Why do you need phase-wise test automation? Most of the test automation projects fail which is mostly due to application rapid change, unsuitable test cases, shaky frameworks and/or scripting issues. Also it summarizes that test automation projects catch fewer defects than it is supposed to do. ** Mostly budget overrun than estimated. The root casual analysis showed us the necessity of phase-wise test automation than one-go test automation. So advice that test automation needs to kick off with critical test cases that are of good candidate type and then slowly branching out to other mediums as required. This solution helps the customer by lesser maintenance costs and more business for you. Also remember that framework needs constant updates along with script development process and thereby it becomes harder to maintain the framework incase if you have many scripts to develop in parallel. What test type to be automated? It is always good to script integration and/or system functional test cases as they mostly bundle component level test cases within them. This would reduce your effort further and find good defects (Yep! Of course, this is primary objective of any test automation project) too. Please note that if you have good framework, then you can change the test scope and/or test type using configuration files.

2. Factors that affects test automation estimation. The following factors may have varying impact on the test automation effort calculation exercise. Sl. No Type Factor Impact Remarks 1 Framework Availability High Good framework makes your scripting, debugging and maintenance easier. Do understand that framework needs continuous updating across the script development. 2 Application Repeat functionality High It is quite easier to automate incase the functionality repeats across the application (Recommend to use keyword driven in such cases, as you do not end up in writing more action/verification based methods). If NOT, then the effort of building libraries and/or scripts is more linear in nature. 3 Project Test Scope High If the complexity of application as well as the test scope is complex in nature, then it would consume huge efforts to automate each test case. 4 Test tool Support to AUT Medium The test tool to be used may not support some application functionality and may cause overhead. You may find it more difficult to get started with open source scripting and/or tools. 5 Scripter Skill Medium This costs project. The right skill packages of the scripter are very essential for any good test automation. If the customer NOT willing to provide the leverage on the estimate for this factor, do NOT forget to add the learning curve cost to the overall time. 6 Application Custom Objects Medium The number of custom objects in the automation scope matters as it becomes overhead for the test automation team to built and maintain the libraries for them. 7 Application Type (Web/ Client- Server / Mainframe) 8 Application Developed Language & Medium Medium Low For web application, any commercial test tool has amazing utilities and support. Otherwise, there are good possibilities that you need to spend huge effort in building libraries. It matters as selected test tool does not support specific verification checkpoints.

3. Grouping steps to determine complexity. This is an important exercise as it may draw wrong overall effort in spite of depth application analysis. STEP 1: Suggest finding number of actions and verifications points for each test case (that are in automation scope) and then draw a chart to find the average actions, verification points and then the control limits for them. So that the complexity derivation will be based on the AUT not based on the generic industry standards. Example, TC 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 STEPS 8 12 15 12 16 30 4 8 22 21 12 27 22 15 11 15 12 9 8 19 21 42 6 22 22 Step Count 45 40 35 30 25 20 15 10 Complexity Vs Step Count Series1 STEP 2: Based on the data chart, Average step count = 16 Lower control limit = 08 Upper control limit = 25 So the complexity can be grouped as:- Simple 7 steps Medium 8 steps -- 16 steps Complex 17 steps -- 25 steps 5 0 1 4 7 10 13 16 19 22 25 TestCase No

Recommendations: 1. Neither group test case steps too close, nor wide for labeling the complexity. Be aware that the pre-script development effort for each test script is considerable as the following activities are time-consuming operations:- 1) Executing test case manually before scripting for confirming the successful operation. 2) Test data selection and/or generation for the script. 3) Script template creation (like header information, comments for steps, identifying the right reusable to be used from the repository and so on.) These efforts are highly based on the number of steps in the test case. Note that if test case varies by fewer steps, then this effort does not deviate much but incase it varies by many steps even this effort widely differs. 2. Also another factor in determining the complexity is the functionality repetition. If the test case is Complex by steps but the functionality is same as the other test case then this can be labeled as Medium or Simple (based on the judgment). 3. If the test case steps count are more than upper control limit (~ 25 in this case) value then those additional steps need to be considered as another test case. For example, the TC - 06 containing 30 steps shall be labeled as 1 complex + 1 simple (30-25) test cases. If the test case is marked as Complex instead of Medium, understand that your efforts shoot up and hurts your customer. On other way of miscalculation, it hurts us. There by, this complexity grouping is more of logical workout with data as input.

4. Framework design & estimation. We have experienced a significant increase in software reusability and an overall improvement in software quality due to the application programming concepts in the development and (re)use of semi finished software architectures rather than just single components and the bond between them, that is, their interaction. - Wolfgang Pree [Pree94] There are many frameworks that are available commercially & as open-source which are specific to a test tool or wide-open. Also you find homebrew test automation frameworks too specific to test tools. These frameworks saves a lot of scripting, debugging and maintenance efforts but aware that the customization of framework (based on the application) are very essential. Characteristics of any framework: Portable, extendable and reusable across and within projects. Ease of functionality Plug-ins/outs based on application version changes. Loosely coupled with the test tool wherever possible. Extended recovery system and exception handling to capture the unhandled errors and to run smoothly. Step, Log and Error Information provide easier debugging and customized reporting facilities of scripts. Ease of test data driven to the scripts and they need to be loosely coupled. Easily controllable and configurable test scope for every test run. Simple and easy integration of test automation components with test management, defect tracking and configuration management tools. Please note that these efforts have wide range as the framework size and scope purely depends on application nature, size and complexity. It is always a good practice to create and/or customize the framework for initial needs and then add/ update components/ features and fine tune them as project goes. Be aware that wrong framework choice may cost your project. 5. Scripting Effort Estimation

SL.NO SUB COMPONENT Simple (<8 steps) ESTIMATED EFFORT Medium (8-16 steps) Complex (17-25 steps) REMARKS 1 Pre Script Development a Test Case execution (Manual) For 1 iteration (assuming scripter knows navigation) b Test data selection For one data set (valid/invalid/erratic kind) c Script Template creation Can use script template generation utility to avoid this. d Identify the required reusable Assuming proper reusable traceability matrix presence. 2 Script Development a Application map creation Assuming the no of objects = number of actions b Base scripting Normally all these go hand-in-hand. Separated for c Add error/exception handling analysis & reasoning. d Implement framework elements 3 Script Execution a Script execution For n iterations (~ average iteration count) b Verification & Reporting Assuming there will minimal defect reporting. Total Effort per script Keyword driven This total effort would vary if you choose key-word driven methodology but at the same time, the effort of building framework will be high (for initial design and scripting). Do not use keyword driven approach for small projects. These efforts may differ based on the above discussed (section 2) factors. Suggest you to perform PoC for 2 scripts from each class to confirm. The negative test cases normally consume additional script efforts as the pattern changes. Overall effort calculation may have the following components:- 1. Test Requirement gathering & Analysis 2. Framework design and development 3. Test Case development (incase the available manual test cases not compatible) 4. Script Development 5. Integration Testing and Baseline. 6. Test Management. All these components shall include review (1/2 cycles).