System integration testing
   HOME

TheInfoList



OR:

System integration testing (SIT) involves the overall
testing An examination (exam or evaluation) or test is an educational assessment intended to measure a test-taker's knowledge, skill, aptitude, physical fitness, or classification in many other topics (e.g., beliefs). A test may be administered verba ...
of a complete
system A system is a group of Interaction, interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment (systems), environment, is described by its boundaries, ...
of many
subsystem A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and expressed ...
components or elements. The system under test may be composed of hardware, or
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
, or hardware with
embedded software Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has tim ...
, or hardware/software with human-in-the-loop testing. SIT consists, initially, of the "process of assembling the constituent parts of a system in a logical, cost-effective way, comprehensively checking system execution (all nominal & exceptional paths), and including a full functional check-out." Following integration, system test is a process of "
verifying Verification and validation (also abbreviated as V&V) are independent procedures that are used together for checking that a product, service, or system meets requirements and specifications and that it fulfills its intended purpose. These are ...
that the system meets its requirements, and validating that the system performs in accordance with the customer or user expectations." In
technology Technology is the application of knowledge to reach practical goals in a specifiable and reproducible way. The word ''technology'' may also mean the product of such an endeavor. The use of technology is widely prevalent in medicine, science, ...
product development In business and engineering, new product development (NPD) covers the complete process of bringing a new product to market, renewing an existing product or introducing a product in a new market. A central aspect of NPD is product design, along wi ...
, the beginning of system integration testing is often the first time that an entire system has been assembled such that it can be tested as a whole. In order to make system testing most productive, the many constituent assemblies and subsystems will have typically gone through a subsystem test and successfully verified that each subsystem meets its requirements at the subsystem interface level. In the context of
software system A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It "consists of a number of separate programs, configuration files, which are used to se ...
s and
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
, ''system integration testing'' 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,What is System integration testing?
/ref> SIT proceeds to test their required interactions. Following this, the
deliverable A deliverable is a tangible or intangible good or service produced as a result of a project that is intended to be delivered to a customer (either internal or external). A deliverable could be a report, a document, a software product, a server upgr ...
s are passed on to acceptance testing.


Software system integration testing

For
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
SIT is part of the
software testing Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
life cycle for collaborative projects. Usually, a round of SIT precedes the
user acceptance test In engineering and its various subdisciplines, acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical tests, physical tests, or performance tests. In systems en ...
(UAT) round. Software providers usually run a pre-SIT round of tests before consumers run their SIT test cases. For example, if an integrator (company) is providing an enhancement to a customer's existing solution, then they integrate the new application layer and the new database layer with the customer's existing application and database layers. After the integration is complete, users use both the new part (extended part) and old part (pre-existing part) of the integrated application to update data. 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. The purpose of system integration testing is to ensure all parts of these systems successfully co-exist and exchange data where necessary. There may be more parties in the integration, for example the primary customer (consumer) can have their own customers; there may be also multiple providers.


Data driven method

A simple method of SIT which can be performed with minimum usage of software testing tools. Data imports and exports are exchanged before the behavior of each data field within each individual layer is investigated. After the software collaboration, there are three main states of data flow.


Data state within the integration layer

Integration layer can be a
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement co ...
or web service(s) which acts as a medium for data imports and data exports. Data imports and exports performance can be checked with the following steps: # Cross-checking of the data properties within the Integration layer with technical/business specification documents. #* For web service involvement with the integration layer, WSDL and XSD can be used against web service request for the cross check. #* Middleware involvement with the integration layer allows for
data mapping In computing and data management, 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: * Data transformatio ...
s against middleware logs for the cross check. # Execute some unit tests. Cross check the data mappings (data positions, declarations) and requests (character length, data types) with technical specifications. # Investigate the server logs/middleware logs for troubleshooting. Reading knowledge of
WSDL The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
,
XSD XSD (XML Schema Definition), a recommendation of the World Wide Web Consortium ( W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item con ...
, DTD,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
, and EDI might be required for this.


Data state within the database layer

System integration testing of a database layer might proceed as follows: # First check whether all the data have committed to the database layer from the integration layer. # Then check the data properties with the table and column properties with relevant to technical/business specification documents. # Check the data validations/constrains with business specification documents. # If there are any processing data within the database layer then check Stored Procedures with relevant specifications. # Investigate the server logs for troubleshooting. Knowledge in SQL and reading knowledge in tored proceduresmight 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: # Mark all the fields from business requirement documents which should be visible in the UI. # Create a data map from database fields to application fields and check whether necessary fields are visible in UI. # 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. Testers must select best combinations to perform with the limited time and when repeat some of the steps to test those combinations.


References

{{Reflist


See also

*
Integration testing Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase in software testing in which individual software modules are combined and tested as a group. Integration testing is conducted to evaluate the complianc ...
*
User acceptance testing In engineering and its various subdisciplines, acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical tests, physical tests, or performance tests. In systems en ...
(UAT) Systems engineering Software testing System integration