780 likes | 993 Views
The difference that makes the difference. Make your test automation project a success story. Magnus Nilsson Lemontree. Agenda. The Test automation concept Walkthrough of a test automation project Execution and maintenance of an automated solution Test strategy
E N D
Make your test automation project a success story Magnus Nilsson Lemontree
Agenda • The Test automation concept • Walkthrough of a test automation project • Execution and maintenance of an automated solution • Test strategy • Development of a Framework • Organizing your code
The test automation concept • Fundamentals behind test; a short review of • Lifecycle activities • Test levels • Test methods • Development models • Test automation and test objectives • Test automation success factors Test Automation Concept
Test as part of the lifecycleactivities Business process Architecture Project Requirement Test Maintenance Monitoring Development Test Automation Test Defect Management Design Release Concept
Connecting the activitiesTest levels • Unit test • System test • Integration test • Acceptance test Integration test Test Development Test Automation System test Test types • Functional • Non functional Acceptance test Unit test Concept
Connecting the activitiesTest methods • Black box • Testing delivered functionality • GUI test • White box • Testing internal structures • Code • Testing modules, classes, libraries, functions on code level Black box Test Code Test Automation White box Concept
Connecting the activitiesDevelopmentmodels • Waterfall • The lifecycle approach • Iterative • Planned repeated cycles • Agile • Iterative and development adaptive to changes • Practicing continuous Integration, CI • Scrum • Sprint-based development based on both on agile and iterative development methods Waterfall Development Scrum Test Automation Agile Iterative Concept
The challenge of test Testingmethods Test levels Integration Black box Code Acceptancetest Development Developmentmodels System test Agile test Test Automation Waterfall White box Test Unit test Concept
Test automation is all about unifying test. • Development • Increase code quality by implementing unit tests • Developmentmethodology TDD • Automatedbuilds, CI • Environment • Test environment creation • Test data management, TDM • Harness • Stubbing interfaces • Test • Scripted tests • Test interfaces • GUI • Performance Environment Automation Development Test Automation Test Harness Concept
The challenge of test, connecting… Testingmethods Test levels TDM Integration Black box Code Acceptancetest Development TDD Development models System test Agile CI GUI Test Harness Test Automation test Automation Waterfall White box Test automation Test Unit test Concept
Example 1 - Test harness • Enables test before interfaces exists or are available, agile development but also project delivery regardless development model System integration test System test Acceptance test Test Harness Test Automation Project 1 X X X Project 2 X Project 3 X Start SIT Concept Start AT Time Test harness Release Stableenvironment
Example 1 - Test harness • Each flow have a known expected result • Data driven solution • Includes test of functions, web services and interfaces Test Harness Calling system Test harness Simulated system Test Automation 1. Call service 2. Evaluate simulator rules 3.1. Fetch simulator response 3.2.1 Call live test system 3.2.2 Returnresponsetoharness 4.Return responsetocalling system Concept Calling system Test harness Simulated system
Test automation and test objectives • Test objectives depends on the testing level. But finding bugs is one of the main objectives. • A bug is • Wrong or missing requirement • Bad design or architecture • Coding error • Poor implementation • The objectives of test is to make sure none of the above takes place. Test Automation Concept
Test automation and test objectives • The automated solution must fulfill the test objectives • Input is functional requirements, design use cases and test cases. • Output is functional verifications interpreted as check points. Usecases Test objectives Test cases Test Automation Requirement Concept
Test automation success factors • Develop functional components • Decouple in- and output data from the script • Central data storage • Development project • strategy and • center of excellence • Combine components to test cases by actions as input data Functional components Test automation Central data storage Test Automation In-/outdata Project Concept
Test automation GUI – functionalcomponents External systems (with or without test harness) Calling system Credit check Billing Product Customer Configuration Account Login Test Automation Order Subscription Product Task Concept Inventory
Test automation GUI – input data • Eachcomponenthave a defineddegreeoffreedom • Population of mandatory data • Trigger ofvalidations Start customer form BusinessID Private customer? Populate business customer form no Test Automation CustomerType Business Name yes Customer Name Populate private customer form Validate Type Address Info Concept Completecustomer form and save Validate customer Next process
Test automation GUI – output data • Resultsofvalidations • Identification data Start customer form BusinessID Private customer? Populate business customer form no Test Automation CustomerType Business Name yes Customer Name Populate private customer form Validate Type Address Info Customer ID Concept Completecustomer form and save Customer Status Validate customer Next process
Test automation GUI – output data • Components arelinked by useofidentification data. • Output data from onecomponent is input data for anothercomponent Customer [create] Account [new] CustomerID Test Automation Concept
Test automation GUI – test cases Credit check Order Customer Test case 1: [create] [new] Login Account [new] Test Automation Customer [open] Billing Test case 2: Inventory Account [new] Login Subscription Concept
Test automation GUI – changes Credit check Order Customer Test case 1: ver 2.0 ver 1.0 [create] [new] Account [new] Login Account [new] Test Automation Customer [open] Billing Test case 2: Inventory Account [new] Account [new] Account [new] Login ver 1.0 Subscription Concept ver 2.0 ver 2.0
Buildingup the components • Functionalityavailablein system test • Developmentof the functionality as it comesavailable Func. 3 Phase 1 Phase 2 Func. 4 Test Automation Requirement Function 1 Function 2 Eachfunctionality is part of a component (or a componentitself) Function 1 Design and development Function 2 Concept Function 1 System test Func. 2
Buildingup the components • Systems ready • Testing relations offunctionalityRegression, E2E, Acceptance Function 1 Func. 2 Func. 3 Customer Phase 3 Phase 4 Func. 4 Test Automation Func. 3 Function 5 System test Func. 5 Func. 6 Func. 4 Regression test Function 1 Func. 2 Function 3 Account Func. 2 Func. 4 Concept Function 1 Function 1 Function 5 Func. 6 Function 5 Func. 6
Example 2 - Agile Automation Development Release Iteration 3-4 weeks Agile Test Automation Requirement Requirement Test Design Concept D. Sprint release A. Product backlog B. Sprint backlog C. Sprint with automation
Example 2 - Agile Automation sprint schema Sprint 2 Sprint 0 Sprint 1 Requirement Function 1 Function 3 Function 2 Function 4 Function 5 Function 1 Function 3 Design and development Function 2 Function 4 Test Automation Function 1 Function 3 System test Func. 2 Func. 4 Regression test Function 1 Concept Function 2
The test automation concept • Lifecycle activities • Test levels • Test methods • Development models • Test automation and test objectives • Test automation success factors COVERED Test Automation Concept
Agenda • The Test automation concept • Walkthrough of a test automation project • Execution and maintenance of an automated solution • Test strategy • Development of a Framework • Organizing your code
Walkthrough of a test automation project • Project activities • Project plan - phased implementation • Project organisation • Business case and followup Walkthrough Project
Test automation project - activities • Analysis • Design • Requirement • Development • Test • Documentation • Training • Execution Customer Customer Customer Order Order ? Customer ? ? Product Product Product Product ? Walkthrough ver 1.0 ver 1.0 ver 1.0 ? Order Order ? Project ver 2.0 ver 2.0 ver 2.0
Project plan – phased implementation Phase 1 Analysis Detailed design Development System test Walkthrough Acceptance test Plan nextphase Phase 2 Week Detailed design Development Project
Project organisation - Userolestoenforcecompetence Test Automation Center Automation Project Lead Project C Project B Project A Automation stakeholder Automation stakeholder Automation stakeholder Automation stakeholder Subject Matter Expert Subject Matter Expert Subject Matter Expert Automation Solution Architect Automation Analyst Subject Matter Expert Walkthrough Automation Engineer Project
Project organisation - Test automation center Business Objectives Strategy Management Organization Template Routines Processes Development Walkthrough Execution Maintenence Project
Test automation center Management Test management Release management Project planning Defect and Issue Management Change request Communicating Reporting Plannedactivities Resolution Supplier TAC Service Management Operations Project A Project B Project C Request Maintenance ST SIT AT Result TAC Maintenance TAC Development TAC Execution
Business case • Why do we need a business case? • Test automation cost time and money • The automated solution must at least ensure the time spent in development, maintenance and execution is less than a manual solution would cost to accomplish the same goal. • What is a test automation business case? • List of all costs and savings associated with test that possibly can be covered by test automation. • Not all drivers are possible to calculate directly as quality. But quality can be expressed as an estimation of the number of testing hours to ensure the desired level of quality. • Additional test automation drivers as repeated executions is calculated indirectly as increased quality. • Howcan a business case be used? • Business case can be used to predict effectiveness as automation deliveries should follow the calculated schedule. • ROI should be calculated at regular audits based on the business case. Walkthrough Project
Business case Total test caseexecutionsper cycle 1000 Cost for manual regression tests Numberof test cycles 4 Executiontime per test, h 0.5 Executioncost per hour 100 Annual cost for execution of regression test 200000 Cost for error handling AT Production Error source Number of errors found per year 1000 500 Handling time per error (report, reproduce, administer, test data, close defect) 4 2 1 Number of FTE's for error handling per year 2 Error handling cost per hour 100 100 200000 Annualerror handling costs 200000 Annual error correction costs for errors 0 100000 External and business costs for errors Cost multiplier for Production Errors 2 Business costs for productions errors1) 400000 Grand total 1100000 1)Goodwill, compensation, customer service, SLA, penalties, handling costs etc. Multiplier based on 20% of the lowest industry rule of thumb factor: cost for finding errors in production is 10-100 times the cost for finding them in test
Business case Reduction ratio Annual reduction/cost Description Acc reduction Savings - Manual Test Labour Year 1 60% 120000 120000 260000 Year 2 70% 140000 420000 160000 Year 3 80% 90000 90000 Year 1 10% Savings - Error Reduction 270000 Year 2 20% 180000 Year 3 30% 540000 270000 Walkthrough Phase 1 100000 Implementation Cost (Year 1) Phase 2 70000 Phase 3 70000 Year 1 proj support, SME 50000 Operational costs (running) 60000 Year 2 TAC OP Project 60000 Year 3 TAC OP Acc savings Year 1 -80 000 -80 000 Total savings Year 2 260000 180000 Year 3 370000 550000
Business case – followup Phase 1 Analysis Walkthrough Week Detailed design Development System test Acceptance test Test cases Plan nextphase Project Planned Delivered Phase 2 Detailed design Week Development
Test automation strategy • Description of the standard approach on how to use the tools • Company specific set of rules on how automation should be done • Generic solution that is not dependent on individuals • Maintenance focused • Encapsulated by test automation centre • Enforced by framework • Ensured by the automation project Walkthrough We will now go through the test automation project Project
Analysis and design • Evaluation • Scope • Analysis • Analysis based on existing documentation, test cases, use cases and requirements (static test review) • Provides the prioritization to a analysis structure template • Disposition • Decision making: if we go live what does and does not work? • What business processes are working and not working or not tested? • Often details on number of test cases passed and failed on integration and system level is not vital • Defect status itself often only aids prioritizing of resources/focus • Structure • Common and clear reporting on a level that enables correct business decisions • Structured test design and coverage analysis • Will control the test automation deliveries • Used in test management to create common priorities for both manual and automated tests • Implementation • After the analysis and approved structure design, the structure may be implemented using available tools in HP QC/ALM Walkthrough Project
Analysis and design - evaluation • Value • Part of business case, added value by the test case, frequency and time to execute • Stable • Can the stability be impacted by sources out of control? • Test data • Is all test data needed defined or is a manual process involved? • Reusability • Can the business flow be reused in the automated component solution? • Well defined • Is the business flow well defined and no manual decisions needed? • Fully automated flow • No manual interventions needed? • Maturity • Is the functionality in maintainable where only the test data may be changed? • Defect frequency • Are there a lot of issues in the functional area? Walkthrough Project
Analysis and design - the evaluation star Value Defectfrequency Stable Prio 1 test case Prio 2 test case Test data Walkthrough Maturity Project Fully automated flow Reusability Welldefined
Analysisstructure- disposition • what is the system used for? • how is it done? • which are the requirements on process level? • which data conditionsare covered by use cases? Usecase Process Requirement Example Walkthrough Data condition 1 Mobile subscription Data condition 2 Web selfcare New Project Free surf Free SMS
Analysisstructure- disposition Usecases/product Requirements Customer Account Subscription Folder area Process Description Prio Create Terminate New Modify Cancel New Walkthrough Sales Web shop 1 1 3 1 10 Web selfcare Customer operations Sales CRM 1 3 1 1 3 1 15 Sales Device App 2 3 Sales Device Online 2 1 1 1 Product configurations Product Inventory 1 Project
Requirement and component design - refresh • All processes requires several components to enable E2E automation • Each component mainly automates one business process or interface • Validations may be performed in interfacing systems • A component may be developed in iterations • Components are used together – keyword driven • Components handle unlimited data conditions – data driven • Map which processes require which components Walkthrough Project
Requirement and componentcoverage Components CRM Requirements Web Shop Customer Account Customer Folder area Requirement Process Data condition Test case Test case Prio Create Terminate New Modify Cancel Create Web selfcare R1.1 Create Customer TC23 Walkthrough Sales 1 X Customer op R2.3.4 Create Customer TC12 Sales 1 X Customer op R2.4.1 Terminatecustomer TC1 Sales 2 X Create bank account Customer op R4.1.1 TC45 Sales 2 X X Customer op R4.1.1 Createinvoiceaccount TC6 1 Sales X Project
Coverageanalysis and status report • Subscriptionrequirement not completelycovered • New subscriptionrequirementcovered by web selfcare Status Not covered No run Not completed Failed Passed 1 Subscription 4 1 5 1 Customer operations 1 3 1 New 2 1 Not completed Modify Failed 1 1 1 Cancel 1 Not covered 3 Web selfcare 3 0 New 0 3 Passed
Coverageanalysis and status report, HP ALM • Coverage in ALM • Test either • manual, • automated or • business component Walkthrough Project
Component design template • Coverage • Covered test cases and requirements;Requirement and componentcoverage • Component description • Prerequisities • Data • Environment • Design description • Component type • Flow/usecasedescription • Detailed steps • Data table • Input/output data • Verification element Walkthrough Project
Component data table Fieldname Input/output Mandatory/optional Description Entity linked from previous component O LinkEntity_In In M FirstName In First name of customer M In Family name Walkthrough FamilyName M In Private or Business OfficialName Business ID will be validated if provided BusinessID O In Out CustomerID_Out N/A The created CRM customer ID Project Out Scriptstate_Out N/A Status of execution