Project Team
Linda Ricks
"Software development is making me feel an important person..."

In Software System development projects testing is a separate process aimed at defining whether the developed Software System product meets its requirements. Most Software Programming software firms offer it as a part of the overall development process and include testing phase into the project lifecycle. However, some outsourcers prefer delegating testing, or its part, to a third-party Software Programming provider or onshore company.

Today, very few companies start testing process after the whole product has been developed. With the spread of agile methods of Software System development the activity is included into each iteration plan. This approach helps to test each requirement right after it is developed, and detect and fix bugs immediately. Most Software Programming companies use this model.

In test-driven process, unit tests are written before the start of programming. The further process is based on these tests.

There are 3 kinds of testing classified by Tester’s point of view while testing a piece of Software System. Black-box testing means that test cases are developed according to a general view to the system, and Tester checks only system’s outputs to Tester’s inputs. White-box testing provides internal view to the system or a piece of Software System. Grey-box testing means that Tester can manipulate testing environment.

Depending on the size of system component which is tested, there are several levels of testing. The normal Software System development process includes unit testing, integration testing, system testing (functional and non-functional), and acceptance testing. The first 3 levels are usually implemented by a provider’s team in Software Programming projects. Such model is convenient for both Client and Software System development provider, as any bugs detected at early stages are immediately reported to programming team and fixed.

Acceptance testing is usually performed by Client, a representative of Client, or end-users. It is testing of the whole programming product, and it is normally based on the contracted acceptance criteria. Basing on its results Client decides whether to accept the Software System or not.

System testing and acceptance testing may be outsourced to a third-party testing provider.

In mature Software System development companies test plan is created on the early stage of Offshore Software Project lifecycle. Programming team participates in its creation, knows it and agrees with it. Unit tests are written before the Software System construction starts. Testers and Test Engineer (or Test Analyst) are necessary people in any Software System development Offshore Software Project, especially in Software Programming projects. This is the core activity within the Offshore Software Project, and it must take not less than 30% of the overall efforts needed for the Offshore Software Project.

Published on 7/30/2007

 

Valid XHTML 1.0 Strict  Valid CSS!