There is an A for everything Theoretical side of things Definitions Vocab ISTQB Good practices Things to remember Lessons to learn Practical (realistic.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

Performance Testing - Kanwalpreet Singh.
Designing Reusable Frameworks for Test Automation
PREDICT Model for Test Automation. Does it sound familiar to you? Organization has procured test automation tools Management expectations are high Multiple.
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Chapter 10: Designing Databases
Five Steps in 5 Minutes Close deals faster, more easily, more often! 1.Start a Quote: Input deal amounts and review the available lease options 2.Create.
COM vs. CORBA.
Programming Paradigms and languages
Apache Struts Technology
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.
Automation Testing Presentation Phil Hunter Phil Hunter - Automation Presentation 1.
WebDynpro for ABAP Short introduction.
Proposal 13 HUMAN CENTRIC COMPUTING (COMP106) ASSIGNMENT 2.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
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.
6 th Annual Focus Users’ Conference Application Editor and Form Builder Presented by: Mike Morris.
© 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.
Test Automation Best Practices
NYC Technology Forum Introduction to Test Automation 11/2/07 All rights reserved Not to be reproduced without permission Bill Rinko-Gay Solutions Director,
Automation Repository - QTP Tutorials Made Easy The Zero th Step TEST AUTOMATION AND QTP.
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
Configuring Task Scheduler Lesson 9. Skills Matrix Technology SkillObjective Domain SkillDomain # Understanding Task Scheduler Configure and manage the.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
UNIT-V The MVC architecture and Struts Framework.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automation Fundamental Concepts &
Classroom User Training June 29, 2005 Presented by:
Denise Luther Senior IT Consultant Practical Technology Enablement with Enterprise Integrator.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 12.
AQS Web Quick Reference Guide Changing Raw Data Values Using Maintenance 1. From Main Menu, click Maintenance, Sample Values, Raw Data 2. Enter monitor.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
New Features in Release 9.2 (July 27, 2009). 2 Release 9.2 New Features Updated Shopping Experience Home/Shop page Shop at the top search New Hosted Supplier.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Instructors begin using McGraw-Hill’s Homework Manager by creating a unique class Web site in the system. The Class Homepage becomes the entry point for.
Exploring an Open Source Automation Framework Implementation.
CSE 219 Computer Science III Program Design Principles.
Session Objectives • Login to PeopleSoft Test Framework(PTF)
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
0 eCPIC Admin Training: Automating User Account Management These training materials are owned by the Federal Government. They can be used or modified only.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
TTCN-3 MOST Challenges Maria Teodorescu
Test Creation in QuickTest Professional Using Keyword Driven Methodology A Storehouse of Vast Knowledge on Software Testing.
Model View Controller MVC Web Software Architecture.
1 Presentation Title Test-driven development (TDD) Overview David Wu.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Testing Spring Applications Unit Testing.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Quick Test Professional 9.2. Testing Process Preparing to Record Recording Enhancing a Test Debugging Running the Test and Analyzing the Results Reporting.
LOGIN PAGE Login Page Support CRM:
Perfecto Mobile Automation
Learning Aim C.  In this section we will look at how text, tables, forms and frames can be used in web pages.
Python: Building Geoprocessing Tools David Wynne, Ghislain Prince.
Software Engineering “Practical Approach”
TEST AUTOMATION IN BDD WAY
Continuous Integration (CI)
Software Testing.
Understanding of Automation Framework
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Advantages OF BDD Testing
iCIMS 17.3 Release: Highlights
How to automate software with
Lecture 1: Multi-tier Architecture Overview
Test Cases, Test Suites and Test Case management systems
Presentation transcript:

There is an A for everything Theoretical side of things Definitions Vocab ISTQB Good practices Things to remember Lessons to learn Practical (realistic ) side of things Activities and their benefits Examples 1

Test Automation Frameworks Roxana Cracana December 4 th, 2013 Summary : Define test automation framework Types of automation frameworks Create your own framework Focus Points Layer your framework 2

A set of assumptions, concepts and practices that constitute a work platform and support for automated testing. What is a Test Automation Framework? Is responsible for: Creating a mechanism to hook into or drive the application under test Creating methods to automate test cases Defining the format in which to express input data and expected results Executing the tests Reporting results Properties: Correct and complete Reliable Reusable Scalable Easy to use Easy to maintain Fast 3

Types of automation testing frameworks Linear Modular Data Driven Keyword Driven Hybrid Test Driven Development Behavior Driven Development Agile Frameworks Automation Testing Frameworks 4

Record and Playback is not an framework What is… Capture interaction with system and replay it Popular approach among commercial automation tools Advantages Very easy and fast to create initially No programming skills needed Easiest way to learn the features of the testing tool Disadvantages Does not test anything unless checkpoints added Very fragile – often single change in UI can break all tests No modularity or reuse Hard to maintain 5

Linear testing framework What is… Non-structured scripts interact directly with the SUT Also produced by capture and replay tools Advantages Fast way to create script Automation expertise not required, just tool knowledge Disadvantages No modularity or reuse Test data is hard coded into the script Very fragile – one change in the system may break all scripts Plenty of separates scripts Never a good basis for large scale automation SUT Test script 1 Test script 2 6

Modular testing framework SUT Test script 1 Test script 2 Test library Test method 1 Test method 2 Test method 3 What is… Interaction with the SUT done by functions in a test library Advantages Higher level of code reuse Easier script maintenance Disadvantages Building test library requires initial effort: takes time and programming skills Test data embedded into scripts 7

Data-driven testing framework SUT Test Data 1 Test Date 2 Parser Test script 1 Test script 2 Test library Test method 1 Test method 2 Test method 3 What is… Test data taken out of test scripts – usually externalized in tabular format Advantages Changes to the test scripts do not affect the test data Test scripts can be executed with multiple sets of data Disadvantages Creating scripts requires programming skills and time Initial effort creating data parsers can be high May be an overkill for simple needs 8 Test data for InvalidLogin UsernamePasswordError Message The field is mandatory abc123*The field is mandatory mail.com The field Password is mandatory john.smithabc123* The format of the address entered is not correct. mail.comabc1 The password must have between 5 and 12 characters. mail.coma1b2c3d4e5f6g The password must have between 5 and 12 characters. mail.coma1b2c3d Your address or password is not correct or is not registered at Mango.com

Keyword-driven testing framework SUT Test script 1 Test script 2 Test library Keyword 1 Keyword 2 Keyword 3 What is… Utilizes data tables and self explanatory keywords to indicate the actions performed on SUT Advantages Provides high code re-usability Test tool independent Tests can be designed with or without SUT Very good for large scale use Disadvantages Initial effort can be really high 9 Test : ValidLogin ActionObjectParameters NavigateBrowserhttp://shop.mango.com/RO/mango SetPassword123abc* VerifyTextUsernameJohn Smith CloseBrowser

Hybrid testing framework What is… Is the combination of modular, data- driven and keyword driven testing frameworks Advantages Integrates the advantages of all the other frameworks. Disadvantages Very complex 10

Which type of framework to choose? Test frameworkAdvantagesDisadvantages Modular Reusable functions Hierarchical structure Test data within the scripts limits reusability Test script is dependent on software Data driven Improved maintainabilityDependency on technical expertise Test script is dependent on software Keyword driven Ease of maintenance Scalability Less dependency of software Dependency on technical expertise Requires large effort Hybrid Integrates the advantages of all the other frameworks Increased complexity Create your own framework! 11

Focus point Good testing frameworks have layers Layer 1: Control level Layer 2: Business level Layer 3: Test level Build layers over existing automation tools! 12

Focus point Test error and failure handling Decide when to fail your test Decide when to fail your test suite Think about tests setup and tests recovery Soft assertion vs Hard assertion 13

Focus point The key artefact of a testing framework is REPORTING Summary report Detailed report Reports repository Traceability Metrics Integrate early logging and reporting into the framework! 14

Focus point Object Repository Also called Application map Stores AUT objects Multiple ways to represent it Identify the best way to represent OR! 15

Focus point Continuous automation Parallelize test execution Distribute test execution Schedule test execution Automate test machine setup Automate test precondition Automate notifications Integrate test execution into a continuous integration tool! 16

Layer your framework – Control Level(1) Step 1: Control types Identify all control types from AUT Standard controls e.g. : button, dropdown, edit, checkbox, radio button Composed controls e.g. : radio button group, checkbox group, menu, table, tab group Custom controls Implement one class for each type of control Step 2 : Control methods For each type of control identify user interaction Action e.g. : click button, select value in dropdown, type value in edit Verification e. g. : verify selected value in drop down, verify all values from table Implement one method for each user action Integrate in each method error handling and reporting 17

Layer your framework – Control Level(2) Dropdown actions Select value Select index Verify selected value Verify all values Verify value exist Verify value not exist Verify number of values Verify values are sorted Verify is displayed Verify is not displayed Verify is enabled Verify is disabled Verify background colour Verify label Verify tooltip Edit actions Type value Clear value Append value Enter value Verify value Verify is displayed Verify is not displayed Verify is enabled Verify is disabled Verify background colour Verify label Verify tooltip 18

Layer your framework – Control Level(3) Dropdown actions Select value Select index Verify selected value Verify all values Verify value exist Verify value not exist Verify number of values Verify values are sorted Select value Select index Verify selected value Verify all values Verify value exist Verify value not exist Verify number of values Verify values are sorted Edit actions Type value Clear value Append value Enter value Verify value Type value Clear value Append value Enter value Verify value General actions Verify is displayed Verify is not displayed Verify is enabled Verify is disabled Verify background colour Verify label Verify tooltip Verify is displayed Verify is not displayed Verify is enabled Verify is disabled Verify background colour Verify label Verify tooltip 19

Layer your framework – Control Level(4) Logging Error handling : Hard assertion Edit control – Verify Value method 20

Layer your framework – Business Level(1) Step 1: Business Units Identify business units for AUT (business unit : page, section, widget) Create one class for each business unit Step 2: Application Map For each business unit, identify all objects that have a business value For each object identified: Associate an unique alias map Associate properties that unique identify the object into the business unit Step 3: Business Flows For each business unit identify scenarios or business logic flows that can repeat into test case Implement one method for each flow 21

Layer your framework – Business Level(2) Business Unit: Header Business Unit: Register Business Unit: HomePage Business Unit: Start Session 22

Layer your framework – Business Level(3) Application MAP for Start Session Edit_ Edit_Password Link_ClickHere Text_Errors CheckBox_AutoLogin Button_StartSession Button_Register 23

Layer your framework – Business Level(4) Start Session Business Unit 24

Layer your framework – Test Level(1) Test implementation : Establish setup and recovery scenarios Identify a test framework (e.g. NUnit, JUnit, PyUnit) and the best way to create test suits and test cases Parameterize test cases if necessary No waits or code into the tests, only calls to control and business methods Test execution : Identify tools for test execution Schedule execution Automate test preparation 25

Layer your framework – Test Level(2) TC01Verify invalid in Login. Precondition is already registered with password ‘123abc*’ Navigate to url Click link “START SESSION” Step NoActionsExpected results 1 Type "roxana.cracana" in field " " " " has value "roxana.cracana". 2 Type correct pasword "123abc*" in field "Password" "Password" has value "*******". 3 Click 'START SESSION' button Error is displayed :”The format of the address entered is not correct.” Test Case vs. Test Script Keyword driven test script 26

Layer your framework – Test Level(3) Data driven test script 27

Conclusion Characteristics: Modularity Configurability Business oriented Exception handling Easily maintainable Logging & reporting Is applicable for : Smoke tests Regression tests Internationalization tests Client side monitoring and performance tests Can be used to automate : UI Web application UI Desktop application UI Mobile application A hybrid automation testing framework 28

29