20050713 critical paths for gui regression testing

Post on 27-Jun-2015

280 views 2 download

Tags:

description

Critical Paths for GUI Regression Testing. Alexander K. Ames and Haward Jie. Univ. of California, Santa Cruz

Transcript of 20050713 critical paths for gui regression testing

Critical Paths for GUI Regression Testing

Zheng-Wen Shen

2005/07/13

References

Critical Paths for GUI Regression Testing. Alexander K. Ames and Haward Jie. Univ. of California, Santa Cruz

http://www.soe.ucsc.edu/~sasha/ S’04 – Topics in Software Engineering

Outline

1. Introduction

2. Background

3. Methodology

4. Evaluation

5. Future Work

6. Conclusion

1. Introduction

The goal of regression test selection analysis is to answer the following question:

To apply test selection to test suites, and determine the critical unit tests to detect which state are the critical paths to test.

In describing GUI testing

A state to be the result of a single user action or manipulation of the GUI.

There are paths between states.

Critical path

2. Background

Manual Regression Testing The manual testing of the interface.

A time-consuming and labor intensive process.

Automatic Regression Testing Capture/Replay tools

The replay portion can be problematic.

Unit Testing for GUIs

Comparison of Testing Techniques

Conventional Process for GUI testing

Modified Process for GUI Testing

GUI call graphs

A call graph as opposed to a CFG

The vertices of the graphs represent the states of the GUI

The edges within the graph show action taken in the manipulation of the GUI that shall bring in from one state to the next.

The weights represent how many times the test traverses the same states.

G = (V, S, e, x)

p = [s1, s2, …, sn], n>2

p = [s1, v1, s2, v2, …, vn-1, sn], n>2

GUI Regression Selection

3. Methodology

3.1 Assumptions

3.2 Test Case Data Capture

3.3 XML Parsing

3.4 Unit Test

3.1 Assumptions

The test cases also have some redundancy paths.

The Standard GUI classes perform according to the specification.

The next version of the tested software will not have any dramatic changes.

The applications being tested is that given an implementation of the applications with separate GUI and non-GUI components.

Pure frontend for presentation V.S. backend or business logic layers.

Our focus in testing is strictly on the functionality of the user-interface.

3.2 Test Case Data Capture

To capture the test case data we use a capture/replay tool – Abbot.

Abbot has provided us with the test case data in XML format.

We introduce a testing aide that reads the XML data.

The Abbot’s XML test script

3.3 XML Parsing

3.4 Unit Test

After the critical paths have been identified, we need to check the correctness of the states.

Use a JUnit regression framework.

4. Evaluation

1. Jdai

2. Numerical Chameleon

3. Huckster

4. BeatsByDesign

4.1 Data for test case parsing

Plotting exec time for number of test cases

4.2 Test Implementation

JDAI Testcase 1: Image Rotation

JDAI Testcase 2: Image Info Edit

5. Future Work

To build the next version to be extensible with respect to the XML DTD.

Automate the coding of the unit tests directly from processing the captured GUI test suites.

6. Conclusion

We see that GUI regression tests have redundant steps which are critical to the functioning of the GUI and deserve sufficient testing.

Performing the unit tests for critical states will save much time and testing versus manually trying to set up the tests without knowing them or going through the manual testing process.

Jdai (Java Digital Album Infrastructure)

Numerical Chameleon

Huckster

BeatsByDesign