
Effective Software Testing: 50 Specific Ways to Improve Your Testing
Résumé
Effective Software Testing explores fifty critically important best practices, pitfalls, and solutions. Gleaned from the author's extensive practical experience, these concrete items will enable quality assurance professionals and test managers to immediately enhance their understanding and skills, avoid costly mistakes, and implement a state-of-the-art testing program.
This book places special emphasis on the integration of testing into all phases of the software development life cycle--from requirements definition to design and final coding. The fifty lessons provided here focus on the key aspects of software testing: test planning, design, documentation, execution, managing the testing team, unit testing, automated testing, nonfunctional testing, and more.
You will learn to:- Base testing efforts on a prioritized feature schedule
- Estimate test preparation and execution
- Define the testing team roles and responsibilities
- Design test procedures as soon as requirements are available
- Derive effective test cases from requirements
- Avoid constraints and detailed data elements in test procedures
- Make unit-test execution part of the build process
- Use logging to increase system testability
- Test automated test tools on an application prototype
- Automate regression tests whenever possible
- Avoid sole reliance on capture/playback
- Conduct performance testing with production-sized databases
- Tailor usability tests to the intended audience
- Isolate the test environment from the development environment
- Implement a defect tracking life cycle
Throughout the book, numerous real-world case studies and concrete examples illustrate the successful application of these important principles and techniques.
Effective Software Testing provides ready access to the expertise and advice of one of the world's foremost software quality and testing authorities.
Contents
I. REQUIREMENTS PHASE- Involve Testers from the Beginning
- Verify the Requirements
- Design Test Procedures as Soon as Requirements Are Available
- Ensure That Requirement Changes Are Communicated
- Beware of Developing and Testing Based on an Existing System
- Understand the Task at Hand and the Related Testing Goal
- Consider the Risks
- Base Testing Efforts on a Prioritized Feature Schedule
- Keep Software Issues in Mind
- Acquire Effective Test Data
- Plan for the Test Environment
- Estimate Test Preparation and Execution Time
- Define the Roles and Responsibilities
- Require a Mixture of Testing Skills, Subject Matter Expertise, and Experience
- Evaluate the Testers' Effectiveness
- Understand the Architecture and Underlying Components
- Verify That the System Supports Testability
- Use Logging to Increase System Testability
- Verify That the System Supports Debug vs. Release Execution Modes
- Divide and Conquer
- Mandate the Use of a Test Procedure Template, and Other Test Design Standards
- Derive Effective Test Cases from Requirements
- Treat Test Procedures as "Living" Documents
- Use System Design and Prototypes
- Use Proven Testing Techniques When Designing Test Case Scenarios
- Avoid Constraints and Detailed Data Elements in Test Procedures
- Apply Exploratory Testing
- Structure the Development Approach to Support Effective Unit Testing
- Develop Unit Tests in Parallel or before the Implementation
- Make Unit Test Execution Part of the Build Process
- Know the Different Types of Testing-Support Tools
- Consider Building a Tool Instead of Buying One
- Know the Impact of Automated Tools on the Testing Effort
- Focus on the Needs of Your Organization
- Test the Tools on an Application Prototype
- Do Not Rely Solely on Capture/Playback
- Develop a Test Harness When Necessary
- Use Proven Test Script Development Techniques
- Automate Regression Tests Whenever Possible
- Implement Automated Builds and Smoke-Tests
- Do Not Make Nonfunctional Testing an Afterthought
- Conduct Performance Testing with Production Sized Databases
- Tailor Usability Tests to the Intended Audience
- Consider All Aspects of Security, for Specific Requirements and System-Wide
- Investigate the System's Implementation to Plan for Concurrency Tests
- Setup an Efficient Environment for Compatibility Testing
- Clearly Define the Beginning and the End of the Test Execution Cycle
- Isolate the Test Environment from the Development Environment
- Implement a Defect Tracking Life-Cycle
- Track the Execution of the Test Program
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Addison Wesley |
Auteur(s) | Elfriede Dustin |
Parution | 13/02/2003 |
Nb. de pages | 286 |
Format | 18,5 x 23,5 |
Couverture | Broché |
Poids | 629g |
Intérieur | Noir et Blanc |
EAN13 | 9780201794298 |
ISBN13 | 978-0-201-79429-8 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse