Prepared by: Fatih Kızkun

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

Testing Workflow Purpose
Test Yaodong Bi.
Testing and Quality Assurance
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Software Testing and Quality Assurance
Testing an individual module
Software Testing Prasad G.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
System/Software Testing
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
An Introduction to MBT  what, why and when 张 坚
CPIS 357 Software Quality & Testing
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Testing Workflow In the Unified Process and Agile/Scrum processes.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Quality and Testing CPS 109: Program Design and Construction October 28, 2003.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Introduction to Software Testing Maili Markvardt.
CS223: Software Engineering Lecture 25: Software Testing.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Functional testing, Equivalence class testing
Software Testing CS II: Data Structures & Abstraction
Software Testing.
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Testing Tutorial 7.
Software Testing.
SOFTWARE TESTING OVERVIEW
Software Engineering (CSI 321)
Topics Introduction to Repetition Structures
Chapter 8 – Software Testing
System Design.
Testing the Software with Blinders on
IS442 Information Systems Engineering
CHAPTER 4 Test Design Techniques
Traceability from Use Cases to Test Cases
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Lecture 09:Software Testing
A test technique is a recipe these tasks that will reveal something
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Software testing.
CS240: Advanced Programming Concepts
Analysis models and design models
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
CS310 Software Engineering Dr.Doaa Sami Khafaga
Knowing When to Stop: An Examination of Methods to Minimize the False Negative Risk of Automated Abort Triggers RAM XI Training Summit October 2018 Patrick.
Interaction Modeling Extracted from textbook:
CSE403 Software Engineering Autumn 2000 More Testing
Software Testing “If you can’t test it, you can’t design it”
Engineering Quality Software
Java & Testing.
Chapter 7 Software Testing.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Prepared by: Fatih Kızkun TEST CASE DESIGN Prepared by: Fatih Kızkun

OUTLINE Introduction A Variety of Test Methods Conclusion Importance of Test Essential Test Case Development A Variety of Test Methods Risk Based Testing Use Case/UML Finite State Model Based Technique Conclusion

INTRODUCTION(1) Failure: A program behaves differently as required by the specification. Error: The internal state of a program is invalid (e.g. a precondition, post condition, undefined pointers etc). Fault: A static cause which allows errors to occur (e.g. bugs, design faults, hardware or system faults).

INTRODUCTION(2) Faults are Tests static and can lead to error states. observed by Black Box Test Tests try to detect failures. observe error states that are tracked down to faults

INTRODUCTION(3) Types of Tests Tests of units (classes, individual methods, modules and procedures) Test units concurrently Locating faults easier Higher-Order Testing (test of the whole program) Detect errors because of inconsistency

INTRODUCTION(4) Performing a Good Test Know the Characteristics of a Good Test Know what an Equivalence Class is Finding Equivalence Class Select Test Cases from Each Equivalence Class Test State Transitions Test Time Dependencies Test Load Limitations Guess Test Function Equivalence Automate Function Equivalence Testing General Equivalence Testing Regression Testing Executing the Tests

A Variety of Test Methods

TEST METHODS Risk-based testing Requirements-based Testing Use Case/UML Keyword or Action Based Test (ABT) methodology State Transition/ State Model Based Testing Exploratory and Effective Ad Hoc Testing Equivalence Class Partitioning and Boundary Value Analysis Regression testing Fault Injection/ Forced Error/ Negative Testing DAST- Diagnostic Approach to Software Testing Data Driven Testing

RISK BASED TESTING

RISK BASED TESTING(1) Make a prioritized list of risks Perform testing that explores each risk As risks evaporate and new ones emerge, adjust your test effort to stay focused on the current crop

RISK BASED TESTING(2) INSIDE-OUT Begin with details identify risks associated with them. 3 questions to be asked Vulnerabilities: What weaknesses or possible failures are there in this component? Threats: What inputs or situations could there be that might exploit a vulnerability and trigger a failure in this component? Victims: Who or what would be impacted by potential failures and how bad would that be?

RISK BASED TESTING(3) OUTSIDE-IN Begin with a set of potential risks Match potential risks to the details of the situation A more general approach than inside-out It’s easier 3 kind of lists can be used Quality Criteria Categories (capability, reliability,…) Generic Risk List (complex, new, critical,…) Risk catalogs

RISK BASED TESTING (4) Component Risk Risk Heuristic Printing Normal distributed, popular Report Generation Higher new, strategic, third-party, complex, critical Installation Lower popular, usability, changed Clipart Library complex It helps to communicate and negotiate which components will get more effort.

USE CASE (UML)

Use Case(1) A use case diagram shows the interaction between an actor and the system. In a use case diagram the system is viewed as Input Output Functionality matter. The purpose of a Use Case May include: Promoting Communication Understanding Requirements Helping to identify “capsules” to encapsulate data Focusing on the “What” rather than “How” Providing Prototype Test Cases

USE CASE(2) Creating Test Cases From Use Cases Identify all of the scenarios for the given use case Alternative scenarios should be drawn in a graph fo each action Create Scenarios for a basic flow, one scenario covering each alternative flow, and some reasonable combinations of alternative flows Create infinite loops

USE CASE(3) Creating Scenario Identify variables for each use case step Identify significantly different options for each variable (password too long, too short, availbale etc.) Combine options to be tested into test cases Assign values to variables

USE CASE(4) Email Password Search Selection Add Regular Regular Select first one Illegal Add to cart 10 chars 200 chars Select last one 51 chars 11 chars 201 chars

Use Case(5) They are only useful for certain types of testing:   User Acceptance Testing Positive “business as usual” Functional testing Manual black-box (some) Scripted automation -Automated testing – They could also help types of testing that overlap with positive functional testing: Smoke testing Sanity testing Regression testing Ad-hoc testing

Use Case(6) What kind of bugs would not be discovered System testing Integration testing Performance testing Load testing Software Compatibility testing Hardware Compatibility testing Exploratory testing

Finite State Model Based Technique

Finite State Model Based Technique (1) Generates software tests from explicit descriptions of an application’s behavior.   Several good model-based test tools are currently available in the market The techniques of model-based testing are not tied to any tool

Finite State Model Based Technique (2) Create a finite state model of an application Generate sequences of test actions from the model Execute the test actions against the application Determine if the application worked right. Find bugs.

Finite State Model Based Technique (3) Digital Analog

Finite State Model Based Technique (4) The rules for these actions in the Clock application Start If the application is NOT running, the user can execute the Start command. If the application is running, the user cannot execute the Start command. After the Start command executes, the application is running. Stop If the application is NOT running, the user cannot execute the Stop command. If the application is running, the user can execute the Stop command. After the Stop command executes, the application is not running. Analog If the application is NOT running, the user cannot execute the Analog command. If the application is running, the user can execute the Analog command. After the Analog command executes, the application is in Analog display mode. Digital If the application is NOT running, the user cannot execute the Digital command. If the application is running, the user can execute the Digital command. After the Digital command executes, the application is in Digital display mode.

Finite State Model Based Technique (5) Not running/ Analog Not running/ Digital Stop Start Start Stop Digital Running/ Analog Running/ Digital Analog Analog Digital

Finite State Model Based Technique (6) Visual Test has a rich set of functions for interacting with the application you are testing

Finite State Model Based Technique (7) ACTIONS open "test_sequence.txt“ #infile while not (EOF(infile)) line input #infile, action select case action case "Start" run("C:\clock.exe”)   case "Analog" WMenuSelect("Settings\Analog") case "Digital" WMenuSelect("Settings\Digital") case "Stop" WMenuSelect(“Close”) Test_oracle() wend TEST_ORACLE FOR DIGITAL/ANALOG if (system_mode = RUNNING) then if ( WFndWnd("Clock") = 0 ) then print "Error: Clock should be Running"  stop endif if ( (setting_mode = ANALOG) AND NOT WMenuChecked("Settings\Analog") ) then print "Error: Clock should be Analog mode" if ( (setting_mode = DIGITAL) AND NOT WMenuChecked("Settings\Digital") ) then print "Error: Clock should be Digital mode“ stop   endif  

Finite State Model Based Technique (7) Test Sequence Start Maximize Stop Minimize Restore

Other Test Methdos Equivalence Partitioning and Boundary Values Extraction Regression Testing Diagnostic Approach to Software Testing Keyword or Action Based Test (ABT) methodology Fault Injection/ Forced Error/ Negative Testing

CONCLUSION There are many test case design methods that can be used if suitable Some of these methods also helps to select the right data for test Selecting the right method makes it easier to detect faults Test cases should be defined before the program is executed

LINKS http://www.cs.rit.edu/~afb/20012/cs4/slides/testing-03.html http://www.perl.com/pub/a/2005/07/14/bestpractices.html http://www.cs.bsu.edu/homepages/metrics/cs639d/CS639WWW/chapter7-8/tsld001.htm http://www.satisfice.com/articles/hrbt.pdf http://www.satisfice.com/articles/rbt-trouble.pdf http://www.testassured.com/docs/Dangers.htm http://www-128.ibm.com/developerworks/rational/library/04/r-3217http://www.geocities.com/model_based_testing/shoestring.htm http://people.bath.ac.uk/tjs20/introduction.htm (chinese psotman problem)