Testing is an important phase of software development. It occurs at different times and in different ways. Here are the basic types of software testing.
Unit testing occurs when a program is completed. It checks the program for correctness. A program must perform the correct response to all possible inputs. Since unit testing is the first testing step, errors are common. Programmers are expected to fully unit test their programs.
After unit testing, programs may require integration testing. This verifies that independent software modules work properly together. The output of some modules may be the input to others. Since modules may be developed independently, integration testing ensures correct communication among them.
System testing tests the entire system. This includes full end-to-end testing, communication with third parties, user interfaces, databases and more. System testing ensures that the entire system works as a whole.
Stress testing tests system performance. It determines how the system performs under low, average and high usage. Usage may be number of users, transactions, files, etc. Stress testing also determines the maximum usage that causes the system to fail.
User acceptance testing
User acceptance testing validates the system against the requirements. It also checks the system for quality. Users and customers perform this testing and formally accept the software if it is correct. User acceptance testing is very important because users confirm that the system does what they asked for.
Regression testing occurs after software is enhanced or fixed. Any modification to a program could cause other parts of the system to fail. Regression testing ensures that the unchanged parts of the system still work with the changed programs. After regression testing, other testing phases may follow.
For more articles, please subscribe, add or follow me here.