Effective testing for IT Services Software Projects

On this page:

Introduction

Testing a software application should not be a haphazard activity with team members randomly inputting any value they can think of. Test cases should be planned so that all requirements and objectives are tested.

There are three different types of testing that need to be incorporated into any project that includes software development.

  1. code-based testing
  2. system testing
  3. user testing

Use these questions to help you incorporate testing into the project plan:

The Three Types of Testing

Code-Based Testing

The first is Code-Based Testing. This is often accomplished though the use of unit tests, which are tests that are written into the software's code, by the developers. The best unit tests run automatically and can also be executed by non-developers, such as the Project Manager. Since code-based testing is different from other types of testing in that the person who writes the test will also be the one to run and check the results of the tests, it's important that the tests are reviewed by a third party. Having another developer review the unit tests is a good idea because the tests are generally written in the same code used to develop the software.

Questions to answer related to Code-Based Testing:

System Testing

The second type is System Testing. These are tests deigned to determine how well the product performs on the system upon which it is running. System Testing is also concerned with testing the connections to and the dependencies on other systems. To execute well on your system testing, you'll need to have all the appropriate service providers involved early, so keep that in mind. Also, system tests should be run and evaluated by someone other than the system owner.

Questions to answer related to System Testing:

User Testing

The third type is User Testing. There are actually two types of user testing. The first is *functional testing*. Functional tests are performed by users to determine if the software does everything the specification says it's supposed to. The second type of user testing is *usability testing*. Usability tests are used to discover problems related to ease-of-use. Test plans for functional tests should be jointly-written by the person responsible for spec (usually the Project Manager) and the person responsible for the user interface (usually the User Experience Specialist). Functional tests are usually completed by a single person sitting down and working through the test plan while taking notes. Usability tests require at least two people (though three or more is ideal). Three people is a good number because then you have one user, one moderator and at least one person to take notes and focus on observation. For all user tests, the authors of the test and the developers of the software are not considered good test subjects because they have knowledge about the software that typical users would not.

Questions to answer related to User Testing:

Functional Testing

Functional Test Plan should include:

Functional Test Environment:

Usability Testing

Usability Test Plan should include:

Usability Testing Environment: