Preface
Chapter 1: What is Software Testing? And Other Definitions
- What is Software Testing?
- What is a Software Tester?
- Test Cases vs Exploratory Testing vs Ad Hoc Testing
- What is Manual Testing?
- What is a Test Suite?
- What is Regression Testing?
- What is Smoke Testing?
- What is a Bug?
- What is a Requirement?
- Functional Testing vs Non-Functional Testing
- What is Testability?
- What Are Oracles and Heuristics?
- What Are Feature Flags and Canary Testing?
- Agile vs Waterfall
- What is an API?
- What is a Software Testing Technique?
- What is Shift Left (in testing)?
Chapter 2: Gaining Skills Before (And After) Your First Role
- What Skills Will You Find Useful as a Software Tester?
- Skills Many Employers Tend To Look For
- Personal Recommendations for Courses You Can Take to Upskill
- Gaining Skills with Crowd-Sourced Testing
Chapter 3: Getting Your First Job As A Software Tester
- What Path Should You Take?
- Applying for Software Tester Roles
- Interviewing for Software Tester Roles
- Managing Expectations
- Some Myths When It Comes to Applying for Roles
Chapter 4: What Does a Typical Day Look like?
- Large Waterfall Project
- Co-Located Scrum Team Working With Multiple Releases Each Day
- Co-Located Scrum Team Working With 1-2 Releases Each Month
Chapter 5: How and Why You Should Find a Mentor
- What is a Mentor?
- Benefits of Having a Mentor
- How to Find a Mentor
- How to Have a Successful Mentor-Mentee Relationship
- Mentoring vs Sponsorship
Chapter 6: What I Wish I Knew in My First Year of Testing
- Expectations vs Reality
- Get Involved With The Testing Community
- Better To Be With Developers Than Away From Them
- Great work and Recognition
- Others’ Opinions Of Software Testers Aren’t Always a Reflection of You
Chapter 7: Bug Reports
- What is a Bug Report?
- Why You Should Learn How to Write an Effective Bug Report
- How to Write an Effective Bug Report
- Common Mistakes
Chapter 8: Test Cases vs Exploratory Testing vs Ad Hoc Testing
- When Are Test Cases Most Suitable?
- How Do I Write Test Cases?
- An Analogy to Explain the Limitation of Test Cases
- When Is Exploratory Testing The Best Approach?
- How Can I Do Exploratory Testing Effectively?
- When Is Ad Hoc Testing the Best Approach?
Chapter 9: Testing Against Implicit Requirements
- Explicit Requirements vs Implicit Requirements
- Why Do You Need to Test Against Implicit Requirements
- How to Spot Implicit Requirements
- What Shapes Implicit Requirements
- Heuristics and Oracles You Can Use to Help You Test Against Implicit Requirements
Chapter 10: Test Automation
- What is Test Automation?
- Why Should You Learn Test Automation?
- When Should You Write Test Automation?
- Tip
- How Do You Gain Test Automation Skills?
- Which Programming Language and Test Automation Framework Should You Learn?
- How Do I Find the Time to Gain Test Automation Skills?
- Mnemonic for creating valuable test automation.
Chapter 11: How To Prevent Bugs
- Make Sure The Requirements Are Testable
- Make Sure The Frontend And Backend Are Compatible
- How To Have A Testing Discussion
- Applying Heuristics To Bug Prevention
- Additional Things To Be Aware Of
Chapter 12: Ask For Testability
- Expectations Around Testability
- How You Can Ask For Testability
- Some Examples
- Using Rob Meaney’s 10 P’s of Testability
- Remember
Chapter 13: Preparing For Releases
- Bug Bashes
- The Release
Chapter 14: Getting Started on a Software Testing Project
- Checklist for What New Testers on a Project Need
- Questions You Can Ask When You Start On a New Project
- Some Final Words
