SlideShare uma empresa Scribd logo
1 de 44
GUI Testing
Approaches
   Will Shen
  2004/12/21
References
   Hierarchical GUI Test Case Generation
    Using Automated Planning
       Atif M. Memon, Student Member, IEEE, Martha E.
        Pollack, and Mary Lou Soffa, Member, IEEE
   Plan Generation for GUI Testing
       Atif M. Memon and Martha E. Pollack and Mary
        Lou Soffa Dept. of Computer Science University of
        Pittsburgh Pittsburgh, PA 15260 USA fatif, pollack,
        soffag@cs.pitt.edu
   Coverage Criteria for GUI Testing
     Atif M. Memon Dept. of Computer Science
      University of Pittsburgh Pittsburgh, PA 15260
      atif@cs.pitt.edu
     Mary Lou Soffa Dept. of Computer Science
      University of Pittsburgh Pittsburgh, PA 15260
      soffa@cs.pitt.edu
     Martha E. Pollack Dept. of Electrical Engineering
      and Computer Science, University of Michigan Ann
      Arbor, MI 48109pollackm@eecs.umich.edu
Outline
1.   Introduction
2.   Overview of PATHS
3.   Coverage Criteria for GUI Testing
4.   Conclusions
1. Introduction
   Testing GUI is difficult:
       The space of possible interactions with a GUI is
        enormous.
          In that each sequence of GUI commands can result in a
           different state
          A GUI command may need to be evaluatedion all of these
           states.
       Determining the coverage of a set of test cases.
            No only how much the code is tested, but in how many
             different possible states of the software each piece of code
             is tested.
   An important aspect of GUI testing is
    verification of its state at each step of test case
    execution.
       The execution of the test case must be terminated as
        soon as an error is detected.
   Regression testing presents special challenges for
    GUIs.
       The input-output mapping does not remain constant
        across successive versions of the software.
2. Overview of PATHS
   Planning Assited Tester for grapHical user
    interface Systems.
   A new approach to automatic testing of GUIs
    that builds on AI planning techniques.
   Given a specification of initial and goal states for
    a GUI, a planner is used to generate sequences
    of GUI actions that lead from the initial state to
    the goal state.
2.1 The Example GUI

               Microsoft WordPad
(a) the Initial States




(b) The Goal State
2.2 Test case generation process
   Two phases
       Setup phase
        1.   PATHS creates a hierarchical model of the GUI and
             returns a list of operators from the model to the test
             designer
        2.   By using knowledge of the GUI, the test designer then
             defines the preconditions and effects of the operators in
             a simple language provided by the planning system.
   Plan-generation
    1.   The test designer describes scenarios (tasks) by defining
         a set of initial and goal states for test case generation.
    2.   PATHS generates a test suite for the scenarios.
2.3 Deriving GUI operators
   2.3.1 Events
   2.3.2 Operators
   2.3.3 Operator-Event mapping
   2.3.4 The Step1 of example GUI
   2.3.5 The Step2 of EDIT_CUT
   2.3.6 The Step3 initial state and goal state
   2.3.7 The Step4 generate test case
2.3.1 Events
   Three classes of GUI event
     Unrestricted-focus events open GUI windows that
      do not restrict the user’s focus
     Restricted-focus events open GUI windows that
      have the special property that once invoked, they
      monopolize the GUI interaction.
     System-interaction events interact with the
      underlying software to perform some action.
2.3.2 Operators
   The setup phase starts creating a list of a
    operators to be used during planning.
   Exploiting the GUI structure to derive
    hierarchical operators that are decomposed
    during planning.
     System-Interaction Operators
     Abstract Operators
System-Interaction Operators
   To represent sequences of GUI actions that a
    user might perform to eventually interact with
    the underlying software.
   A sequence of zero or more unrestricted-focus
    events, followed by a system-interaction event.
   Example:
     Edit_Cut = <Edit, Cut>
     Edit_Paste = <Edit, Paste>
Abstract Operators
   Created from the restricted-focus events, which
    contain two parts:
     The prefix of an abstract operator is the sequence of
      unrestricted-focus events that lead to restricted-
      focus event.
     The suffix of an abstract operator represents the
      restricted-focus user interaction.
2.3.3 Operator-Event mapping
   In order to keep a correspondence between the
    original GUI events and these high-level
    operators.
2.3.4 The Step1 of example GUI




          (a) Original GUI Events




    (b) Planning operators derived by PATHS
2.3.5 The Step2 of EDIT_CUT
2.3.6 The Step3 initial state and goal
                state
2.3.7 The Step4 generate test case
          High level plan that must be decomposition




  decomposition                               decomposition
An alternative decomposition
A new test case
3. Coverage Criteria for GUI Testing
   3.1 What is Coverage Criteria
   3.2 Event-flow Graphs
   3.3 Integration Tree
   3.4 Intra-component Coverage Criteria
   3.5 Inter-component Coverage Criteria
3.1 What is Coverage Criteria
   Coverage criteria are sets of rules to help
    determine whether a test suite has adequately
    tested a program and to guide the testing
    process.
   Important rules that provide an objective
    measure of test quality.
   This paper define a new class of coverage
    criteria called event-based coverage criteria to
    determine the adequacy of tested event
    sequences, focus on GUIs.
   The key idea is to define the coverage of a test
    suite in terms of GUI events and their
    interactions.
   A GUI component is represented by a new
    structure called an event-flow graph that
    identifier events within a component.
   The interactions among GUI components are
    captured by a representation called the
    integration tree.
   Intra-component coverage criteria for events
    within a component
       event, event-interaction and length-n event-sequence
        coverage.
   Inter-component coverage criteria for events
    among components.
       invocation, invocation-termination and length-n
        event-sequence coverage
3.2 Event-flow Graphs
A part of the Main* component of MS
B                     WordPad




I                                                                 I           I




*
    We assume that all GUIs have a Main component, that is presented to the
                      user when the GUI is first invoked.
3.3 Integration Tree
An integration tree for a part of MS WordPad
3.4 Intra-component Coverage
                  Criteria
   3.4.1 Event Coverage
   3.4.2 Event-interaction Coverage
   3.4.3 Length-n Event-sequence Coverage
3.4.1 Event Coverage
Event-sequence:
3.4.2 Event-interaction Coverage
3.4.3 Length-n Event-sequence
           Coverage
3.5 Inter-component Coverage
                  Criteria
   3.5.1 Invocation Coverage
   3.5.2 Invocation-termination Coverage
   3.5.3 Inter-component Length-n Event-
    sequence Coverage
3.5.1 Invocation Coverage
3.5.2 Invocation-termination
          Coverage
3.5.3 Inter-component Length-n
   Event-sequence Coverage
4. Conclusion
   Automatic testing of GUIs that builds on AI
    planning technique
   Coverage criteria for GUI testing
   We also plan to explore the possibility of using
    the event-based coverage criteria for software
    other than GUIs.
     Object-oriented software
     Networking software
     The broader class of reactive software

                 Any questions?

Mais conteúdo relacionado

Mais procurados

Measuring effort for modifying software package as
Measuring effort for modifying software package asMeasuring effort for modifying software package as
Measuring effort for modifying software package aseSAT Publishing House
 
Unit Test using Test Driven Development Approach to Support Reusability
Unit Test using Test Driven Development Approach to Support ReusabilityUnit Test using Test Driven Development Approach to Support Reusability
Unit Test using Test Driven Development Approach to Support Reusabilityijtsrd
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems James Hill
 
Chapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesChapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesNeeraj Kumar Singh
 
Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...Waqas Tariq
 
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSQUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSijseajournal
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)Amr E. Mohamed
 
Software Design 1: Coupling & cohesion
Software Design 1: Coupling & cohesionSoftware Design 1: Coupling & cohesion
Software Design 1: Coupling & cohesionAttila Magyar
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...ijfcstjournal
 
Reengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachReengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachIJECEIAES
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approachajeetmnnit
 
ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 6ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 6Yogindernath Gupta
 
20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysisWill Shen
 

Mais procurados (19)

Measuring effort for modifying software package as
Measuring effort for modifying software package asMeasuring effort for modifying software package as
Measuring effort for modifying software package as
 
Software engg unit 4
Software engg unit 4 Software engg unit 4
Software engg unit 4
 
50120140502011
5012014050201150120140502011
50120140502011
 
Unit Test using Test Driven Development Approach to Support Reusability
Unit Test using Test Driven Development Approach to Support ReusabilityUnit Test using Test Driven Development Approach to Support Reusability
Unit Test using Test Driven Development Approach to Support Reusability
 
A03720106
A03720106A03720106
A03720106
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
Chapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesChapter 2 - White Box Test Techniques
Chapter 2 - White Box Test Techniques
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Cyclomatic complexity
Cyclomatic complexityCyclomatic complexity
Cyclomatic complexity
 
Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...Determination of Software Release Instant of Three-Tier Client Server Softwar...
Determination of Software Release Instant of Three-Tier Client Server Softwar...
 
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSQUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
Software Design 1: Coupling & cohesion
Software Design 1: Coupling & cohesionSoftware Design 1: Coupling & cohesion
Software Design 1: Coupling & cohesion
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...
 
Reengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachReengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approach
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approach
 
ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 6ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 6
 
20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis20050314 specification based regression test selection with risk analysis
20050314 specification based regression test selection with risk analysis
 

Destaque

GUI Design by Roni Sue Player
GUI Design by Roni Sue PlayerGUI Design by Roni Sue Player
GUI Design by Roni Sue PlayerRoniSue Player
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqugaoliang641
 
Top trump project 2012
Top trump project 2012Top trump project 2012
Top trump project 2012Holly Brabbins
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Michael Larsen
 
GROOT VOLKOOMEN MOLENBOEK
GROOT VOLKOOMEN MOLENBOEKGROOT VOLKOOMEN MOLENBOEK
GROOT VOLKOOMEN MOLENBOEKKees Vanger
 
Innovative Test Automation Solution
Innovative Test Automation SolutionInnovative Test Automation Solution
Innovative Test Automation SolutionAlan Lee White
 
Gremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming LanguageGremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming LanguageMarko Rodriguez
 
The Packaging issue | Caffeine | ITA
The Packaging issue | Caffeine | ITAThe Packaging issue | Caffeine | ITA
The Packaging issue | Caffeine | ITAMad Factory Snc
 
Testing project (basic)
Testing project (basic)Testing project (basic)
Testing project (basic)Lokesh Singrol
 
Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAlan Richardson
 
Nieuwsbrief mosterdmolen de Vlijt Meppel deel 6
Nieuwsbrief mosterdmolen de Vlijt  Meppel deel 6Nieuwsbrief mosterdmolen de Vlijt  Meppel deel 6
Nieuwsbrief mosterdmolen de Vlijt Meppel deel 6Kees Vanger
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation FailsRanorex
 
Solving Problems with Graphs
Solving Problems with GraphsSolving Problems with Graphs
Solving Problems with GraphsMarko Rodriguez
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsDharmalingam Ganesan
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance99tests
 
The Packaging issue | Caffeine | ENG
The Packaging issue | Caffeine | ENGThe Packaging issue | Caffeine | ENG
The Packaging issue | Caffeine | ENGMad Factory Snc
 
Matrix Representation Of Graph
Matrix Representation Of GraphMatrix Representation Of Graph
Matrix Representation Of GraphAbhishek Pachisia
 

Destaque (20)

GUI Testing
GUI TestingGUI Testing
GUI Testing
 
GUI Design by Roni Sue Player
GUI Design by Roni Sue PlayerGUI Design by Roni Sue Player
GUI Design by Roni Sue Player
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqu
 
Webinar - 'Test Case Immunity’- Optimize testing
Webinar - 'Test Case Immunity’- Optimize testing Webinar - 'Test Case Immunity’- Optimize testing
Webinar - 'Test Case Immunity’- Optimize testing
 
Top trump project 2012
Top trump project 2012Top trump project 2012
Top trump project 2012
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
 
GROOT VOLKOOMEN MOLENBOEK
GROOT VOLKOOMEN MOLENBOEKGROOT VOLKOOMEN MOLENBOEK
GROOT VOLKOOMEN MOLENBOEK
 
Innovative Test Automation Solution
Innovative Test Automation SolutionInnovative Test Automation Solution
Innovative Test Automation Solution
 
testing
testingtesting
testing
 
Gremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming LanguageGremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming Language
 
The Packaging issue | Caffeine | ITA
The Packaging issue | Caffeine | ITAThe Packaging issue | Caffeine | ITA
The Packaging issue | Caffeine | ITA
 
Testing project (basic)
Testing project (basic)Testing project (basic)
Testing project (basic)
 
Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and Beyond
 
Nieuwsbrief mosterdmolen de Vlijt Meppel deel 6
Nieuwsbrief mosterdmolen de Vlijt  Meppel deel 6Nieuwsbrief mosterdmolen de Vlijt  Meppel deel 6
Nieuwsbrief mosterdmolen de Vlijt Meppel deel 6
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Solving Problems with Graphs
Solving Problems with GraphsSolving Problems with Graphs
Solving Problems with Graphs
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from Models
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance
 
The Packaging issue | Caffeine | ENG
The Packaging issue | Caffeine | ENGThe Packaging issue | Caffeine | ENG
The Packaging issue | Caffeine | ENG
 
Matrix Representation Of Graph
Matrix Representation Of GraphMatrix Representation Of Graph
Matrix Representation Of Graph
 

Semelhante a 20041221 gui testing survey

IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui softwareWill Shen
 
Gui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperGui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperIzzat Alsmadi
 
20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testingWill Shen
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationIRJET Journal
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceIRJET Journal
 
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...Young-Min Baek
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...eSAT Journals
 
Bug Tracking System (BTS)
Bug Tracking System (BTS)Bug Tracking System (BTS)
Bug Tracking System (BTS)IRJET Journal
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: TestabilityPranay Singh
 
Hrishikesh_iitg_internship_report
Hrishikesh_iitg_internship_reportHrishikesh_iitg_internship_report
Hrishikesh_iitg_internship_reportHrishikesh Malakar
 
JUnit with_mocking
JUnit with_mockingJUnit with_mocking
JUnit with_mockingZeeshan Khan
 
SOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONSOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONAmin Bandeali
 
Agile2015 short paper presentation: Development of Complex Software with Agil...
Agile2015 short paper presentation: Development of Complex Software with Agil...Agile2015 short paper presentation: Development of Complex Software with Agil...
Agile2015 short paper presentation: Development of Complex Software with Agil...Alan Braz
 
From Concepts to Implementation: Why I Missed My First Paper Submission Deadline
From Concepts to Implementation: Why I Missed My First Paper Submission DeadlineFrom Concepts to Implementation: Why I Missed My First Paper Submission Deadline
From Concepts to Implementation: Why I Missed My First Paper Submission DeadlineMiguel Velez
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineeringijtsrd
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleEmi Rizki Ayunanda
 
A distinct approach for xmotif application gui test automation
A distinct approach for xmotif application gui test automationA distinct approach for xmotif application gui test automation
A distinct approach for xmotif application gui test automationeSAT Publishing House
 
Unit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative studyUnit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative studyIRJET Journal
 

Semelhante a 20041221 gui testing survey (20)

IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software
 
Gui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paperGui path oriented test generation algorithms paper
Gui path oriented test generation algorithms paper
 
20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing20050713 critical paths for gui regression testing
20050713 critical paths for gui regression testing
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
2.5 gui
2.5 gui2.5 gui
2.5 gui
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-Service
 
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
[Presentation] Automated Model-Based Android GUI Testing using Multi-Level GU...
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...
 
Bug Tracking System (BTS)
Bug Tracking System (BTS)Bug Tracking System (BTS)
Bug Tracking System (BTS)
 
Quality Attribute: Testability
Quality Attribute: TestabilityQuality Attribute: Testability
Quality Attribute: Testability
 
Hrishikesh_iitg_internship_report
Hrishikesh_iitg_internship_reportHrishikesh_iitg_internship_report
Hrishikesh_iitg_internship_report
 
JUnit with_mocking
JUnit with_mockingJUnit with_mocking
JUnit with_mocking
 
SOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONSOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATION
 
Agile2015 short paper presentation: Development of Complex Software with Agil...
Agile2015 short paper presentation: Development of Complex Software with Agil...Agile2015 short paper presentation: Development of Complex Software with Agil...
Agile2015 short paper presentation: Development of Complex Software with Agil...
 
From Concepts to Implementation: Why I Missed My First Paper Submission Deadline
From Concepts to Implementation: Why I Missed My First Paper Submission DeadlineFrom Concepts to Implementation: Why I Missed My First Paper Submission Deadline
From Concepts to Implementation: Why I Missed My First Paper Submission Deadline
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineering
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
A distinct approach for xmotif application gui test automation
A distinct approach for xmotif application gui test automationA distinct approach for xmotif application gui test automation
A distinct approach for xmotif application gui test automation
 
Unit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative studyUnit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative study
 

Mais de Will Shen

20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)
20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)
20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)Will Shen
 
16格筆記讀書法
16格筆記讀書法16格筆記讀書法
16格筆記讀書法Will Shen
 
Bade Smells in Code
Bade Smells in CodeBade Smells in Code
Bade Smells in CodeWill Shen
 
Intro To BOOST.Spirit
Intro To BOOST.SpiritIntro To BOOST.Spirit
Intro To BOOST.SpiritWill Shen
 
20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...Will Shen
 
20060411 face recognition using face arg matching
20060411 face recognition using face arg matching20060411 face recognition using face arg matching
20060411 face recognition using face arg matchingWill Shen
 
20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)Will Shen
 
20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State MachineWill Shen
 
Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)Will Shen
 
Junit Recipes - Elementary tests (1/2)
Junit Recipes  - Elementary tests (1/2)Junit Recipes  - Elementary tests (1/2)
Junit Recipes - Elementary tests (1/2)Will Shen
 
Junit Recipes - Intro
Junit Recipes - IntroJunit Recipes - Intro
Junit Recipes - IntroWill Shen
 
20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...Will Shen
 
20060927 application facades
20060927 application facades20060927 application facades
20060927 application facadesWill Shen
 
20111018 boost and gtest
20111018 boost and gtest20111018 boost and gtest
20111018 boost and gtestWill Shen
 
Data collection for field studies
Data collection for field studiesData collection for field studies
Data collection for field studiesWill Shen
 

Mais de Will Shen (15)

20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)
20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)
20180717 Introduction of Seamless BLE Connection Migration System (SeamBlue)
 
16格筆記讀書法
16格筆記讀書法16格筆記讀書法
16格筆記讀書法
 
Bade Smells in Code
Bade Smells in CodeBade Smells in Code
Bade Smells in Code
 
Intro To BOOST.Spirit
Intro To BOOST.SpiritIntro To BOOST.Spirit
Intro To BOOST.Spirit
 
20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...20070514 introduction to test ng and its application for test driven gui deve...
20070514 introduction to test ng and its application for test driven gui deve...
 
20060411 face recognition using face arg matching
20060411 face recognition using face arg matching20060411 face recognition using face arg matching
20060411 face recognition using face arg matching
 
20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)20060411 Analytic Hierarchy Process (AHP)
20060411 Analytic Hierarchy Process (AHP)
 
20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine20041113 A Test Generation Tool for Specifications in the Form of State Machine
20041113 A Test Generation Tool for Specifications in the Form of State Machine
 
Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)Junit Recipes - Elementary tests (2/2)
Junit Recipes - Elementary tests (2/2)
 
Junit Recipes - Elementary tests (1/2)
Junit Recipes  - Elementary tests (1/2)Junit Recipes  - Elementary tests (1/2)
Junit Recipes - Elementary tests (1/2)
 
Junit Recipes - Intro
Junit Recipes - IntroJunit Recipes - Intro
Junit Recipes - Intro
 
20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...20060712 automated model based testing of community-driven open-source gui ap...
20060712 automated model based testing of community-driven open-source gui ap...
 
20060927 application facades
20060927 application facades20060927 application facades
20060927 application facades
 
20111018 boost and gtest
20111018 boost and gtest20111018 boost and gtest
20111018 boost and gtest
 
Data collection for field studies
Data collection for field studiesData collection for field studies
Data collection for field studies
 

20041221 gui testing survey

  • 1. GUI Testing Approaches Will Shen 2004/12/21
  • 2. References  Hierarchical GUI Test Case Generation Using Automated Planning  Atif M. Memon, Student Member, IEEE, Martha E. Pollack, and Mary Lou Soffa, Member, IEEE  Plan Generation for GUI Testing  Atif M. Memon and Martha E. Pollack and Mary Lou Soffa Dept. of Computer Science University of Pittsburgh Pittsburgh, PA 15260 USA fatif, pollack, soffag@cs.pitt.edu
  • 3. Coverage Criteria for GUI Testing  Atif M. Memon Dept. of Computer Science University of Pittsburgh Pittsburgh, PA 15260 atif@cs.pitt.edu  Mary Lou Soffa Dept. of Computer Science University of Pittsburgh Pittsburgh, PA 15260 soffa@cs.pitt.edu  Martha E. Pollack Dept. of Electrical Engineering and Computer Science, University of Michigan Ann Arbor, MI 48109pollackm@eecs.umich.edu
  • 4. Outline 1. Introduction 2. Overview of PATHS 3. Coverage Criteria for GUI Testing 4. Conclusions
  • 5. 1. Introduction  Testing GUI is difficult:  The space of possible interactions with a GUI is enormous.  In that each sequence of GUI commands can result in a different state  A GUI command may need to be evaluatedion all of these states.  Determining the coverage of a set of test cases.  No only how much the code is tested, but in how many different possible states of the software each piece of code is tested.
  • 6. An important aspect of GUI testing is verification of its state at each step of test case execution.  The execution of the test case must be terminated as soon as an error is detected.  Regression testing presents special challenges for GUIs.  The input-output mapping does not remain constant across successive versions of the software.
  • 7. 2. Overview of PATHS  Planning Assited Tester for grapHical user interface Systems.  A new approach to automatic testing of GUIs that builds on AI planning techniques.  Given a specification of initial and goal states for a GUI, a planner is used to generate sequences of GUI actions that lead from the initial state to the goal state.
  • 8. 2.1 The Example GUI Microsoft WordPad
  • 9. (a) the Initial States (b) The Goal State
  • 10. 2.2 Test case generation process  Two phases  Setup phase 1. PATHS creates a hierarchical model of the GUI and returns a list of operators from the model to the test designer 2. By using knowledge of the GUI, the test designer then defines the preconditions and effects of the operators in a simple language provided by the planning system.
  • 11. Plan-generation 1. The test designer describes scenarios (tasks) by defining a set of initial and goal states for test case generation. 2. PATHS generates a test suite for the scenarios.
  • 12.
  • 13. 2.3 Deriving GUI operators  2.3.1 Events  2.3.2 Operators  2.3.3 Operator-Event mapping  2.3.4 The Step1 of example GUI  2.3.5 The Step2 of EDIT_CUT  2.3.6 The Step3 initial state and goal state  2.3.7 The Step4 generate test case
  • 14. 2.3.1 Events  Three classes of GUI event  Unrestricted-focus events open GUI windows that do not restrict the user’s focus  Restricted-focus events open GUI windows that have the special property that once invoked, they monopolize the GUI interaction.  System-interaction events interact with the underlying software to perform some action.
  • 15. 2.3.2 Operators  The setup phase starts creating a list of a operators to be used during planning.  Exploiting the GUI structure to derive hierarchical operators that are decomposed during planning.  System-Interaction Operators  Abstract Operators
  • 16. System-Interaction Operators  To represent sequences of GUI actions that a user might perform to eventually interact with the underlying software.  A sequence of zero or more unrestricted-focus events, followed by a system-interaction event.  Example:  Edit_Cut = <Edit, Cut>  Edit_Paste = <Edit, Paste>
  • 17. Abstract Operators  Created from the restricted-focus events, which contain two parts:  The prefix of an abstract operator is the sequence of unrestricted-focus events that lead to restricted- focus event.  The suffix of an abstract operator represents the restricted-focus user interaction.
  • 18. 2.3.3 Operator-Event mapping  In order to keep a correspondence between the original GUI events and these high-level operators.
  • 19. 2.3.4 The Step1 of example GUI (a) Original GUI Events (b) Planning operators derived by PATHS
  • 20. 2.3.5 The Step2 of EDIT_CUT
  • 21. 2.3.6 The Step3 initial state and goal state
  • 22. 2.3.7 The Step4 generate test case High level plan that must be decomposition decomposition decomposition
  • 23.
  • 24.
  • 26. A new test case
  • 27. 3. Coverage Criteria for GUI Testing  3.1 What is Coverage Criteria  3.2 Event-flow Graphs  3.3 Integration Tree  3.4 Intra-component Coverage Criteria  3.5 Inter-component Coverage Criteria
  • 28. 3.1 What is Coverage Criteria  Coverage criteria are sets of rules to help determine whether a test suite has adequately tested a program and to guide the testing process.  Important rules that provide an objective measure of test quality.
  • 29. This paper define a new class of coverage criteria called event-based coverage criteria to determine the adequacy of tested event sequences, focus on GUIs.  The key idea is to define the coverage of a test suite in terms of GUI events and their interactions.
  • 30. A GUI component is represented by a new structure called an event-flow graph that identifier events within a component.  The interactions among GUI components are captured by a representation called the integration tree.
  • 31. Intra-component coverage criteria for events within a component  event, event-interaction and length-n event-sequence coverage.  Inter-component coverage criteria for events among components.  invocation, invocation-termination and length-n event-sequence coverage
  • 33. A part of the Main* component of MS B WordPad I I I * We assume that all GUIs have a Main component, that is presented to the user when the GUI is first invoked.
  • 35. An integration tree for a part of MS WordPad
  • 36. 3.4 Intra-component Coverage Criteria  3.4.1 Event Coverage  3.4.2 Event-interaction Coverage  3.4.3 Length-n Event-sequence Coverage
  • 40. 3.5 Inter-component Coverage Criteria  3.5.1 Invocation Coverage  3.5.2 Invocation-termination Coverage  3.5.3 Inter-component Length-n Event- sequence Coverage
  • 43. 3.5.3 Inter-component Length-n Event-sequence Coverage
  • 44. 4. Conclusion  Automatic testing of GUIs that builds on AI planning technique  Coverage criteria for GUI testing  We also plan to explore the possibility of using the event-based coverage criteria for software other than GUIs.  Object-oriented software  Networking software  The broader class of reactive software Any questions?

Notas do Editor

  1. 要由 a 得到 b 的 goal ,有數種法子: 1. 由 Document.doc 轉成 new.doc ,只要刪掉一些字。 2. 由 doc2.doc 轉成 new.doc ,要增加一些字 3. 或是開一空白文件檔輸入文字。