PREDICT Model for Test Automation. Does it sound familiar to you? Organization has procured test automation tools Management expectations are high Multiple.

Slides:



Advertisements
Similar presentations
© Copyright 2007 Exempler Telecom Test Automation System Exempler - We pride ourselves with providing lightweight robust engineering solutions.
Advertisements

The 4 T’s of Test Automation:
Making the System Operational
Designing Reusable Frameworks for Test Automation
Test process essentials Riitta Viitamäki,
Test Automation Success: Choosing the Right People & Process
Trnsport Test Suite Project Tony Compton, Texas DOT Charles Engelke, Info Tech.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Test Automation An Approach to Automated Software Regression Testing Presented by Adnet, Inc Feb 2015.
Alternate Software Development Methodologies
ITIL: Service Transition
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Introduction to Software Testing
Understanding of Automation Framework A Storehouse of Vast Knowledge on Software Testing and Quality Assurance.
“GENERIC SCRIPT” Everything can be automated, even automation process itself. “GENERIC SCRIPT” Everything can be automated, even automation process itself.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
September 2009 QTP Automation Framework. Objective  Introduction to Automation  Benefits of Automated Testing  Automated Testing Process  Introduction.
NYC Technology Forum Introduction to Test Automation 11/2/07 All rights reserved Not to be reproduced without permission Bill Rinko-Gay Solutions Director,
Data Structures and Programming.  John Edgar2.
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
Effective Methods for Software and Systems Integration
Continuation From Chapter From Chapter 1
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automation Fundamental Concepts &
UML - Development Process 1 Software Development Process Using UML (2)
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
Managing Software Quality
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Implementation and Testing
An Introduction to Software Architecture
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Winrunner Usage - Best Practices S.A.Christopher.
Identify steps for understanding and solving the
May 29 th, 2003 Curtis Anderson Sivaprasad Padisetty.
Exploring an Open Source Automation Framework Implementation.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Microsoft Office Project 2003: Selling EPM in your Organization Matt Wilson Business Solutions Specialist LMR Solutions.
SYSTEM TESTING AND DEPLOYMENT CHAPTER 8. Chapter 8: System Testing and Deployment 2 KNOWLEDGE CAPTURE (Creation) KNOWLEDGE TRANSFER KNOWLEDGE SHARING.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
The principles of an object oriented software development process Week 04 1.
Software Development Life Cycle (SDLC)
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
CS223: Software Engineering Lecture 4: Software Development Models.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Process 4 Hours.
CASE Tools and Joint and Rapid Application Development
Understanding of Automation Framework
Computer Aided Software Engineering (CASE)
Automation – “A Critical Component of Agile testing”
Applied Software Implementation & Testing
Introduction to Software Engineering
Advantages OF BDD Testing
Introduction to Software Testing
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Tomaž Špeh, Rudi Seljak Statistical Office of the Republic of Slovenia
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Presentation transcript:

PREDICT Model for Test Automation

Does it sound familiar to you? Organization has procured test automation tools Management expectations are high Multiple test automation project initiatives started Enthusiasm, commitment and motivation declined with time Script maintenance had become a significant challenge Test automation tools are back on shelf

Testing and test automation requires same skills Capture/Replay is a successful test automation approach Test automation is an integral part of the over all test process Test automation is effective in solving regression testing issues Every test and test type can be automated Test automation development is software development Test automation projects can be delivered by personnel with strong project management skills Spot Quiz

Essential building blocks for successful test automation solutions Test automation solution approach

PREDICT Model Rationalize Estimate Design Implement Consolidate Transition Plan

PREDICT Model Structured methodology Multi stage process consisting of seven components Plan Rationalize Estimate Design Implement Consolidate Transition Step-wise approach Easy to apply

PREDICT Model - Plan Rationalize Transition Plan Estimate Design Implement Consolidate

Need for test automation project What do you consider to start a project ? Test related checks Objective Scope Documentation Test ware Organization related checks Investments Expectations Resource availability Technology related checks Stability of SUT Test tool suitability

Need for test automation project Are you getting bang for your buck ? Costs Licensing Framework Implementation Maintenance factor Benefits Saved manual effort per test run Number of test runs Re-usability factor Amortizing benefits Life cycle of the application/product Opportunities for test automation

Plan of approach Introduction Objective Pre-requisites Set-up pilot project Activities Planning Deliverables Organization Resources

PREDICT Model - Rationalize Rationalize Transition Plan Estimate Design Implement Consolidate

How do we rationalize requirements ? 5 P factors –Project –Process –Product –People –Price Test suite attributes Building trade-offs based on project context

Project Objective and scope Clear objectives in terms of time, money and quality Strategy Test automation strategy fitment with manual testing strategy Build Build frequency Configuration management Bad experiences User interface Stability Cycle time Regression possible

Process Quality documentation Manual test scripts, documentation Development approach Phases clearly defined, how early can test automation start Test practice New builds tested before delivering to QA Regression moments Naming conventions User Interface conventions

Product Stability Base platform stability Testability Degree of interaction between the tool and product under test Test tool integration Integration between test management tool and configuration management Test oracles Interaction with non UI components,database Automation framework Availability of frame work to reuse

People Organization readiness Management expectations Resource availability Machine, Licenses and people with right skills Non- programming resources Framework inclined towards non-programming resources QA population Ratio of development to QA Collaboration Collaboration between QA and Dev Technical skill set Test engineers with technical skills

Price Return on Investment Opportunities of reusing test automation investment Reusability of Investment Are there any products which are tested in a similar way Business Plan Is there a business plan to realize benefits of Test Automation

Test suite attributes Maintainability Reusability Reliability Usability Portability

Which is best test automation regime ? IT DEPENDS ON THE PROJECT CONTEXT

PREDICT Model - Estimate Rationalize Transition Plan Estimate Design Implement Consolidate

Test automation estimation challenges Test organization maturity Scope of requirements Framework Skill level Test case complexity Domain complexity Test tool Testability

Estimation techniques Delphi Gather estimates from each team member Ask high and low estimator to explain estimates Repeat twice, then use average Three point method Have team estimate best, worst case and expected case Use expected case Variances between best and worst useful to gauge estimate accuracy

Work Break down Structure

Risk categories Technical Test tool Application/product Communication

Risk management

PREDICT Model - Design Rationalize Transition Plan Estimate Design Implement Consolidate

Test suite design issues Testability Test suite design patterns

Testability considerations Tools Design Naming Conventions Exception & Error Handling Timing issues Logging Visual Cue Processes & Documentation

Record/Play back Functional de-composition Key-word Driven User Interface-driven Model-based Test automation development approaches

Advantages Useful in determining how the tool interacts with the application under test Provides initial ideas on how to develop test scripts Useful while Playing around with the tool Disadvantages Test scripts contains hard-coded values Un-reliable scripts : Any small change in the application results in not being able to replay Maintenance costs are astronomical Not viable & cost-effective Record & Playback

Reduces test scripts into their fundamental tasks Driver Scripts : Initialization, Calling scripts in a desired order Generic scripts : General,Application specific,Navigation,Data verification,Reporting,logging etc… Business Function Scripts : Re-usable Business functionality,Makes calls to Generic Scripts Test Script : Test Logic, Makes calls to Business Function Scripts and Generic Scripts Test data and logic are separated Hierarchical structure is employed : Modular design Each test script unique data file Functional decomposition

Test Director Reports Test Scripts Generic Library Business Library Test Scripts Environment Configuration Stored ProcObject Repository Technical Architecture

Functional decomposition: Analysis Advantages Modular design : Reduces redundancy and duplication of efforts Test data input & output stored in a single data file : Easy maintenance Scripts can be developed whilst application development is in progress : Generic Scripts Single point maintenance is possible using Business Function scripts Scripts can return TRUE (or) FALSE to the calling scripts. This makes it easy for Error Recovery & un-attended test execution Assemble tests on demand Disadvantages Proficiency in the TSL Complex test data file management

The test script is represented as a set of key-words in a spread sheet Examples of Key-words are start_test, Initial window,Url,Input,Verify etc.. Driver Script Performs the initialization as required Driver Script Reads and processes the file name(s) of the test scripts Driver Script Matches the Key Words contained in the file Driver Script invokes Business Function & Generic scripts Report the return values back The entire process is data-driven Key-word driven

Advantages Preserves most of the advantages of the Functional decomposition method Very similar to documenting manual test script Minimal programming knowledge is required to write and execute test scripts Return on investment can be achieved quicker than other methods in most of the cases Re-usability significantly increases over a period of time Test script development is possible with out a functioning application Disadvantages Investment in initial frame work Training might become tedious Key-word driven - Analysis

Generic Scripts Keyword Driven Test Cluster Business Function Script4 Reports Driver Script Business Function Script1 Business Function Script2 Business Function Script3 GUI Map Technical Architecture

Abstraction of test structure: Test set Test case Test step Test action Key-words are identified based on the application under test Test steps are created using user interface Test set management (Creation/execution) Test set Test case Test step Test action User interface driven

Automation Framework Recording Engine Script Generation Module APPLICATION User Interface Test Test Script XML Object Repository Object Creation Module Execution Engine Win Runner/QT P/Silk Test/… Library Structure Technical Architecture

Advantages Preserves most of the advantages of the previous methods Insulates tests both from the changes of the application and failings of test automation tools Zero-programming required Return-on-investment is very high Re-usability significantly increases over a period of time Robustness and maintainability is high Partly application independent Minimal learning curve Challenges High initial investment in creating framework Functioning application needed User interface, Model driven - Analysis

Test Case Generator (In key words) Keyword Translator engine (Test tool specific) Automated Test Scripts Test driver generator Behavior modeler Requirements (UML) Win Runner Silk Test Other test tools Model Driven

PREDICT Model - Implement Rationalize Transition Plan Estimate Design Implement Consolidate

Test automation implementation issues Team structure Work allocation Coding guide-lines and check lists Peer reviews Test runs Integration Configuration management

Work allocation

Coding guidelines and checklist

Reviews

Building integrations Test Script1 Test Script2 Test Script3 Call Test Script1() Call Test Script2() Call Test Script3()

Configuration management : VSS

Test execution Test suite execution check-lists are used Test Execution A separate test environment is prepared Fresh test data in test DB Fresh test data in Application DB Tests are executed Test suite execution issues & root cause analysis is documented Report Test Results Update test scripts if needed

Test execution log

PREDICT Model - Consolidate Rationalize Transition Plan Estimate Design Implement Consolidate

Update scripts and test data Complete documentation (User Manual, installation Guide and maintenance guide) Freeze & archive test suite Professionally packaged shippable test suite Easy distribution mechanism Activities in consolidation

User manual

Professional packaging

PREDICT Model - Transition Rationalize Transition Plan Estimate Design Implement Consolidate

Acceptance test runs performed Knowledge transfer to the user groups Gain feedback from the field Prepare for maintenance and sustenance Up-gradation plans Discussion for next project Transition process

Successful test automation projects require mature test automation leadership skills Test automation projects should be treated like a development project Understanding PREDICT Model Challenges, issues, tips and tricks in applying PREDICT model Wrap up