Tuesday, November 12, 2013

How does Software Testing Fits in an Organization

Software testing is an activity that is always done in an organization, and it can be anchored in many different ways in an organization. It can in fact be anchored in several places during the course of a development project and the subsequent maintenance period for the product running in production.

Let’s first take a look at the different organizational units involved in Software Testing.

They can, for example, be:

# Product management
# Project management
# Quality assurance department
# Development department
# Development team
# Internal test department or test team
# External Software testing organization
# Internal or internal consultants
# Sales / marketing department
# Support organization
# Internal IT-department
# The customer
# Present and future end users
# Subcontractor(s)
# Process or method department

Distributing the responsibility for all the Software testing activities for the appropriate testing levels and the defined testing roles over organizational units is a three-dimensional jigsaw.

Following guidelines are generally observed in the Software testing organizations:

# Testing requires one or more Software testing teams - We can for example have a test team for component and integration testing, and another team for system testing.

# Test teams are composed of a number of roles - All the roles must be covered for the entire test task for a project, but it could be that the component testing does not require a test environment responsible or a domain expert.

# A role can be filled by one or more people - This depends on the size of the Software testing team. We may for example need one responsible for the test, a number of test designers, and an even greater number of test executors for a large test task.

# One person can fill one or more roles - Again this depends on the size.

# The test designer can for example also be the test executor. Here it is important to remember that less than 25% assignment to a role is as good as zero.

# People may come from different organizations - The developers could be test designers and executors for the component testing; people from an independent Software testing department could fill these roles for system testing; and customer representatives could fill them for acceptance testing.

The distribution of the roles must be done with great care and documented explicitly and precisely in the test plan and/or other relevant plans.

No comments: