Testing Life Cycle – Part 1

Posted on October 20, 2011 | Tagged as: , | 0 comments

Testing should be considered as equal the development process. Each step during an engineers programming activity has a corresponding testing activity. While each logical module adds to the growth of the software, these parts and integrations must be tested in different ways, following different approaches. The first part of the “Testing Life Cycle” series covers component and integration tests.

Component test

A component test generally tests each software module against its specification. This happens isolated form other modules to prevent external influences. It should not be mixed up with debugging as it’s not about eliminating bugs but about a structured way of identifying errors.

Component tests follow several goals:

Component tests are usually performed as whitebox tests on code level. The tester (or more common the developer) can simulate the flow of the program or the used parameters by manipulating the code itself. Modern component test follow the test first principle which means that all tests are considered before implementation starts. In this iterative process, the code is improved as long as all tests pass successfully.

Integration test

An integration test builds up on previous component tests of each single module. Groups of those components are assembled or integrated to a larger element or system. Tests in this step consider the interaction of the single parts with each other. So the goal is in finding error within the interfaces or the interaction with other components or external systems.

The main goal of the test is identifying faulty interface specifications or error in data exchange. The following error conditions are typical:

The chosen integration strategy is critical. Based on on the project plan and the system architecture, not all components are finished at the same time. The following strategies can be a help for planing:

What should be avoided is a so called big bang. This means that testing is not done before all components are finished and integration is tested all at once. With this situation it’s complex and time-consuming identifying the faulty components and get the whole system running at all.

The next part of the series will cover system and acceptance tests.

No Comments to “Testing Life Cycle – Part 1”

Comments are closed

agile brand development interaction design leadership mobile persuasion product management requirements engineering search seo service design system design testing user experience user story