Subscribe by Email


Showing posts with label Incremental Model. Show all posts
Showing posts with label Incremental Model. Show all posts

Tuesday, July 26, 2011

Introduction to Integration testing? What are approaches used in integration testing?

Unit testing is useful to test the modules individually. Problem arises when these modules are put together, which is also called interfacing. There is a huge chance that data is lost across an interface or one module can affect the functionality of the other module or global data structures can present problems.

Integration testing is a technique that is used for constructing software architecture while at the same time conducting tests to uncover errors that arise because of interfacing. There are two approaches to integration testing :

- Taking the big bang approach (all components are combined in advance and then testing is done) to integration is a lazy strategy that is bound to fail. One should integrate in an increment manner and do testing as you go. In big bang approach, cause of fail is not easily tracked and hence the complexity increases.

- Incremental approach can be started early and controlled easily. Incremental testing is usually better for large, complex systems. Two related modules are combined and tested and check whether they are working in the correct manner. Then, another module is added and checked.

Integration testing follows unit testing and precedes system testing. It helps in verifying functional, performance and reliability requirements. Reasons for integration testing includes:
- Fields are defined differently in different modules.
- Different perceptions and understanding of business requirements.
- Field content can have different assumptions.
- There are few errors that can be left uncovered during unit testing.


Monday, July 11, 2011

What is the Incremental Model in Software Engineering? What are its advantages and disadvantages?

When the elements of waterfall model are applied in iterative manner, the result is the Incremental Model. In this, the product is designed, implemented, integrated and tested as incremental builds. This model is more applicable where software requirements are well defined and basic software functionality is required early.

In incremental model, a series of releases called 'increments' are delivered that provide more functionality progressively for customer as each increment is delivered.
The first increment is known as core product. This core product is used by customers and a plan is developed for next increment and modifications are made to meet the needs of the customer. The process is repeated.


ADVANTAGES OF INCREMENTAL MODEL IN SOFTWARE ENGINEERING


- It generates working software quickly and early during the software life cycle.
- Flexibility is more and less costly.
- Testing and debugging becomes easier during a smaller iteration.
- Risk can be managed more easily because they can be identified easily during iteration.
- Early increments can be implemented with fewer people.

DISADVANTAGES OF INCREMENTAL MODEL IN SOFTWARE ENGINEERING


- Each phase of an iteration is rigid and do not overlap each other.
- Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.


Facebook activity