Involves the design of test cases that validate that the internal program logic is functioning properly, and that program inputs produce valid outputs. All decision branches and internal code flow should be validated. Unit testing involves the use of debugging technology and testing techniques at an application component level and is typically the responsibility of the developers, not the QA staff.
As the system is integrated, it is tested by the system developer for specification compliance.
•Concerned with testing the system as it is integrated from its components
•Integration testing is normally the most expensive activity in the systems integration process
•Should focus on:
•Interface testing where the interactions between sub-systems and components are tested
•Property testing where system properties such as reliability, performance and usability are tested
Testing the system as a whole to validate that it meets its specification and the objectives of its users. The testing of a complete system prior to delivery. The purpose of system testing is to identify defects that will only surface when a complete system is assembled. That is, defects that cannot be attributed to individual components or the interaction between two components. System testing includes testing of performance, security, configuration sensitivity, startup and recovery from failure modes. Involves test cases designed to validate that an application and its supporting hardware/software components are properly processing business data and transactions.
System test testing requires the use of regression testing techniques to validate that business functions are meeting defined requirements.
Black Box test
This is testing without knowledge of the internal workings of the item being tested. For example, when black box testing is applied to software engineering, the tester would only know the “legal” inputs and what the expected outputs should be, but not how the program actually arrives at those outputs. It is because of this that black box testing can be considered testing with respect to the specifications, no other knowledge of the program is necessary. For this reason, the tester and the programmer can be independent of one another, avoiding programmer bias toward his own work.
White Box test
Also known as glass box, structural, clear box and open box testing. White Box is a software testing technique whereby explicit knowledge of the internal workings of the item being tested are used to select the test data. Unlike Black Box testing, white box testing uses specific knowledge of programming code to examine outputs. The test is accurate only if the tester knows what the program is supposed to do. He or she can then see if the program diverges from its intended goal. White box testing does not account for errors caused by omission, and all visible code must also be readable.