What Do Software Testers Do? (Version 0.1)

by Rosie Sherry

A while back I asked the community the very important question of 'What Testers Do?'.  The idea being that many people outside of testing often struggle to understand what we do and also our industry has changed quite a bit in the past few years and I thought it would be worth a shot at redefining what software testers do.

A few of us have filtered out, organised and suitably edited hundreds of entries from the community.  The result is the list below.

How does the below match up to your job as a tester?

However, we feel the list is incomplete! So, we'd love to have your help!  Please leave a comment with ideas for edits or additions.

What Do Software Testers Do? The List!

They Explore These Types of Testing

  • Exploratory testing
  • Functional testing
  • Performance testing
  • Usability testing
  • Security testing
  • Regression testing
  • Stress testing
  • Load testing
  • ATDD
  • Monkey testing
  • Test automation
  • Checking

They Do Things Related To Bugs

  • Raising bugs / Breaking things
  • Re-opening bugs
  • Fixing bugs
  • Managing bugs
  • Retesting bugs
  • Validating bugs

They Get Involved With Information Gathering

  • Knowledge gathering
  • Investigating technology
  • Asking questions
  • Researching known issues
  • Learning about the product
  • Collecting and analyzing metrics
  • Test reporting
  • Identifying the cause of problems
  • Market research

They Do Testing Type Activities

  • Designing and reviewing test strategies, test plans & test cases
  • Monitoring
  • Reporting
  • Process improvement
  • Deploying code to test environments
  • Solving problems
  • Discovering broken assumptions
  • Administrative tasks (this is a bit vague, perhaps we can expand on it?)
  • Saying "that's odd" and exploring what's going on behind the scenes
  • Considering whether both the requirement and customer expectations have been delivered
  • Getting stakeholders to sign-off my work
  • Ensuring the client gets what they require
  • Writing mindmaps

They Perform Tasks Related to Tests

  • Executing test cases
  • Maintaining tests
  • Writing automated scripts
  • Generating test data
  • Writing testing tools
  • Maintaining the test environment

They Can Manage Testing

  • Coordinating testing
  • Helping to plan sprints
  • Preparing test plans
  • Attending planning sessions
  • Documenting workflows
  • Documentation
  • Deciding when to stop testing
  • Managing testers in the team
  • Balancing resources between projects
  • Interviewing and recruitment

The Can Analyse Things!

  • Mapping out ideas
  • Analysing stories
  • Discussing business processes
  • Understanding users
  • Reading and reviewing requirements
  • Assessing and exposing risk
  • Putting myself in our user's shoes to test products
  • Turning user scenarios into test scenarios
  • Root cause analysis
  • Improving the product backlog
  • Digging through logs
  • Creating burndown charts
  • Test results analysis

They Can Do Other Things...

  • Making the world a better place
  • Deploying software
  • Investigating production problems in legacy code to find underlying cause
  • Annoying developers 😉
  • Keeping track of the client's objectives

Software Testers Like To Improve Themselves...

On the job:

  • asking questions
  • learning from the product
  • learning to code
  • maintaining a cynical view
  • looking for better ways to do the things I need to do
  • learning about new tools

Going to things:

  • conferences (like TestBash!)
  • training courses
  • meetups

Self and Online Learning:

  • blogs
  • books
  • podcasts
  • courses
  • webinars
  • videos
  • conference talks
  • social media

We can seek to give or receive through:

  • Coaching
  • Explanations
  • Mentoring
  • Teaching

Software Testers Can Also Help Improve Others!

Practically we can do things like:

  • Help prepare user guides
  • Sharing useful articles and other items with team members
  • Recommending changes to processes
  • Support testers in finding relevant information
  • Blog and write about testing things
  • Contributing to the company testing guild
  • Coach developers (or anyone!) about testing
  • Do presentations
  • Attend or organise activities like Lean Coffee
  • Give experience reports
  • Documenting the testing
  • Training others
  • Introducing new processes
  • share resources (like books!)
  • Introducing others to the community

Software Testers Really Can Work With Others

  • Talking to stakeholders, customers, engineers, management; anyone and everyone
  • Working with developers to solve problems
  • Collaborating with all team members
  • Encouraging developers to provide fix details and retest guidance for bug fixes
  • Herding sheep 🙂
  • Reviewing code
  • Suggesting enhancements to the product
  • Pairing with developers
  • Working with project/program managers to find gaps in requirements/user stories/specifications/use cases
  • Assisting with investigation of customer issues
  • Providing information to others about the state of the software
  • Discussing feature design with UX designers and developers
  • Participating in the daily standup meeting
  • Attending showcases and demo's
  • Chatting
  • Offering help
  • Working with other testers
  • Acting as the "corporate memory" for past changes and problems
  • Helping developers fail fast
  • Helping clients test changes
  • Being the interface between development and business, explaining things to each side in terms they understand.
  • Helping stakeholders make their expectations about the software more clear
  • Supporting users
  • Making others tea and coffee
  • Peer reviewing
  • Attending planning meetings
  • Socialising, selling, explaining, justifying testing efforts
  • Changing mindsets
  • Hosting the test case review meeting
  • Improving product testability