Test Automation Best Practices

Slides:



Advertisements
Similar presentations
Testing Web Applications. Applications Architecture Client Server Architecture.
Advertisements

Prashant Lambat Sr. Manager SQA Engineering Symantec Corporation, Pune Date: 29 th January 2011.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
Selenium HP Web Test Tool Training
Test Automation An Approach to Automated Software Regression Testing Presented by Adnet, Inc Feb 2015.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Automation Testing Presentation Phil Hunter Phil Hunter - Automation Presentation 1.
1 © 2004 Jeffrey Feldstein. All rights reserved. Drive Testing for Web-Based and Java Applications with Models Jeffrey Feldstein Cisco Systems
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.
© Company Confidentialwww.itcinfotech.com Business Case for Test Automation S.Janardhanan Chief Technology Officer ITC Infotech India Limited Business.
Selenium – Testing Tool. What is Selenium? Selenium is a robust set of tools that supports rapid development of test automation for web-based applications.
© 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.
Software testing techniques Automated software testing Presentation on the seminar Kaunas University of Technology.
NYC Technology Forum Introduction to Test Automation 11/2/07 All rights reserved Not to be reproduced without permission Bill Rinko-Gay Solutions Director,
Test Automation: An Architected Approach Dan Young March 17th, 2005
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.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
Selecting a Tool 1 When to start evaluating: Current method is not effective Can solve an immediate problem/challenge Can increase productivity and deliverables.
UNIT-V The MVC architecture and Struts Framework.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automation Fundamental Concepts &
Java Beans.
Software Quality Assurance QA Engineering, Testing, Bug Tracking, Test Automation Software University Technical Trainers SoftUni Team.
Robot Framework – Basic Level. Date: Version:1.0 Page 1.
Selenium Web Test Tool Training Using Ruby Language Discover the automating power of Selenium Kavin School Kavin School Presents: Presented by: Kangeyan.
What is QTP ► QTP stands QuickTest Professional ► It is an automated testing tool provided by HP/Mercury Interactive ► QTP integrates with other Mercury.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Integrating Automation into Manual Testing
Fundamentals of Database Chapter 7 Database Technologies.
1 Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011.
Reusability and Effective Test Automation in Telecommunication System Testing Mikael Mattas Supervisor: Professor Sven-Gustav Häggman Instructor: B.Sc.
Exploring an Open Source Automation Framework Implementation.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
CSE 219 Computer Science III Program Design Principles.
SELENIUM
MIAMExpress development October 2002 Mohammad shojatalab
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Test Creation in QuickTest Professional Using Keyword Driven Methodology A Storehouse of Vast Knowledge on Software Testing.
Frameworks CompSci 230 S Software Construction.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
What is WinRunner ► WinRunner is Mercury’s legacy automated testing tool ► It is similar to QTP in functionality ► WinRunner integrates with other Mercury.
Selenium January Selenium course content  Introduction (Session-1)Session-  Automation  What is automation testing  When to go for automation.
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain.
Using MS Excel to validate & load your data into Oracle EBS.
© 2012 LogiGear Corporation. All Rights Reserved FitNesseFitNesse Authors: Nghia Pham 1.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
Robot Framework – Basic Level. Date: Version:1.0 Page 1.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Zhuhai Test Automation Overview Ryan Li Team lead of test automation Foglight QA.
By SPEC INDIA. TestComplete – An Introduction An automated testing tool by SmartBear – TestComplete is a comprehensive product with umpteen features and.
By Manish Shrotriya CSE MS Software Engineering vs Software Project Engineering Goals: Develop quality software What is quality of a software.
Leverage your Business with Selenium Automation Testing
JRA2: Acceptance Testing senarious
Understanding of Automation Framework
On the road: Test automation in practice for a BMW map update service
Software Quality Assurance
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
6 Recommendations for Driving Business Value from Test Automation.
Continuous Performance Engineering
Automated Testing and Integration with CI Tool
Sharing the good, the bad, the ugly & What can we do about it?
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Web UI testing automation and Selenium
CS 240 – Advanced Programming Concepts
SDMX IT Tools SDMX Registry
Presentation transcript:

Test Automation Best Practices by Leonard Fingerman Email: esmlf@yahoo.com

Why Automate Testing ? Improve software quality by reducing time to market Improve reliability and consistency of testing processes Allow manual testers do more complex & more suited for human kinds of tests (exploratory, usability etc.) Enforce SLAs (service level agreements) Ultimate goal is to save your business $$$...

Common Types of Automated Testing Unit Testing (xUnit, TestNG etc) Performance Testing (LoadRunner, WebLoad etc) Functional System Testing (via UI, API, Web Services or Database) Model-based Regression

Some Functional Automated Test Tools Pros Cons IBM/Rational Functional Tester (RFT) Built as Eclipse Plug-In with full IDE and Java support Supports Web 2.0, Java or .NET applications Full GUI Object Map repository Insufficient browser support Licensed product HP/Mercury Quick Test Pro (QTP) Seamless integration with QualityCenter VisualBasic scripting is limited No IDE (may change in new release) Licensed Product Selenium RC & IDE Good browser support Good language support (Java, Ruby,C# ) Can be easily extended as JUnit suite Open-source No GUI Object repository Only web application support

You selected a tool…now what? A tool is supposed to do it all, right… ? Don’t fall into tool vendor’s sales pitch …remember Record & Playback is not real test automation According to recent IDT study (www.idtus.com)

How to ensure success of TA project Essentially automated test system is a piece of software designed to test your application  treat it as such Evaluate an automated tool POC (proof of concept) based on your native apps Choose a tool that fits your business requirements & technical expertise Plan Establish goals & objectives; budget; use or hire competent resources Be ready to have quality metrics to validate the ROI (return of investment) Design Keep in mind the user community of TA system (Usability) Choose an architecture that reduces maintenance and is extensible Implement Practice OOD principles of reusability & modularity (employ encapsulation & abstraction) Introduce version control of your code Establish code review process Test & Maintain Unit test your code Constantly re-evaluate reasons for maintenance and improve TA architecture to minimize maintenance

Note: the tool is abstracted by higher-level framework component library

Data-driven automation framework Automation is data-centric User defines just data sets to drive tests with Will have an external data source (DB tables, Excel spreadsheets, XML for data sets) Flow control (navigation) is normally done by the test script not by the data source Ex: data set exercises creation of new sales accounts functionality; stored in a DB table account_data CompanyName PrimarySalesPerson Street Zip City State Genesis Inc. Phil Collins 5775 Main st 30075 Atlanta GA RollingStones Inc. Mick Jagger Jr. 2332 Washington st 02111 Boston MA

RFT code snippet public void testMain(Object[] args) { String name;String primarySalesPerson;String address;String zip;String city;String state; String query = "Select * from account_data";String AccessDBPath = Constants.FL_DB_PATH; //Data abstraction class DataHandler – methods process data and return data values DataHandler dlrAcctData = new DataHandler (AccessDBPath,query); ArrayList listDlrAcctData = dlrAcctData.getRowsOfData(); try { for (int i=0;i<listDlrAcctData.size();i++){ coName = dlrAcctData.getValueForColumnName(i,“CompanyName"); primarySalesPerson = dlrAcctData.getValueForColumnName(i,"primarySalesPerson"); Type.text(CustomerCreate.field_name(),coName ); Click.object(CustomerCreate.image_primarySalesPersonIcon() ); Type.text(text_employeeModalPanelCommonN(),primarySalesPerson); … } dlrAcctData.closeDB();

Keyword-driven automation framework Automation is action-centric De-compose your test cases/modules into granular re-usable keywords The idea is for non-coders to be able to create automated test cases with action keywords User defines flow control of the test via action keywords Example: Test Case “Verify Checking Account Balance” Enter Username and Password and Click submit button  step 1 is action Login Enter “Phil Collins” as a Sales Person and Click Submit button Verify the Sales Person was successfully created and Logout So you may want to choose the following re-usable action keywords: EnterText, Click, Login, VerifyExists

Keyword-driven automation framework May have an external data source (DB tables, Excel spreadsheets, XML for data sets) with action keywords e.g. Step Description Page Action Module Type Object Expected 1 Login Home UserLogin N/A .id:=LoginSubmit .text:=Login Successful 2 Enter New Sales Person data CreateSalesPerson EnterText Field .text:=SalesPerName  .value:=Phil Collins 3 Click Submit Click Button .id:=SubmitSalesPer .url:=.*createdSalesPerStatus.html 4 Verify Sales Person Creation Successful CreateSalesPersonStatus VerifyExists DIV .id:=CreationStatus .value:=User Created Successfully

Hybrid automation framework Combines the best of both worlds User defines data sets to drive tests with User also defines flow control of the test via action keywords May have an external data source (DB tables, Excel spreadsheets, XML for data sets) with action keywords in addition to generic and test case specific data sets

Q & A