Software testing is among the important stages of developing a software. Testing is all about identifying faults in a software product. Every testing process should be done before testing begins and should be based on the customers requirements. Testing of a software is done by a software tester. There are various testing methods depending on the software tester, the testing can be of either structural or functional features of a software Software testing can be categorized in the below methods.
Unit testing is the basic method of checking errors in a program and the codes in the program. The syntax and the logical errors in a program and codes are identified in this testing category. The testing can be done by a single tester or a group of testers. It is advisable to correct the errors immediately they are identified. Ensure that all errors are eliminated in the unit testing stage.
Integration testing is the next category of testing since the tested units are grouped together to perform a particular function. Integration testing errors can originate from poor testing at the unit testing stage or an error that occurs while integrating the various programs. These group of the integrated units should be functionable and should lack errors. This product is tested using results on the users computer while testing a software is called system testing. The functionality of the system is done in their category of software testing methods.
Interface testing is a method that can be used to categorize the basic types of testing. A tester checks whether the interface is suitable for users or not. This interface should always be simple to understand and use and the interface of a software should be attractive and maybe used even to market the software developer. Is the software acceptable by the users and managers of an organization? Is the question to be answered in the acceptance testing. The acceptance testing is done by interviewing the users of the software system and the owners or the shareholders of the organization.
Non-functionality testing can be done to ensure that the software performs as required. Adding a lot of work to the software system and checking its performance is one basic way of non-functionality testing. In maintainability testing the recovery of the system is tested and checked by the system tester such that it may reduce the maintainability cost. Compatibility testing can be done either during the system testing or during the system installation phase. In conclusion I would advise both people who learn about testing and professional testers to use all the above testing categories when testing a software.