|
Introduction
The
eValid product technology represents an abstraction of web testing
that has as its primary goal the development
of algorithmic/structural testing rather than programmatic testing.
This page identifies key distinctions between these three types of testing:
As the table shows, these three approaches differ in a variety of ways including effectiveness, ease-of-use, test durability, and technical difficulty.
Observations About Functional Testing From Different Perspectives | |||
Topic | Record/Play Testing Paradigm | Structural/Algorithmic Testing | Programmatic Testing |
Advantages & Disadvantages | |||
Summary | Quick & reliable, no training required. | Flexible, durable tests, minimal training required. | Flexible, durable tests requiring deep programming and web application knowledge. |
Relative Degree of Difficulty | 1 | 1.5 | 10+ |
Typical Title of User | QA Staff | Test Engineer | Software Developer |
Required Skill Set | General Technical Knowledge
Web Application Familiarity | General Technical/Engineering Knowledge
Light Programming Basic Web Application Familiarity | In-Depth Programming
Deep Web Application Familarity |
Knowledge Required | Application operation (browser based application). | Location and description of objects on page, limited knowledge of DOM properties. | Programming language, complete DOM details. |
What Operator Does | Click to record test. | Adapt recorded test using index/motion commands. | Create complete program to perform desired test action. |
Estimated Cost Effectiveness | Very high because recordings are so easy to make. | High because most scripts can be "developed" from a recorded prototype. | Low because scripting without a recording is difficult. |
Technology Concerns | |||
Underlying Technology Basis | Extracts data from DOM and writes the script automatically. | Index/motion commands and DOM-synchronization commands. | C++ programming language interface to existing commands as API. |
Tolerance for Dynamic Page Changes | Adaptive playback overcomes most dynamic changes. | Invulnerable to dynamic changes. | Invulnerable to dynamic changes. |
Operation on Normal (Non-AJAX) Applications | Record/Play gets 99+% "what you see and what you do is what eValid records and what eValid plays back". | If Record/Play works OK, then the script is the "test algorithm". | Not needed. |
Operation on Basic AJAX Applications | Record/Play forms the basis for the algorithmic test. | Identify de-synchronizations, repair them, and you have a good AJAX test. | Identify de-synchronizations, write programs to overcome each one separately. |
Operation with Complex AJAX Applications | Record/Play produced script probably will fail. Augmentation with algorithmic methods needed. | Index/motion and DOM-synchronization | Use the recording as the specification, requires hand coding in the EPI. |
eValid Product Option Description | |||
eValid Product Options | eValid
Regression Test Bundle | eValid
AJAX Regression Test Bundle With PAGEMAP Feature Index/Motion Commands | eValid/EPI:
eValid Programmatic Interface With PAGEMAP Feature |