A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information...

18
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney Enoex School of Applied Sciences and Arts Southern Illinois University 06/19/2008 REU Summer Program Florida International University School of Computing and Information Sciences Yanelis Hernandez PhD Student

Transcript of A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information...

Page 1: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

A Self-Configuring Test Harness for Web Applications

Jairo PavaSchool of Computing and

Information SciencesFlorida International University

Courtney EnoexSchool of Applied Sciences and

ArtsSouthern Illinois University

06/19/2008REU Summer Program

Florida International University School of Computing and Information Sciences

Yanelis HernandezPhD Student

Page 2: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

• Many Web Application Technologies

• No Standard Test Script Language

• Application May Provide Believable Result

• Migration of Technologies is Difficult and Time Consuming

• Cost of Software Testing Accounts for Fifty to Seventy-Five Percent of Total Development Costs [5]

Motivation

2

Page 3: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Presentation Content

•Background•Problem Statement•Objectives•Implementation•Evaluation Criteria•Project Plan

3

Page 4: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

• Autonomic computing is a computing environment with the ability to manage itself and dynamically adapt to change in accordance with business policies and objectives [IBM05]

• IBM first coined the term Autonomic Computing in March 2001.

Background – Autonomic Computing

4

Page 5: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

• There are four characteristics that make up Autonomic Computing:– Self-Healing - diagnose and correct problems

– Self-Protecting - able to anticipate and handle security risks

– Self-Configuring - automatically adapt to change

– Self-Optimizing - be able to track changes and act accordingly

Background – Autonomic Computing

5

Page 6: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Background - Regression Testing

• Testing Web Applications is Necessary

• Complex Web Applications Make Testing Difficult

• Regression Testing Points to Code Modifications That Cause Previously Functional Code to Fail

• Allows the Ability to Catch Regression Errors As Soon As They Are Introduced.

• Subtle Changes in Code Can Introduce Errors

6

Page 7: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Background - Automated Testing

• Meta-Model Allows Development of High Level Abstract Test Script Language • Meta-Model Contains Abstract Definitions of Web Application Elements

• Migrating Test Scripts is Challenging if the New Technology is Not Supported By the Current Testing Tool

• “Scripts have to be re-written in the scripting language of a new testing tool, defeating the purpose of test automation.” [1]

7

Page 8: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

8

• An Integrated Self-Testing Framework for Autonomic Computing Systems• Tariq M. King, Alain E. Ramirez, Rodolfo Cruz, Peter J. Clarke• Authors developed an autonomic testing framework.

• Towards Model-Driven Testing• Reiko Heckel and Marc Lohmann• Model-Driven Approach to Support Execution of Test Scripts

• A Meta-Model to Support Regression Testing of Web Applications• Yanelis Hernandez, Tariq M. King, Jairo Pava, Peter J. Clarke• Model-Driven Approach to Create High-Level Abstract Test Script

Language

Literature Review

8

Page 9: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Problem Statement

To Develop A Web Application Test Harness that Dynamically Configures Its Test Suite to Generate and Execute Platform Specific Test Scripts .

9

Page 10: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Objectives

• Extend Previous Work by Hernandez et al. [1]• Minimize Human Interaction• Increase Web Technology Support

• Develop Self-Configuring Algorithm• Dynamic Selection of Test Suites• Automatic Execution of Platform Specific Test Script

• Implementation• Design and Test Web Applications

• Deliverables• Technical Report• ACM SAC 2009• ACMSE 2009

10

Page 11: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Implementation

• Design Three E-Commerce Web Applications• Similar Specifications• Different Web Technology Constructs

• HTML• PHP• Ruby on Rails

• Design and Apply Test Cases to Web Applications Using Autonomic Meta-Model

• ASP. Net• AJAX• MySQL

11

Page 12: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Evaluation Criteria

• Design and Apply Pre-Determined Test Cases• Pass• Fail

• Criteria• Accurate Identification of Web Technologies by Monitor• Proper Syntax of Platform Specific Test Script• Successful Execution in Test Tool• Appropriate Decisions Based on Policies

12

Page 13: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Related Work

• Meta-Model• Develop High-Level Abstract Test Script Language• Use Generator to Generate Platform Specific Test Scripts

• One Test Script for Testing Multiple Web Technologies

13

Page 14: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

• Monitor1 Detect Web Technologies in Web Application5 Compute Amount of Code Coverage

• Analyze2 Identify Change in Web Technology6 Evaluate of Code Coverage

• Plan3 Structure Platform Specific Test Script7 Generate Test Plan

• Execute4 Execute Test Script8 Perform Policy Guided Decisions

Self-Configuring Algorithm

14

Page 15: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Self-Configuring Algorithm

Web Application

15

Page 16: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Summary

• Autonomic Property of Self-Configuration

• Automatically Identify Web Application Technologies

• Dynamically Configure Test Suite for Test Script Generation

• Generate Test Script

• Execute Test Script in Respective Tool

• Make Decisions Based on Test Results and Policies

16

Page 17: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

References

•[1] A Meta-Model to Support Regression Testing of Web ApplicationsYanelis Hernandez, Tariq M. King, Jairo Pava, Peter J ClarkeInternational SEKE Conference April 2008

•[2] An Integrated Self-Testing Framework for Autonomic Computing SystemsTariq M. King, Alain E. Ramirez, Rodolfo Cruz, Peter J. ClarkeAcademy Publisher November 2007

•[3] Towards Model-Driven TestingR. Heckel and M. LohmannElectr. Notes Theor. Comput. Sci. 82(6) 2003

•[4] An Architectural Approach to Autonomic ComputingSteven R. White, James E. Hanson, Ian Whalley, David M. Chess, Jeffrey O. KephartInternational Conference on Autonomic Computing 2004

•[5] Software Debugging, Testing, and VerificationIBM Systems Journal 2002

17

Page 18: A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.

Questions?

Comments?

End

18