HOW TO IMPLEMENT EFFICIENT TEST AUTOMATION IN AN AGILE PROJECT

Similar documents
Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Agenda Polteq 1. ie-net 11 juni 2013

ALM/Quality Center. Software

Perfect Your Mobile App with Load Testing and Test Automation

BDD FOR AUTOMATING WEB APPLICATION TESTING. Stephen de Vries

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

Challenges and Pains in Mobile Apps Testing

Agile Web Application Testing

QA & Test Management. Overview.

Good Agile Testing Practices and Traits How does Agile Testing work?

AGILE SOFTWARE TESTING

Better Software Though Expertise, Collaboration & Automation. BDD, DevOps and Testing

Agile Test Planning with the Agile Testing Quadrants

Using Story Points to Estimate Software Development Projects in the Commercial Phase

Behave! - Behavior Driven Development IPC 2013 SE. Tobias Schlitt (@tobysen) June 5th 2013

Latest Trends in Testing. Ajay K Chhokra

A Lightweight Semi-automated Acceptance Test-Driven Development Approach for Web Applications

TESTING FRAMEWORKS. Gayatri Ghanakota

WEMS IT User Group. Mark Brodziak: Solutions Architect John McLean: Project Manager Gary Wade: IT Consultant. 20 March 2015

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

Quality Assurance/Testing Services

A Database Re-engineering Workbench

Most of the security testers I know do not have

Integrated methodology for testing and quality management.

BDD in Action. Building Software Right Building the Right Software

Agile Development c/w Continuous Integration and Testing

Web UI & Functional Test Automation for Continuous Agile Deliveries

Business white paper. Best practices for implementing automated functional testing solutions

Search help. More on Office.com: images templates

MagenTys Testing Services Page 2

Chapter 5. Regression Testing of Web-Components

Functional Test Plan Template

Secrets to Automation Success. A White Paper by Paul Merrill, Consultant and Trainer at Beaufort Fairmont, LLC

Behavioral Driven Development with Behat

Making Test Automation Work in Agile Projects

DURGA SOFTWARE SOLUTUIONS,S.R NAGAR,HYDERABAD. Ph: , Abstract

STUDY AND ANALYSIS OF AUTOMATION TESTING TECHNIQUES

DevOps for CA Plex Automated Testing

Integration of an open source rule engine to enhance the IHTSDO Workbench testing

WHITE PAPER: STRATEGIC IMPACT PILLARS FOR OPTIMIZING BUSINESS PROCESS MANAGEMENT IN GOVERNMENT

Spiel. Connect to people by sharing stories through your favorite discoveries

Instrument Software Update Instructions. Keysight X-Series Signal Analyzers (PXA/MXA/EXA/CXA) Upgrading an older version to A.12.

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Domain Specific Languages for Selenium tests

Put the World s Premier Magento Experts to Work for You

Automating Functional Tests Using Selenium

Siemens HiPath ProCenter Multimedia

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

You ll need to have: It d be great if you have:

Website design & development process

The goal with this tutorial is to show how to implement and use the Selenium testing framework.

Step 2 Go2Group Automation Self Assessment

Introduction to HCM Processes and Forms

BDD DPC 2014 Tutorial

coresuite ecommerce 24h shop in the web

Quality Assurance Checklists for Evaluating Learning Objects and Online Courses

Guide to Mobile Testing

QTP Open Source Test Automation Framework Introduction

Adopting Agile Testing

Axe in the Agile World

Enterprise Asset Management System

Customer Bank Account Management System Technical Specification Document

Workflow based performance testing. Suresh Srinivasan

automated acceptance testing of mobile apps

Open Source in Mobile Test Automation. Ru Cindrea - Altom ru@altom.ro

APPROVING WSU E-Forms

Agile Best Practices and Patterns for Success on an Agile Software development project.

HP Application Lifecycle Management

MarkLogic 8: Samplestack

DevOps for the Mainframe

Designing a Software Test Automation Framework

V-Requester Add-in for Microsoft Outlook

"Testing in the DevOps World of Continuous Delivery"

MOBILE APPLICATION TESTING ENGINEER

Bridging the Gap Between Acceptance Criteria and Definition of Done

Test Automation Framework

Introducing. automated functional testing of mobile apps. Karl Krukow, CTO, LessPainful GotoAMS, May, 2012

An Overview of Agile Testing

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager

Sandesh Prasanna Kumar

Rational Quality Manager. Quick Start Tutorial

Business white paper. Survival guide for testing modern applications

Digital Curation Tools: Metadata Enhancement with Selenium IDE

Web Testing. Main Concepts of Web Testing. Software Quality Assurance Telerik Software Academy

Building Lab as a Service (LaaS) Clouds with TestShell

SOA REFERENCE ARCHITECTURE: WEB TIER

Tips for writing good use cases.

Case Study: Using Jenkins to Build WebSphere Portal Applications for the Enterprise. #jenkinsconf. Jenkins User Conference Boston #jenkinsconf

Power Tools for Pivotal Tracker

Software Automated Testing

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

A Comparative Study of Database Design Tools

Design of Acceptance Test Process with the Application of Agile Development Methodology

Model-based Automated GUI Testing For Android Web Application Frameworks

AGILE TESTING PRACTICES Building quality in for faster releases

IF The customer should receive priority service THEN Call within 4 hours PCAI 16.4

CloudBees Continuous Integration and Test with Appvance Enterprise August 28, 2013 Frank Cohen, (408)

Testhouse Training Portfolio

Transcription:

Talented Together HOW TO IMPLEMENT EFFICIENT TEST AUTOMATION IN AN AGILE PROJECT Agile Business Conference, October 2014 Lukasz Grabinski & John O Hare 1

CONTENTS 1 The Client & the Project 2 Application Overview 3 Implementing Automation 4 Tools, tools, tools 5 Evolution (DSL, Data, Structure) 6 Making the Process Work 7 Q&A 2

THE CLIENT & THE PROJECT Business Background Our client provides financial support to students, providing loans and non-repayable grants for living, studying and tuition costs. Smooth on-line loan application process is essential: Aligned with the Government s Digital by Default strategy. Positive experience for students. Process of managing loans is extremely complex. Project Background Existing web portal was confusing for customers, with each loan application on average resulting in 3.6 calls to the call centre for additional support. Cost of avoidable contact was 2.9 million per year Customer satisfaction was measured at 64% dissatisfied. Move towards modern service provision via the development of a new customer web portal. Aim is to drive traffic away from the call centre towards fully capturing applications on the web. 3

APPLICATION - OVERVIEW Web portal to create, manage, submit and track application with captured customer data Multiple screens Many paths throughout the application process Various data capture from simple Yes/No to complex recursive data objects Integration with multiple legacy systems through web services High focus on the usability and user experience aspects 4

IMPLEMENTING SUCCESSFUL AUTOMATION People Context Processes Tools 5

PLANNING AND ARCHITECTURE Test Automation is software too: Set clear objectives: How much do you want to automate? API? Front end? Full end to end? How is it going to compliment other testing areas like unit tests, manual exploratory testing? What about the level of component/system/integration automation Consider project aspects: Design: Profile of your team - especially developers and testers, Projects aspects : Is it front end heavy? Complex business rules? Timescales, environments, etc... Framework does not mean complex and high up-front cost, it means fit for purpose yet flexible design, Think about users - test automation should focus on the most repetitive tasks and give testers more time to design tests/exploratory testing, How are you going to manage test data? 6

TOOLS, TOOLS, TOOLS Gherkin Cucumber Java Selenium Pickles Agile BDD Jenkins CI SVN 7

EVOLUTION: DSL - YOUR FRIEND OR ENEMY? Before: No upfront DSL design led to over 600 step definitions, causing: Minimal reuse of the existing steps/code Lack of clear understanding what step does and how No practical use of the tests as documentation of system to business High cost of step implementation Difficult maintenance and increasing technical debt in the test code After: Core of ~30 designed, parameterised steps used in 95% of the tests Easy test creation using steps as templates with parameters published in the project wiki Clear understanding what to expect from the step Tests useful for the analysts, testers, developers and business High reusability Test automation effort reduced several times over Allow to use defined (business journeys) or explicit data (component/system tests) Limited number of additional, component test focused steps 8

DSL EXAMPLES: Before: I click Next button Button Yes has been clicked I have clicked Save button I use the previous page link After: I click the (.*) All available buttons and links published on wiki New elements easy to add to the mapping table (abstraction layer) 9

EVOLUTION: DATA DRIVES TESTS OR YOU CRAZY? Before: No test data design or approach, causing: Complex and difficult to understand scenarios High duplication of steps in test scenarios Difficult test data management Reduced coverage of tests After: Test data designed and stored as persona concept Persona s data leads to user story or specific test path with desired data Short and concise scenario 2 steps to get to any point in the application process Easy data management Higher coverage at lower cost Faster test execution ability to create application with required data through web services allow direct jump to page directly rather than using Selenium 10

DATA EXAMPLES: Before: I login as user JOHN SMITH I answer X for the first question I enter A data I answer Y for the second question I enter B data I click Next button My first question data is A My second question data is B My third question data is C After: I am logged in persona JOHN SMITH on page X I have completed page Y until and including question Z My first page data is persisted 11

EVOLUTION: ID ENTIFY YOUR PAGE ELEMENTS Before: No abstraction from maze HTML ids, causing: Difficult test creation Confusing test scenarios and thus system documentation More complex and less readable tests After: Mapping abstraction layer from HTML id (part id) to a name Meaningful name of the component be it a button, field or an error message Clear to understand tests and thus system documentation Easy to manage and update Single place no confusion where to look for 12

EVOLUTION: STRUCTURE YOUR TESTS Before: No clear structure and purpose for the tests, causing: Difficult test management Duplication of scenarios across tests Missed crucial scenarios Tests as documentation difficult to use by business After: Split into Journey, Page and Component tests. Journey tests are user story related scenarios - UAT if you like - taking persona for a journey through the full or part of the application process Page tests are classed as system tests, providing more detailed coverage for the specific page, business logic or data handling Component tests are focused on specific components of the application such as numeric data capture field or address capture, providing most detailed coverage Clear view what tests are required and what level of coverage are to be achieved Easier test scenarios / execution management and partitioning 13

MAKING THE PROCESS WORK 14

QUESTIONS / ANSWERS 15

Team name Lukasz Grabinski +44 (0) 131 332 3311 John O Hare +44 (0) 131 332 3311 Sopra Orchard Brae House 30 Queensferry Road Edinburgh EH4 2HS www.sopra.com 16