Upload
elfrieda-ryan
View
213
Download
0
Embed Size (px)
Citation preview
August 18, 2005 Jim Nindel-Edwards
How Early, Proactive Test Planning Contributes to Project Success
Based on a paper to be presented at the International Information Management
Association in Dublin, Ireland - September, 2005
August 18, 2005 Jim Nindel-Edwards
Presentation Outline
Introduction Brief primer on requirements Where does the test plan fit in? Addressing requirements issues with the test
plan Conclusion Q & A, Comments, Discussion
August 18, 2005 Jim Nindel-Edwards
Survey of the Requirements Process
The importance of requirements Just cannot succeed without them
Requirements can be missed And too often are missed until late the process
Missed functional requirements vs. other types of requirements
Development methodologies can help, or hinder the requirements process
How can the test plan help?
August 18, 2005 Jim Nindel-Edwards
Requirements – Definitions
Dorfman and Thayer (1990)
A software capability needed by the user to solve a problem to achieve an objective
A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documentation
August 18, 2005 Jim Nindel-Edwards
Unknown Requirements
Watts Humphrey (1990)“Each error, when found, is a surprise
whose correction is both expensive and disruptive.”
Unknown“The users think they know what is wanted, but
during initial use they discover that their real needs are not what they had thought.”
Misunderstood Requirements“Even when the requirements are known and
stable, the implementers often do not understand them in the detail required to produce a satisfactory product.”
August 18, 2005 Jim Nindel-Edwards
What types of requirements are there anyway? Functional – gets most of the attention Application Architecture Environmental Standards Functional needs - secondary user
groups Security
August 18, 2005 Jim Nindel-Edwards
Where does the Test Plan fit?
Functional requirements: Test what is supposed to work (of course)
Test what is not supposed to work (Negative testing)
Testing in priority sequence (Pri1, Pri2, etc.)
Regression Testing Testing conflicting requirements (Rich feature
set, ease of use)
August 18, 2005 Jim Nindel-Edwards
Application Architecture
Target hardware and OS environments Performance Test Stress Test Limits Testing Target installation environment vs. actual
implementation environment How does the application respond to
installation in unanticipated environments?
August 18, 2005 Jim Nindel-Edwards
Environmental Requirements
Glenford Myers’s Project Objective List Efficiency Compatibility Security (more later) Reliability Maintainability Upgradeability
Shared environments
August 18, 2005 Jim Nindel-Edwards
Standards Requirements
Standards – Abstractions of hardware and software Target Operating System(s) Target Hardware Supported vs. non-supported environments Industry standards (XML, SOAP, UDDI, etc.)
Validation that standards are met Edge, boundary, and “corner” tests
August 18, 2005 Jim Nindel-Edwards
Secondary User Groups
Secondary users are users also! Installers, super users, DBAs Testing the documentation for all types of
users groups Testing the installation, upgrade, rollback,
and trouble shooting processes Conversion and upgrades from other software
packages and/or old versions Reliability, efficiency, storage requirements
August 18, 2005 Jim Nindel-Edwards
Product and System Security
Security requirements – Application or Environment? Security holes typically lie in-between these
two areas Making certain the security requirements are
clearly documented, and testable Continuous testing of security features, and
searching for security holes Tests must include all user groups
August 18, 2005 Jim Nindel-Edwards
Back to the test plan
Verify functionality, find defects Use a checklist (handout) Build the test plan early in the project, and
keep it up to date You will affect the requirements document in
this process! Test all aspects of the product at every
milestone Early test failure(s) need not indicate a poor
product, just an “immature” product
August 18, 2005 Jim Nindel-Edwards
Conclusion
Not having a test plan is not a good idea!
Having a test plan, even late in the project, is better than not having one at all At least you can document what was tested, and not
tested, in the development process
Early test planning leads to more comprehensive tests earlier in the development process
Test plans at the very start of a project can uncover missing and misunderstood requirements before they add delays to the project
August 18, 2005 Jim Nindel-Edwards
Q & A, Comments, Suggestions
Question: What is a “good” bug? And what might you change in your project to catch
this one early?
August 18, 2005 Jim Nindel-Edwards
Thanks!
Jim Nindel-Edwards, SQA Lead, Costco Wholesale, Costco.com
Email: [email protected]
My thanks to SASQAG And my Graduate Advisor, Dr. Gerhard Steinke,
Seattle Pacific University