SYSTEM TESTING
System testing is a type of software testing that evaluates the entire system or software application as a whole rather than testing its individual components or modules. It is a crucial step in the software development life cycle (SDLC) that ensures that the system or software meets the required specifications and performs its intended functions correctly and efficiently. System Testing is performed on a complete integrated system to evaluate the compliance of the system with the corresponding requirements. In system testing, integration testing passed components are taken as input. System Testing is carried out on the whole system in the context of either system requirement specifications or functional requirement specifications or in the context of both. System testing tests the design and behavior of the system and also the expectations of the customer. It is performed to test the system beyond the bounds mentioned in the SRS. System Testing is basically performed by a testing team that is independent of the development team that helps to test the quality of the system impartial. It has both functional and non-functional testing.
System Testing is a black-box testing. System Testing is performed after the integration testing and before the acceptance testing. System testing involves testing the software in a real-world environment, simulating end-users' interactions with the system, and verifying that the system meets the requirements and business needs. This includes testing of functional requirements, performance, usability, security, reliability, compatibility, and other aspects of the system.
The system testing process typically includes the following steps :
1. Test planning: Defining test objectives, test scenarios, and test cases to be executed.
2. Test execution: Running the tests and recording the results.
3. Defect management: Tracking and reporting defects found during testing.
4. Test closure: Analyzing the test results, generating reports, and obtaining approvals to release the software.
5.2.1 Unit Testing
Unit testing is a software testing method in which individual units or components of a software system are tested in isolation from the rest of the system. The goal of unit testing is to verify that each unit or component of the software system is functioning as expected. In unit testing, the unit being tested is typically a function, method, or small piece of code. The unit is tested using test cases, which are input values and expected output values that are used to verify that the unit is functioning correctly. Unit testing is an important part of the software development process, as it helps to identify defects and errors early in the development cycle. By catching defects early, it is often easier and less expensive to fix them. Unit testing can also help to ensure that changes to the code do not introduce new defects. Unit testing is often automated using testing frameworks, which can execute tests automatically and provide feedback on test results. Popular testing frameworks for unit testing include JUnit for Java, NUnit for .NET, and PHPUnit for PHP .
Integration testing is a software testing technique that tests the interaction between different modules or components of a software system. The purpose of integration testing is to identify any issues or defects that may arise when these different modules or components are combined and to ensure that they work together as expected. Integration testing can be performed at different levels of a software system, including unit integration testing, subsystem integration testing, and system integration testing. The goal is to identify any issues that may arise due to the integration of these different levels of the software. During integration testing, various testing techniques such as top-down, bottom-up, and incremental testing can be used to verify the interactions between the different components or modules. The testing can be done using either manual or automated testing methods, depending on the complexity of the system being tested.