Software testing techniques Automated software testing Presentation on the seminar Kaunas University of Technology.

Slides:



Advertisements
Similar presentations
© SMARTESTING 2011 – This document is the property of Smartesting. It may not be reproduced in whole or in part Cliquez pour modifier le style du titre.
Advertisements

Test process essentials Riitta Viitamäki,
Prashant Lambat Sr. Manager SQA Engineering Symantec Corporation, Pune Date: 29 th January 2011.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Company LOGO Automation Tools For Android Anshu Prasad.
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.
By SAG Objectives Cross platform QA Automation for web applications Scheduling the automation Automatically build the test scripts Generate the.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
Software Testing and Quality Assurance
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Stimulating reuse with an automated active code search tool Júlio Lins – André Santos (Advisor) –
Software Self-Testing
Introduction to Software Testing
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.
Software Testing Test Design and Implementation. Agenda Test Design Test Implementation Test Design Sources Automated Testing 2.
© 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
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 &
Manage Engine: Q Engine. What is it?  Tool developed by Manage Engine that allows one to test web applications using a variety of different tests to.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Unit and Functional Testing Your Flex Applications Mike Nimer Dir. Of Engineering nomee.com.
Integrating Automation into Manual Testing
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Winrunner Usage - Best Practices S.A.Christopher.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
CakePHP is an open source web development framework. It follows Model-View- Controller and is developed using PHP. IT is the basic for user to create.
Testing Workflow In the Unified Process and Agile/Scrum processes.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
SELENIUM
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
Software Construction Lecture 18 Software Testing.
DB2 Universal Database Confidential | July 2012 | India Software Lab Click to add text © 2012 IBM Corporation An End to End Windows Automation Framework.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
Functional Testing with Eclipse TPTP | Copyright © IBM Corp., All rights reserved. Source code in this presentation is made available under.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
Software Quality Assurance and Testing Fazal Rehman Shamil.
ITC Software ITC AUTOMATION TESTING SERVICES Date (Day Month, Year) Place (City, Country)
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Tools for Automated Testing Presented by: Žygimantas Mockus.
By SPEC INDIA. TestComplete – An Introduction An automated testing tool by SmartBear – TestComplete is a comprehensive product with umpteen features and.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Integration Testing.
Software Testing.
Test Automation CS 4501 / 6501 Software Testing
Understanding of Automation Framework
Software testing
Chapter 8 – Software Testing
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Applied Software Implementation & Testing
Advantages OF BDD Testing
Introduction to Software Testing
Achieve Next level of Automation with Robotic Test Automation
Test Automation CS 4501 / 6501 Software Testing
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Test Cases, Test Suites and Test Case management systems
Presentation transcript:

Software testing techniques Automated software testing Presentation on the seminar Kaunas University of Technology

Topics Automated software testing. What? Why? Automated vs. Manual Common types of automated testing methods Automated software testing framework Summary 2

What is automated software testing? A process which covers: the use of software to control the execution of tests the comparison of actual outcomes to predicted outcomes the setting up of test preconditions other test control and test reporting functions. 3

Why testing is critical? 4

Why automated testing? A time savings translates directly into cost savings Improves testing productivity Improves accuracy Increases test coverage Does what manual testing cannot do 5

Effort and Cost –Let’s assume 6 test cases –Effort required to run all 6 manually => 10 min –Effort required to write unit tests for all 6 cases => 10 min –Effort required to run unit tests for all 6 cases => < 1 min –Number of testing iterations => 5 –Total manual testing time => 50 min –Total unit testing time => 10 min ReleaseManual TestAuto Test Manual Test Cumulative

Automated vs. Manual testing Not all tests can be automated and most times is difficult to decide what to automate and what to manually test. 7

Advantages Automated TestingManual Testing Need to run a set of tests repeatedly Test cases have to be run a small number of times Helps performing "compatibility testing" (on different configurations and platforms) Allows the tester to perform more specific tests Long term costs are reduced Short term testing costs are reduced Possible to run regressions on a code that is continuously changing and in shorter time The more time tester spends testing a module the grater chance to find real bugs 8

Disadvantages & other factors Automated TestingManual Testing It's more expensive to automate (bigger initial investments) Manual tests can be very time consuming You cannot automate everything, some tests still have to be done manually For every release you must rerun the same set of tests which can be tiresome Other Factors The performance of your test tools The knowledge level of your testing team The continuous growth of software to be tested 9

Common types of automated testing methods Monkey testing Capture / playback Code-based (Unit) testing Intelligent test automation 10

Monkey testing Randomly selecting inputs from a large range of values and monitoring if exceptions are thrown. For example, a monkey test can enter random strings into text boxes to ensure handling of all possible user input. It applies not only for GUI or WEB testing, but also for Unit testing. 11

Tools example Monkey – Android testing tools. The simplest way to use the monkey is with the following command, which will launch the application and send 500 pseudo-random events to it. $ adb shell monkey -v -p your.package.name

Capture / playback It’s a set of software programs that capture user inputs and stores it into a script for later replay. + Repeated testing can be performed quickly. + Does not require programming skills. - When the GUI changes, input sequences previously recorded may no longer be valid. - Difficult to determine location of bugs. 13

Tools example Autohotkey - Free keyboard macro program. Supports hotkeys for keyboard, mouse. 14

Code-based (Unit) testing Individual units of source code are tested to determine if they fit for use. Ideally, each test case is independent from the others + Bugs can be found in early development stage + Easy to test boundary cases - Not effective for the integrated system testing 15

Unit test-case generation method Random Genetic Other… 16

Random Input values generated randomly Run with generated inputs User checks output values (pass/fail) and saves them for later automatic checking (Oracle). 17

Genetic This methods approach is to combine JML (JAVA model language) and genetic algorithms. JUnit is used as a test execution platform. 18

Tools examples Parasoft Jtest is an automated Java testing and static code analysis product TestGen is a collection of open-source tools that automatically generates unit test cases. 19

Intelligent test automation A model-based method for generating tests from a description of an application’s behavior (UML) + Models are simple to modify, so model- based tests are economical to maintain over the life of a project. - Most of these methods are researched only theoretically. 20

OCL + UML Inputs generator UML + OCL Tested software Oracle Report Inputs Constraints Outputs pass / fail 21

Automated testing framework A framework is an integrated system that sets the rules of automation of a specific product. This system integrates the function libraries, test data sources, object details and various reusable modules. The framework provides the basis of test automation and simplifies the automation effort. 22

Common types of frameworks Data-driven testing Keyword-driven testing Hybrid testing 23

Data-driven testing Data-focused automation User defines just data sets to run tests with Data is defined in external data source and de- coupled from script Good fit for a single application testing, featuring multi-environment, big datasets, and rarely changing Test Cases +- Good usability and re- usability Quality and coverage strongly depends on the automation skills of implementing person Good test flow coverageContinuous maintenance issues due to a big amount of the code Multi-environment supportManual validation is required 24

Example Data set Test script 25

Keyword-driven testing Good fit for a multi-application testing featuring multi-environment, big datasets, and a big number of short and straight Test Cases Users de-compose test cases into reusable action keywords Non-coders are able to author automated test cases with action keywords +- Test development doesn’t require programming skills Due to keywords limit doesn’t allow covering very complicated Test Cases Good test flow coverageMeta-language specific training is required for staff Compact codeManual validation is required 26

Example 27

Hybrid testing Combines the best of data-driven and keyword-driven testing: –User defines data sets to run tests with –User also defines flow control through action keywords –Data is separated from script and stored in external data source with action keywords +- Test Plan / Test Scenario creation doesn’t require programming or training on the Testing Tool Requires initial investment for design and implementation of the framework Compact code and scalable architecture Built-in strict validation 28

Framework components Test generation (data and script generators).Tools might create specialized data such as randomized messages, or populate databases etc. System configuration. Tools might preserve or reproduce system parameters. Test execution. Tools might operate the software itself, either simulating a user working through the GUI and using an alternative testable interface. Oracles. An oracle is any mechanism by which we detect failure or success. Tools might automatically detect certain kinds of error conditions in a product. Activity recording & coverage analysis. Tools might watch testing as it happens and retrospectively report what was and was not tested. Test management. Tools might record test results, organize test ideas or metrics. 29

General framework structure 30

Common functional automated test tools Tool+- IBM / Rational Functional Tester (RFT) Built as Eclipse plug-in with full IDE, Java support and source management Supports Web-based applications,.Net, Java, Siebel, SAP®, PowerBuilder, AJAX, Adobe Flex, Adobe PDF documents Full GUI Object Map repository License cost HP / Mercury Quick Test Pro (QTP) Supports Web 2.0, GWT, Dojo, YUI, Silverlight, Flex, Ajax, JAVA,.NET applications Full GUI Object Map repository Seamless integration with QualityCenter No IDE (changing in release 10) License cost VisualBasic scripting is limited Selenium RC & IDE Good browser support Good language support (JAVA, Ruby, C#) Can be easily extended as JUnit suite Open-source (no license cost) No GUI Object repository Only web-based application support Tool support is limited 31

Tools examples 32

Summary Automated testing improves productivity, accuracy, increases test coverage, saves time and cost Need to decide what to automate and what to manually test The framework provides the basis of test automation and simplifies the automation effort. 33

More information best-prcatices-with-soa-test-approachhttp:// best-prcatices-with-soa-test-approach automation-framework-presentationhttp:// automation-framework-presentation mlhttp:// ml automation-practices-recordplayback/ automation-practices-recordplayback/ manual-testing http:// manual-testing

Thank you! 35

Question ??? What is the benefit of automated testing? What are the common types of automated testing methods? What are the common types of frameworks? What components come to framework? What are the examples of automated testing tools? 36