180 likes | 190 Views
This project aims to develop a self-configuring test harness for web applications that dynamically configures its test suite to generate and execute platform-specific test scripts. The goal is to minimize human interaction, increase web technology support, and automate the testing process. The implementation involves designing and testing three e-commerce web applications using different web technology constructs like HTML, PHP, and Ruby on Rails. The evaluation criteria include accurate identification of web technologies, proper syntax of platform-specific test scripts, and successful execution in the test tool. This project is based on previous work by Hernandez et al. and aims to extend their research.
E N D
Florida International University School of Computing and Information Sciences 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 Yanelis Hernandez PhD Student REU Summer Program 06/19/2008
Motivation • 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] 2
Presentation Content • Background • Problem Statement • Objectives • Implementation • Evaluation Criteria • Project Plan 3
Background – Autonomic Computing • 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. 4
Background – Autonomic Computing • 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 5
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
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
Literature Review • 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 8
Problem Statement To Develop A Web Application Test Harness that Dynamically Configures Its Test Suite to Generate and Execute Platform Specific Test Scripts . 9
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
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
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
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
Self-Configuring Algorithm • Monitor • 1 Detect Web Technologies in Web Application • 5 Compute Amount of Code Coverage • Analyze • 2 Identify Change in Web Technology • 6 Evaluate of Code Coverage • Plan • 3 Structure Platform Specific Test Script • 7 Generate Test Plan • Execute • 4 Execute Test Script • 8 Perform Policy Guided Decisions 14
Self-Configuring Algorithm Web Application 15
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
References • [1] A Meta-Model to Support Regression Testing of Web Applications • Yanelis Hernandez, Tariq M. King, Jairo Pava, Peter J Clarke • International SEKE Conference April 2008 • [2] An Integrated Self-Testing Framework for Autonomic Computing Systems • Tariq M. King, Alain E. Ramirez, Rodolfo Cruz, Peter J. Clarke • Academy Publisher November 2007 • [3] Towards Model-Driven Testing • R. Heckel and M. Lohmann • Electr. Notes Theor. Comput. Sci. 82(6) 2003 • [4] An Architectural Approach to Autonomic Computing • Steven R. White, James E. Hanson, Ian Whalley, David M. Chess, Jeffrey O. Kephart • International Conference on Autonomic Computing 2004 • [5] Software Debugging, Testing, and Verification • IBM Systems Journal 2002 17
End Questions? Comments? 18