Friday, October 23, 2009

Testing Phases


In this entry, testing phases of a project will be presented.

During development, the technical developers on a team, while possibly co-located with business users, still need to have environments set up for their coding. Programming and debugging tools, computers with fast processors, revision, and document management applications, facilitate the delivery of the products in an efficient manner.

The phases of delivery, while rapid in processes such as Agile, http://www.mountaingoatsoftware.com/scrum, may require separate environments for testing phases. A developer has completed coding, and tests the application on their workstation, without affecting the systems of other team members. This can be called Unit Testing.

Placing Unit tested code in an environment which contains the base configuration of the target application, but is not in a combined testing environment, is termed Systems Test.

Sometimes a forgotten area of testing is the Systems test environment. For larger integrated systems, combining servers, multiple layers server applications, and the introduction of new technologies, each sub-team may need their own systems test area. Many projects will place code directly into the Integration Test environment.

Integration Testing is where all the development code, technologies and components are combined to test all functionality.

Finally, an area for the user’s running their use cases/business process is usually called UAT (User Acceptance Testing). This environment most closely resembles production.

Again, in a rapid development environment, the developer’s code can jump quickly from unit, system to integration, and with co-located users, the UAT can proceed quickly.

Introducing the whole team to the concept of phased testing, can assist in the efficiency of delivering the project on time, and in budget.

No comments:

Post a Comment