System integration testing
Encyclopedia
In the context of software system
Software system
A software system is a system based on software forming part of a computer system . The term "software system" is often used as a synonym of computer program or software; is related to the application of systems theory approaches in software engineering context and are used to study large and...

s and software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

, system integration testing (SIT) is a testing process that exercises a software system's coexistence with others. With multiple integrated systems, assuming that each have already passed system testing, SIT proceeds to test their required interactions. Following this, the deliverable
Deliverable
Deliverable is a term used in project management to describe a tangible or intangible object produced as a result of the project that is intended to be delivered to a customer . A deliverable could be a report, a document, a server upgrade or any other building block of an overall project.A...

s are passed on to acceptance testing.

Introduction

SIT is part of the software testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

 life cycle for collaborative projects. Usually, round of SIT precedes the user acceptance test (UAT) round. And software providers usually run a pre-SIT round before consumers run their SIT test cases.

As an example, if integrator (company) is providing an enhancement to customer's existing solution, then they integrate the new application layer and the new database layer with existing customer's application and existing database layers.
After the integration completes, users use the new part (extended part) of the integrated application to update data. Along they use old part (pre-existing part) of the integrated application. A process should exist to exchange data imports and exports between the two data layers. This data exchange process should keep both systems up-to-date. Purpose of the system integration testing is to make sure whether these systems are successfully integrated and been up-to-date by exchanging data with each other.

There may be more parties in the integration, for example the customer (consumer) can have their own customers; there may be also multiple providers.

Data driven method

This is a simple method which can perform with minimum usage of the software testing tools. Exchange some data imports and data exports. And then investigate the behavior of each data field within each individual layer. There are three main states of data flow after the software collaboration has done.

Data state within the integration layer

Integration layer can be a middleware
Middleware
Middleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...

 or web service(s)
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

 which is act as a media for data imports and data exports.
Perform some data imports and exports and check following steps.

1. Cross check the data properties within the Integration layer with technical/business specification documents.

- If web service involved with the integration layer then we can use WSDL and XSD against our web service request for the cross check.

- If middleware involved with the integration layer then we can use data mappings
Data mapping
Data mapping is the process of creating data element mappings between two distinct data models. Data mapping is used as a first step for a wide variety of data integration tasks including:...

 against middleware logs for the cross check.
2. Execute some unit tests.
Cross check the data mappings (data positions, declarations) and requests (character length, data types) with technical specifications.
3. Investigate the server logs/middleware logs for troubleshooting.

(Reading knowledge of WSDL, XSD, DTD
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...

, XML, and EDI
Electronic Data Interchange
Electronic data interchange is the structured transmission of data between organizations by electronic means. It is used to transfer electronic documents or business data from one computer system to another computer system, i.e...

 might be required for this)

Data state within the database layer

1. First check whether all the data have committed to the database layer from the integration layer.

2. Then check the data properties with the table and column properties with relevant to technical/business specification documents.

3. Check the data validations/constrains with business specification documents.

4. If there are any processing data within the database layer then check Stored Procedures with relevant specifications.

5. Investigate the server logs for troubleshooting.

(Knowledge in SQL and reading knowledge in stored procedures might be required for this)

Data state within the Application layer

There is not that much to do with the application layer when we perform a system integration testing.

1. Mark all the fields from business requirement documents which should be visible in the UI.

2. Create a data map from database fields to application fields and check whether necessary fields are visible in UI.

3. Check data properties by some positive and negative test cases.
There are many combinations of data imports and export which we can perform by considering the time period for system integration testing

(We have to select best combinations to perform with the limited time). And also we have to repeat some of the above steps in order to test those combinations.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK