ABSTRACT: This paper discusses how to perform a test process improvement within an organisation and the different types of process improvement models you can use. The paper defines a process to use in performing a review and discusses how to implement the recommendations made as a result of the review.
As part of the implementation of the recommendations, there are considerations around organisational cultural change and the impact change has on the staff. Like most change initiatives, there are a number implementation issues discussed that should be avoided in order to have a successfully implemented set of process changes.
We all would agree, that no matter what type of software we are developing or building, some level of software testing is required to assess whether the software has met its stated requirements. The result of the software testing we have performed at any point in time provides an indicator of the level of risk we have mitigated.
While we try to determine how much test execution needs to be performed based on risk, there are other software quality activities that can be performed or improved to “build quality in” across the entire Software Development Life Cycle (SDLC). These additional software quality activities are focused on other areas of the SDLC and can employ either static and/or dynamic testing techniques, e.g. requirements reviews.
Software Testing and Context
Software development is contextual and therefore the level of perceived risk in the project is determined by a number of attributes including:
- The nature of the software development being undertaken
- The size and complexity of the project
- The predicted project costs
- The industry segment in which the software will be used e.g. Health based systems versus internet online shopping site
The level of perceived risk plays an important role in deciding what level of process needs to be followed; this in turn determines the type of quality assurance and control processes that must be applied. The industry segment the software will be deployed in can also dictate the level of process required due to government legislation and the mandatory requirements that it places on certain software development projects.