- Idea 1: Involve Testers from the Beginning
- Idea 2: Verify the Requirements
- Idea 3: Design Test Procedures As Soon As Requirements Are Available
- Idea 4: Ensure That Requirement Changes Are Communicated
- Idea 5: Beware of Developing and Testing Based on an Existing System
Test Planning
- Idea 6: Understand the Task At Hand and the Related Testing Goal
- Idea 7: Consider the Risks
- Idea 8: Base Testing Efforts on a Prioritized Feature Schedule
- Idea 9: Keep Software Issues in Mind
- Idea 10: Acquire Effective Test Data
- Idea 11: Plan the Test Environment
- Idea 12: Estimate Test Preparation and Execution Time
The Testing Team
- Idea 13: Define Roles and Responsibilities
- Idea 14: Require a Mixture of Testing Skills, Subject-Matter Expertise, and Experience
- Idea 15: Evaluate the Tester's Effectiveness
The System Architecture
- Idea 16: Understand the Architecture and Underlying Components
- Idea 17: Verify That the System Supports Testability
- Idea 18: Use Logging to Increase System Testability
- Idea 19: Verify That the System Supports Debug and Release Execution Modes
Test Design and Documentation
- Idea 20: Divide and Conquer
- Idea 21: Mandate the Use of a Test-Procedure Template and Other Test-Design Standards
- Idea 22: Derive Effective Test Cases from Requirements
- Idea 23: Treat Test Procedures As "Living" Documents
- Idea 24: Utilize System Design and Prototypes
- Idea 25: Use Proven Testing Techniques when Designing Test-Case Scenarios
- Idea 26: Avoid Including Constraints and Detailed Data Elements within Test Procedures
- Idea 27: Apply Exploratory Testing
Unit Testing
- Idea 28: Structure the Development Approach to Support Effective Unit Testing
- Idea 29: Develop Unit Tests in Parallel or Before the Implementation
- Idea 30: Make Unit-Test Execution Part of the Build Process
Automated Testing Tools
- Idea 31: Know the Different Types of Testing-Support Tools
- Idea 32: Consider Building a Tool Instead of Buying One
- Idea 33: Know the Impact of Automated Tools on the Testing Effort
- Idea 34: Focus on the Needs of Your Organization
- Idea 35: Test the Tools on an Application Prototype
Automated Testing: Selected Best Practices
- Idea 36: Do Not Rely Solely on Capture/Playback
- Idea 37: Develop a Test Harness When Necessary
- Idea 38: Use Proven Test-Script Development Techniques
- Idea 39: Automate Regression Tests When Feasible
- Idea 40: Implement Automated Builds and Smoke Tests
Nonfunctional Testing
- Idea 41: Do Not Make Nonfunctional Testing an Afterthought
- Idea 42: Conduct Performance Testing with Production-Sized Databases
- Idea 43: Tailor Usability Tests to the Intended Audience
- Idea 44: Consider All Aspects of Security, for Specific Requirements and System-Wide
- Idea 45: Investigate the System's Implementation To Plan for Concurrency Tests
- Idea 46: Set Up an Efficient Environment for Compatibility Testing
Managing Test Execution
- Idea 47: Clearly Define the Beginning and End of the Test-Execution Cycle
- Idea 48: Isolate the Test Environment from the Development Environment
- Idea 49: Implement a Defect-Tracking Life Cycle
- Idea 50: Track the Execution of the Testing Program
Reference:
- Effective software testing : 50 specific ways to improve your testing / Elfriede Dustin.
Reference: Effective software testing : 50 specific ways to improve your testing / Elfriede Dustin.
ReplyDelete