“What Testing Strategy Should We Apply?”.
What Types of Errors Occur Within a WebApp Environment? We have already noted that the primary intent of WebApp testing is to uncover errors (and correct them). Errors encountered as a consequence of successful WebApp testing have a number of unique characteristics [Ngu00] that can have a profound impact on testing and error discovery. Many types of WebApp tests uncover problems that are fi rst evidenced on the client side (i.e., via an interface implemented on a specifi c browser, PDA, or mobile phone). Therefore, you often see a symptom of the error, not the error itself. A WebApp is implemented in a number of different confi gurations and within different environments. Therefore, it may be diffi cult or impossible to reproduce an error outside the environment in which the error was originally encountered. Although some errors are the result of incorrect design or improper coding (in HTML, client-side scripting, server-side programming, or other programming aspects), many errors can be traced to the WebApp confi guration. Those errors that are design related can be diffi cult to trace across three architectural layers—the cli- ent, the server, and the network itself. Some errors are due to the static operating environment (i.e., the specifi c confi guration in which testing is conducted), while others are attributable to the dynamic operating environment (i.e., instantaneous resource loading or time-related errors). These attributes suggest that environment plays an important role in the di- agnosis of all errors uncovered during the WebE process. In some situations (e.g., content testing), the site of the error is obvious, but in many other types of WebApp testing (e.g., navigation testing, performance testing, security testing) the underly- ing cause of the error may be considerably more diffi cult to determine.
What Testing Strategy Should We Apply? The strategy for WebApp testing adopts basic principles for all software testing and applies a strategy and tactics that are often used for object-oriented systems. The following steps summarize the approach:
1. The content model for the WebApp is reviewed to uncover errors. 2. The interface model is reviewed to ensure that all use cases have been accommodated.
CHAPTER 15 TESTING WEBAPPS362
3. The design model for the WebApp is reviewed to uncover navigation errors. 4. The user interface is tested to uncover errors in presentation and/or naviga- tion mechanics. 5. Selected functional components are unit tested. 6. Navigation throughout the architecture is tested. 7. The WebApp is implemented in a variety of different environmental confi gu- rations and is tested for compatibility with each confi guration. 8. Security tests are conducted in an attempt to exploit vulnerabilities in the WebApp or within its environment. 9. Performance tests are conducted. 10. The WebApp is tested by a controlled and monitored population of end users. The results of their interaction with the system are evaluated for con- tent and navigation errors, usability concerns, compatibility concerns, and WebApp reliability and performance.
Because many WebApps evolve continuously, the testing process is an ongoing ac- tivity conducted by Web support staff that use regression tests derived from the tests developed when the WebApp was fi rst engineered.
How Much Test Planning Is Necessary? The use of the word planning (in any context) is anathema to some Web devel- opers. As we noted in earlier chapters, these developers just jump straight into construction—hoping that a killer WebApp will emerge. A Web engineer recog- nizes that planning establishes a road map for all work that follows. It’s worth the effort. In their book on WebApp testing, Splaine and Jaskiel [Spl01] state:
Except for the simplest of Web sites, it quickly becomes apparent that some sort of test planning is needed. All too often, the initial number of bugs found from ad hoc testing is large enough that not all of them are fi xed the fi rst time they’re detected. This puts an additional burden on people who test Web sites and applications. Not only must they conjure up imaginative new tests, but they must also remember how previous tests were executed in order to reliably re-test the Web site/application and ensure that known bugs have been removed and that no new bugs have been introduced.
Two questions for every Web engineer are: how do we “conjure up imaginative new tests,” and what should those tests focus on? The answers to these questions are contained within a test plan. A WebE test plan identifi es: (1) the testing tasks to be applied as testing com- mences, (2) the work products to be produced as each testing task is executed, and (3) the manner in which the results of testing are evaluated, recorded, and reused
Sedang diterjemahkan, harap tunggu..
