Software testing is a field with no set "best practices." Because so much of testing is based on the particular context of the test, it's often difficult to clarify, categorize and dispense advice on aspects of software testing. However, there are fundamental rules around which testers can frame their work. This learning guide contains advice for software testing broadly and regression testing, performance testing and user acceptance testing specifically. The section on regression testing also includes a subsection on smoke and sanity testing.
These tips, articles, expert responses, book excerpts and webcasts will guide you toward a greater understanding of software testing. If you have any resources that you would like to share, or have suggestions for a future learning guide topic, please email me.
|TABLE OF CONTENTS
Software testing basics
User acceptance testing
Other useful resources
Test plans, test cases, test strategies, test methodologies, test models and testing types are defined and discussed below.
- Tip: Software testing deliverables -- From test plans to status reports: This detailed tip from David W. Johnson breaks down software testing into its basic components. Test plans, test cases, defect documents and status reports are spelled out.
- Expert response: Testing methodologies, testing strategies and testing types: John Overbaugh explains the crucial differences among these testing terms and how they relate to the testing process. Additionally, Overbaugh elaborates on methodologies such as monkey testing, smoke testing and integration testing.
- Expert response: How to design test cases: Testing expert Karen N. Johnson explains how to create practical and reusable test cases.
- Expert response: How to define a test strategy: John Overbaugh lists the key steps testers can take to find the information they need to settle on a test strategy.
- Tip: The A-B-Cs of software testing models: In order to pick a testing model, Scott Barber separates testing activities into several categories. Barber uses these categories to illustrate the basic models of waterfall, agile and iterative.
- Expert response: How to choose a software testing methodology: Testers have a number of models to choose from, agile, waterfall, V-model and spiral being just a few. Expert John Overbaugh discusses how to figure out which model will work for your particular situation.
- Article: Ten software testing traps: These obstacles, both internal and external, can affect the best of testers.
- Expert response: Software quality and testing -- Resources for beginners: Mike Kelly recommends websites, articles, videos and books for those looking to break into software testing.
- Tip: Ten skills of highly effective software testers: Intellect alone will not cut it. Testers must have analytical, organizational and communication skills to do their jobs correctly. Baiju M. deciphers the essential qualities of a good software tester.
- Book excerpt: Lessons Learned in Software Testing: A Context-Driven Approach -- Chapter 3, Testing Techniques: Cem Kaner, James Bach and Bret Pettichord each lent their considerable experience to this testing book. "Testing Techniques" presents a classification system for testing.
- Book excerpt: Managing the Testing Process -- Chapter 2, The Test Plan: Writing a good test plan can mean the difference between a useful test and a waste of time. Author Rex Black demonstrates how to write an effective test plan in this free chapter.
- Q&A: Techniques for successful software test teams: Testers who have felt underappreciated, misunderstood or underpaid will find insight into their plights in this interview with Judy McKay, author of Managing the Test People. Also included is a link to a free chapter of that book, "Keeping Your Beast Effective."
- Tip: How to estimate for testing on a new software project: Karen N. Johnson and Mike Kelly outline their techniques for estimating software projects. Included are links to a webcast, book and expert responses on this subject.
Visit our next section for tips, advice and articles on performance testing.