Software Testing - for whom do we test ?

Software Testers spend a significant part of their work lives, testing! How often do testers pause to think about the question - whom are we testing for ? The answer that managers would usually say is - stakeholders. That brings up the next set of questions - who is  a stakeholder and who are the stakeholders for testing ? A stakeholder is someone who has a stake or interest in the work that you do. The testing stakeholder also has an interest in the quality of the final work product. Stakeholders in testing may be broadly classified as internal and external stakeholders.

Some organizations view all stakeholders within the organization as "internal" while any stakeholders outside of the organization are considered as "external". In some other groups, anyone who is involved with the test effort - in terms of performing testing, leading or managing the test efforts are considered as "internal stakeholders" while all other stakeholders are considered to be "external". The list of who constitutes a stakeholder can vary across projects and organizations. Given below is a brief list of stakeholders for testing.
  • Other testers in the group
  • Test Managers and Test Leads, involved in managing and leading test efforts
  • Architects and Designers, responsible for designing the product
  • Implementors - the developers, development managers and leads involved with developing the product
  • Product marketing folks, involved in determining the features for the product and are interested in the quality of implementation of these features
  • Analysts, involved in determining the requirements for the product and the related quality attributes
  • Program/Project Management folks, responsible for project planning, organizing and managing resources for successful completion of project objectives
  • Customer Support folks, responsible for supporting customers and users of the product produced
  • Sales folks, responsible for selling the software
  • Executives / Senior Management of the organization, who run the organization
  • Shareholders of the organization
  • Users of the software
  • Partners of the organization
  • Vendors, who may supply components that are integrated with the product
  • Customers, who pay for the software
  • Community / Society, where the software product is being used
  • Governmental authorities, who are interested in the software complying with applicable laws and regulations
The above list is not complete and can vary depending on your particular project or organization.

Stakeholders generally tend to want the software testing efforts to succeed and ensure that a quality product be produced. However, some stakeholders can be neither positive or negative about your testing outcome. An example would be the government authorities who are normally only interested in your project or organization following the rules rather than whether you really completed a project successfully or not. As long as you do not violate any applicable laws and rules, they should be fine. Few stakeholders could even be interested in seeing the project fail and could be glad if testing showed up a lot of failures. These could be folks who are interested in maintaining the status quo and resistant to change that the project could bring.  It is important for the software testing group to identify who the testing stakeholders are, which of these stakeholders are supportive, who are neutral and who are not supportive.