| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
| |
Gauging Web-Enabled Applications | |
| |
| |
| |
The Forces at Work Affecting Your Web-Enabled Software | |
| |
| |
The First Three Axioms | |
| |
| |
Web-Enabled Applications, the New Frontier | |
| |
| |
Why Writing High-Quality Software Today Is Hard | |
| |
| |
The Myth of Version 2.0 | |
| |
| |
Management's Quest for Grail | |
| |
| |
Trying for Homogeneity When Heterogeneity Rules | |
| |
| |
The Language of Bugs | |
| |
| |
The Evil Twin Vice Presidents Problem | |
| |
| |
A Concise History of Software Development | |
| |
| |
Web-Enabled Applications | |
| |
| |
Test Paradigms and Lifecycle Processes | |
| |
| |
Testing Methods | |
| |
| |
Click-Stream Testing | |
| |
| |
Unit Testing | |
| |
| |
Functional System Testing | |
| |
| |
Scalability and Performance Testing | |
| |
| |
Quality of Service Testing | |
| |
| |
Defining Test Agents | |
| |
| |
Scalability and Performance Testing with Test Agents | |
| |
| |
Testing for the Single User | |
| |
| |
Creating Intelligent Test Agents | |
| |
| |
Automated Testing | |
| |
| |
Summary | |
| |
| |
| |
When Application Performance Becomes a Problem | |
| |
| |
Just What Are Criteria? Defining Criteria for Good Web Performance | |
| |
| |
Are the Features Working? Is Performance Acceptable? How Often Does It Fail? Web-Enabled Application Measurement Tools | |
| |
| |
The Web Rubric | |
| |
| |
The Four Tests of Good Performance | |
| |
| |
Components of a Good Test Agent | |
| |
| |
Web-Enabled Application Types | |
| |
| |
The Web-Enabled Application Points System (WAPS) | |
| |
| |
The Web-Enabled Application's Framework | |
| |
| |
The Flapjacks Architecture | |
| |
| |
Adopting Flapjacks and Intelligent Test Agents | |
| |
| |
Building Intelligent Test Agents in a Flapjacks Environment | |
| |
| |
Script Languages and Test Agents | |
| |
| |
Generating Meaningful Data | |
| |
| |
Summary | |
| |
| |
| |
Modeling Tests | |
| |
| |
Modeling User Behavior for Meaningful Test Results | |
| |
| |
Lifecycles, Projects, and Human Nature | |
| |
| |
The Micromax Lifecycle | |
| |
| |
Categorizing Problems | |
| |
| |
Prioritizing Problems | |
| |
| |
Reporting Problems | |
| |
| |
Criteria for Evaluating Problems | |
| |
| |
Considerations for Web-Enabled Application Tests | |
| |
| |
Functionality and Scalability Testing | |
| |
| |
Functional Testing | |
| |
| |
Scalability Testing | |
| |
| |
Testing Modules for Functionality and Scalability | |
| |
| |
Management Styles | |
| |
| |
Service Level Agreements | |
| |
| |
Grid Computing and Intelligent Agents | |
| |
| |
The Road to Easy Setup, Use, and Maintenance | |
| |
| |
Self-Healing Systems | |
| |
| |
Understanding Performance and Scalability Criteria | |
| |
| |
Defining SPC. SPC in Action | |
| |
| |
Modeling a User's Goals | |
| |
| |
Test States | |
| |
| |
Using UML and Code Comments to Model Tests | |
| |
| |
Putting the Test Together | |
| |
| |
Summary | |
| |
| |
| |
Java Development and Test Automation Tools | |
| |
| |
The Three Waves | |
| |
| |
Desktop Application Development and Test Automation | |
| |
| |
Client/Server Development and Test Automation | |
| |
| |
Web-Enabled Development and Test Automation | |
| |
| |
Achieving the Troika-the Fourth Wave | |
| |
| |
A Test Automation Lifecycle | |
| |
| |
Summary | |
| |
| |
| |
Bridging from Methodology to Design | |
| |
| |
Searching for Tools to Enable the Troika | |
| |
| |
How to Get TestMaker | |
| |
| |
TestMaker and the Open Source Process | |
| |
| |
Spending Five Minutes with TestMaker | |
| |
| |
Installing TestMaker on a Windows or Linux Computer | |
| |
| |
Running TestMaker | |
| |
| |
Getting to Know the TestMaker Graphic Environment | |
| |
| |
Opening and Running Test Agents | |
| |
| |
Building Agents with the New Agent Wizard | |
| |
| |
Why I Like Jython | |
| |
| |
| |
Jython Is Quick | |
| |
| |
Data Structures and List Iteration Come for Free | |
| |
| |
| |
Dynamic Variables with Automatic Typing | |
| |
| |
| |
Functions Are First Class | |
| |
| |
| |
Java Integration | |
| |
| |
| |
Bean Property Introspection | |
| |
| |
| |
Sun Is Adopting Scripting in Java | |
| |
| |
Using Jython to Incorporate JUnit | |
| |
| |
JUnit for Repeatable Tests | |
| |
| |
A JUnit Example | |
| |
| |
JUnit and TestMaker | |
| |
| |
Summary | |
| |
| |
II | |
| |
| |
| |
Design And Test In HTTP/HTML Environments | |
| |
| |
The HTTP/HTML Environment | |
| |
| |
What Usually Goes Wrong | |
| |
| |
Compliance, As in Non, and Browser Caching | |
| |
| |
Invalid Data | |
| |
| |
Session Problems | |
| |
| |
Constructing HTTP Test Agents | |
| |
| |
Hands-On HTTP Communication | |
| |
| |
Understanding Cookies, Sessions, and Redirection | |
| |
| |
Validating Response Data | |
| |
| |
Summary | |
| |
| |
| |
Tuning SOAP and XML Web Services | |
| |
| |
The Web Services Vision | |
| |
| |
XML-RPC for Web Interoperability | |
| |
| |
Where XML-RPC Falls Short | |
| |
| |
Universal Interoperability with SOAP | |
| |
| |
Web Service Scalability Techniques | |
| |
| |
Web Service Interoperability Problems | |
| |
| |
Discovery | |
| |
| |
Definition | |