Data Driven Automation Testing Framework



Similar documents
With the use of keyword driven framework, we can automate the following test scenarios for Gmail as under :-

GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES

Software Automated Testing

Test Automation Framework

QEx Whitepaper. Automation Testing Pillar: Selenium. Naveen Saxena. AuthOr:

STUDY AND ANALYSIS OF AUTOMATION TESTING TECHNIQUES

WHITE PAPER on Test Automation Framework Using MBT. Dec 2013

AUTOMATING THE WEB APPLICATIONS USING THE SELENIUM RC

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

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

Automation using Selenium

TestTrack Test Case Management Quick Start Guide

Certified Selenium Professional VS-1083

Latest Trends in Testing. Ajay K Chhokra

Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard

TESTING FRAMEWORKS. Gayatri Ghanakota

SOFTWARE TESTING TRAINING COURSES CONTENTS

Automated Model Based Testing for an Web Applications

Android Application for Online Admission Process

Continuous Integration

What s New in WebLOAD 10.1

AD-HOC QUERY BUILDER

Table of Contents User Guide... 1 Welcome... 4 Front End Life Blue... 5 General Navigation... 5 Menu Bar... 5 Continuous Scroll... 5 Hyperlinks...

Benefits of Test Automation for Agile Testing

Keyword-Driven Testing Framework For Android Applications

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications

The Research and Design of NSL-Oriented Automation Testing Framework

Generating Automated Test Scripts for AltioLive using QF Test

Standard Glossary of Terms Used in Software Testing. Version 3.01

Selenium An Effective Weapon In The Open Source Armory

Solutions for Quality Management in a Agile and Mobile World

Higher Focus on Quality. Pressure on Testing Budgets. ? Short Release Cycles. Your key to Effortless Automation. OpKey TM

BarTender Web Print Server

Data Driven Testing Framework using Selenium WebDriver

Keywords web based medical management, patient database on cloud, patient management and customized applications on tablets, android programming.

Inventory Computers Using TechAtlas for Libraries

Business Assurance & Testing QEx Automation Platform

Support Portal User Guide. Version 3.0

Learning Management System (LMS) Quick Tips. Contents LMS REFERENCE GUIDE

Siemens HiPath ProCenter Multimedia

How To Create A Data Transformation And Data Visualization Tool In Java (Xslt) (Programming) (Data Visualization) (Business Process) (Code) (Powerpoint) (Scripting) (Xsv) (Mapper) (

eggplant for Cross Platform Test Automation TestPlant Nick Saunders

Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1

Automation Guide for SAP Regression Testing. Author: Bhavana Pande

Asta Powerproject Enterprise

GUI Testing On Android Application

Social Network Website to Monitor Behavior Change Design Document

An Automated Testing Tool Using UI Structure

Checking Browser Settings, and Basic System Requirements for QuestionPoint

Selenium Automation set up with TestNG and Eclipse- A Beginners Guide

Introduction to Automated Testing

COMPARATIVE STUDY OF BROWSER BASED OPEN SOURCE TESTING TOOLS WATIR AND WET

Selenium 1.0 Testing Tools

Exploring Web Testing Tools For Use In A Classroom

Comparative Study of Automated Testing Tools: Selenium, Quick Test Professional and Testcomplete

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

NaviCell Data Visualization Python API

Quality Assurance - Karthik

PC Requirements and Technical Help. Q1. How do I clear the browser s cache?

Comparative Study of Automated Testing Tools: Quick Test Pro and Load Runner

I N R O A D S, I N C. T R A I N I N G A N D D E V E L O P M E N T

1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/

WebMate: Generating Test Cases for Web 2.0

A Comprehensive Review of Web-based Automation Testing Tools

QTP Open Source Test Automation Framework Introduction

How to deploy fonts using Configuration Manager 2012 R2

Test Automation Architectures: Planning for Test Automation

Meta-Framework: A New Pattern for Test Automation

Getting Started with Automizy

Efficient Agent Based Testing Framework for Web Applications

Jetico Central Manager. Administrator Guide

DESIGN OF AUTOMATION SCRIPTS EXECUTION APPLICATION FOR SELENIUM WEBDRIVER AND TestNG FRAMEWORK

Test Automation Integration with Test Management QAComplete

Near Future of Automated Software Testing

Getting Started with WPM

TATJA: A Test Automation Tool for Java Applets

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

1. Data Domain Pre-requisites. 2. Enabling OST

Job Streaming User Guide

Performance and Comparative Study of Functionality Testing Tools: Win Runner and QTP in IT World

Keywords Online Aptitude Test, Android, IOS, Cross Platform mobile application Development.

Web Automated Test for SharePoint

USM Web Content Management System

Comparative Analysis of Open Source Automated Software Testing Tools: Selenium, Sikuli and Watir

M-CONNECT PRODUCT FILE UPLOAD EXTENSION FOR MAGENTO COMMERCE

WEB APPLICATION TESTING SOLUTIONS WITH SELENIUM

ICE Trade Vault. Public User & Technology Guide June 6, 2014

View Point. Developing a successful Point-of-Sale (POS) test automation strategy. Abstract. - Sujith George

Web UI & Functional Test Automation for Continuous Agile Deliveries

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Issues in Android on Mobile Platform and Their Resolution

Technical Guide for Remote access

Reading an sent with Voltage Secur . Using the Voltage Secur Zero Download Messenger (ZDM)

ntier Verde: Simply Affordable File Storage No previous storage experience required

How To Renew A Contract At Mymellanox Online Via Mymllanox

Transcription:

International Journal of Emerging Engineering Research and Technology Volume 2, Issue 7, October 2014, PP 51-56 ISSN 2349-4395 (Print) & ISSN 2349-4409 (Online) Data Driven Automation Testing Framework Prof Vina M Lomte, Rishikesh Chandra 1, Ayush Gondhali 2, Ashish Shinde 3, Sanket Pimple 4 Department of Computer Engineering, RMD Sinhgad School of Engg, Pune, India 1,2,3,4 Department of Computer Engineering, RMD Sinhgad School of Engg, Pune, India Abstract: Software testing, being a time consuming and expensive process, there is a great need of finding an efficient solution for speeding it up. Testing Automation would allow us to reduce the cost and will help us in increasing the quality of Software. Automation Framework follows Data Driven Approach which passes data stored in Spreadsheet as input to the number of test scripts written for executing test cases. The development of the framework involves the use of Selenium IDE and languages such as Java and JavaScript. Framework automates the testing of software in different phases using a Driver Script and each phase finds the errors in the software and generates a list of errors. Those errors are properly listed in a Spreadsheet and at the same time also contain the code area and line where it appeared, type of error and its possible solutions. Keywords: Automation Testing, Selenium IDE, Data Driven Approach, Driver Script, Test Case, Test Script Library, 1. INTRODUCTION We all know that the thirst of technology is growing day by day and so is the speed of manufacturing such products and software capable of satisfying the same is also increasing with the same pace. But at the same time we also need the quality assurance for all those products and software so that they can meet the needs and the standards of the clients and the customers which will result in having a long term beneficial and healthy relationship with the customer/clients or end user. And to do the same we need to monitor and test the tool on regular basis either by providing the product lifetime support or by regular testing. The exponential increase in the growth of Software Industry has brought numerous web applications in the market and these applications are being largely utilized. Hence the correctness of these applications is very much necessary. Hence testing all these application is mandatory before launching them in the market. But at the same time testing all these applications will require a lot of time and human effort and can also have some probability of human errors. Therefore incorporating Automation in testing is another step demanded by today s need of technological advancement. The Framework runs a driver script which reads the test cases from a list in a spreadsheet and accordingly selects the testing functions/scripts and concurrently generates a logger report, result report and screenshots of each test case execution and finally generating a complete report on tested application/software, after comparison of the actual result with the expected result. 2. ABOUT THE FRAME WORK 2.1. Steps 2.1.1. Initiation of the Testing Process Automation Framework will start executing tests with a push of a button and run tests on its own. It can set up the test environment and preferably also check that all preconditions are met. It will read the Test ID from the Spreadsheet and automatically start the testing process. IJEERT www.ijeert.org 51

Rishikesh Chandra et al. 2.1.2. Starting and Stopping Test Execution It is possible for us to start the test execution manually. It can be a convenient method because tests can be started automatically at a specified time or after a certain event. Easiest way to start execution at a certain time is making it possible to start test execution manually from command line and using operating system s features for scheduling (cmd in Windows and bash in Linux). We will have a facility to stop or pause the testing process at any time for making a check. The testing process will stop automatically after generating the Test Report, which will be a combination of Logger Report, Result Report and Screenshots. The link of Test Report will be automatically sent to the Tester and in the Spreadsheet 2.1.3. Handling Errors Part of running tests unattended is recovering from errors caused by the tested system or the test environment not working as expected. Test framework ought to notice error situations and continue testing without manual intervention. 2.1.4. Verifying Test Result An integral part of test execution is verifying test results. Framework will automatically verify test result as one or more comparisons between actual outcome of a test and predefined expected outcome. The comparison will be done by referring the Spreadsheet which contains a column containing the data for Expected Result. 2.1.5. Assigning Test Status After a test is executed and its results are verified, it is expected from the testing framework that it generates a status for the same. If the test was executed without any problems and all comparisons between actual and expected outcomes match the test gets a pass status. In every other case the status is fail. Besides the status every test case should also get a short but descriptive status message. For passed tests this message is normally not that important but with failed tests it can give details about the cause of the problem (e.g. Calculation failed: expected 3, got 2 or Initializing test environment failed: Not enough space on disk ). 2.2. Algorithm Used 2.2.1. Algorithm. Automated Testing Framework Start Open( Spreadsheet", 'read ); Read( Testing_ID() ) from Spreadsheet(); Read( Function() ) from Spreadsheet(); Search( Function() ) in Library(); Find(Function_Script() from Library()); If(Function_Script()==Found()) in Library() Then Set Status= testing ; Execute(Function_Script()) { get(input_data() from Spreadsheet()) into Function_Script(); get(expected_result()) into Function_Script(); generate(screenshot(),logger(),report()); Send(Combine(Screenshot(),Logger(),Report()) into Actual_Result(); } If(Actual_Result==Expected_Result) Then Status()== PASS ; International Journal of Emerging Engineering Research and Technology 52

Data Driven Automation Testing Framework STOP End If Else Else 2.2.2. Algorithm Function Definitions Status()== FAIL ; Print( FUNCTION SCRIPT NOT FOUND ); 1. Spreadsheet: The file containing the data to be given as input for the complete operation. 2. Testing_ID(): The column in the spreadsheet which contains the Functions which are to be used for testing. 3. Function(): The name of the testing function. This is the input to the library. 4. Library(): All the functions, their definitions and there scripts are stored here. 5. Found(): The operation which assures that the Function is present in the Library(). 6. Function_Script(): It is the definition of the function and working of the function is given in it. 7. Input_Data(): The data present in the Spreadsheet, provided as input to the Function_Script(). 8. Expected_Result(): The desired result stored in Spreadsheet. 9. Actual_Result(): The result produced by execution of the Function_Script. 10. Status(): It is is for getting the pass and fail status of the comparison made between actual and expected results. 11. Final_Result: It is the combination of report, screenshot and logger file produces after execution of the function script. 12. Screenshot(): It stores the screenshot of every instance of testing. 13. Logger(): It is a log file generated for each testing instance. 14. Report(): It s the report file containing the outcome description of testing operation. 2.3. Tool Used Selenium is an open source automation testing tool for web based applications. It runs directly on browser and supports almost all available browsers such as Firefox, chrome, IE, Opera, Safari etc. It runs on all platforms such as Windows, Linux and Macintosh. It s a very useful tool for System functional testing and browser compatibility testing. Selenium is a browser automation tool, commonly used for writing end-to-end tests of web applications. A browser automation tool does exactly what you would expect: automate the control of a browser so that repetitive tasks can be automated.. At a very high level, Selenium is a suite of three tools. The first of these tools, Selenium IDE, is an extension for Firefox that allows users to record and playback tests. The record/playback paradigm can be limiting and isn't suitable for many users, so the second tool in the suite, Selenium Web Driver, provides APIs in a variety of languages to allow for more control and the application of standard software development practices. The final tool, Selenium Grid, makes it possible to use the Selenium APIs to control browser instances distributed over a grid of machines, allowing more tests to run in parallel. Within the project, they are referred to as "IDE", "Web Driver" and "Grid". Selenium is a browser automation tool which lets you automated operations like: type, click, and selection from a drop down of a web page. International Journal of Emerging Engineering Research and Technology 53

Rishikesh Chandra et al. 3. FRAMEWORK ARCHITECTURE Fig1. Framework Architecture 3.1. Here in the Above Diagram the Workingof the Framework is Shown 1. Read the spreadsheet and select the first row. 2. Store all the information about the test suite in the temporary variables. 3. Choose function/test script from the function column and search it in the libraries. i. If not found generate error. ii. Else, pass the parameters from same row to the function. 4. Execute Function. i. Take screen shots and store in reports. ii. Store Reports in HTML format iii. Create Log files. iv. Store report in excel/ sheet/spreadsheet(pass/fail/status) 5. Repeat 2 to 4 for all rows in excel sheet. 6. Generate final report and store it. 7. Generate necessary report links in the spreadsheets. International Journal of Emerging Engineering Research and Technology 54

Data Driven Automation Testing Framework 4. STATE TRANSITION DIAGRAM Fig2. State Transition Diagram S 0 : The initial state of the system, when the drivers script reads the excel sheet /spreadsheet. S 1 : Read first row. S 2 : The test data is recorded. S 3 : Search the script function column. If found, go to next state, else transition to a dead state. S 4 : Script found S 5 : Execute script. Generate outputs. S 6 : Generate reports. Repeat from S 0. 5. CONCLUSION A test automation framework can be built around model based testing that begins with automating the test design exercise and the development of manual test procedures. It further uses automation frameworks to attain modularity in automated test script design, and integrates with test execution tools for automated test execution. Such a framework will help test organizations to: Greatly scale when test designers and test automation developers are in short supply by training regular testers in model-based testing and test automation Deliver test automation quickly so that regression cycles can be automated right from the first cycle, and save effort and cost that would otherwise have been expended on manual testing. REFRENCES [1] Data Driven and Keyword Driven Test Automation Frameworks by Pekka Laukkanen http://eliga.fi/thesis-pekka-laukkanen.pdf [2] Wikipedia: Test Automation http://en.wikipedia.org/wiki/test_automation [3] NASSCOM Research & Intelligence - Software Testing: Shifting from Functional to Business Assurance International Journal of Emerging Engineering Research and Technology 55

Rishikesh Chandra et al. [4] The History of Software Testing by Joris Meerts http://www.testingreferences.com/ testinghistory.php [5] Wikipedia: Requirements Analysis https://en.wikipedia.org/wiki/requirements_analysis [6] http://www.hcltech.com/blogs/engineering-and-rd-services/model-based-testing-%e2%80%93- superior-alternative-traditional-software-te [7] Model-Based Testing (MBT) HCL Whitepaper by Naveen Jain published on 14 Jun 2013 http://www.hcltech.com/white-papers/engineering-services/model-based-testing [8] Generations of Test Automation Tools by Mark Utting http://www.cs.waikato.ac.nz/research/ AUTHORS BIOGRAPHY Prof Vina M Lomte is an Asst. Professor under Department Of Computer Engineering. She is having 10+ years experience in the field of teaching as well as research. Her Research interests include domains like Web Security and Software Engineering/ Testing. Rishikesh Chandra is a student pursuing his B.E Degree under Department Of Computer Engineering from University Of Pune. He is currently involved in the system developing activities for developing algorithm for Framework. Also he is actively working on languages such as Java and JavaScript for making the scripts for the Framework. He is also working in the development of the frontend GUI of the Framework. Ayush Gondhali is a student pursuing his B.E Degree under Department Of Computer Engineering from University Of Pune. He is presently working on Mathematical Module of the Framework. Also, he is involved in the development of mathematical implementation of the sub algorithms involved in the System. He is actively working on the languages such as Java and JavaScript. Ashish Shinde is a student pursuing his B.E Degree under Department Of Computer Engineering from University Of Pune. He is currently involved in the development of different Automation Frameworks and Code Coverage Mechanism of the system. He is also involved in the development of testing and automation scripts using languages such as Java and JavaScript Sanket Pimple is a student pursuing his B.E Degree under Department Of Computer Engineering from University Of Pune. He is presently working on the Mathematical Model and the transitions involved in the model of the Framework. He is also working on the GUI and backend data handling of the Framework. International Journal of Emerging Engineering Research and Technology 56