Test types are test categories designed to verify behavior, or show an error.
Software development test types include:
Test automation involves automating a manual process already in place that uses a formalized testing process. (Performance, Load, Stress, Regression, Tests that take longest)
Black-box testing is a method of software testing that tests the functionality of an application as opposed to its internal structures or workings (see white-box testing). Specific knowledge of the application’s code/internal structure and programming knowledge in general is not required.
Testing designed to execute each outcome of each decision point in a computer program.
Data set testing
Data identified for use in tests, may be used in a confirmatory way, to verify that a given set of input to a given function produces some expected result. Other data may be used in order to challenge the ability of the program to respond to unusual, extreme, exceptional, or unexpected input.
The goal of defect testing is to discover faults or defects in the software. It causes a program to behave in an irregular way.
Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing. The purpose of integration testing is to verify functional, performance, and reliability requirements placed on major design items. These “design items”, i.e. assemblages (or groups of units), are exercised through their interfaces using Black box testing, success and error cases being simulated via appropriate parameter and data inputs.
All paths in the program source code are tested at least once. Testing designed to execute all or selected paths through a computer program. You choose test cases that cause paths to be taken through the structure of the program. Test cases that will force execution of each path in the basis set.
Software performance testing is used to determine the speed or effectiveness of a computer, network, software program or device. Performance testing is often done in conjunction with stress testing.
Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes. The intent of regression testing is to ensure that a change, such as a bug fix, did not introduce new faults. One of the main reasons for regression testing is to determine whether a change in one part of the software affects other parts of the software.
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic.
User acceptance testing
User Acceptance Testing (UAT) is a process to obtain confirmation that a system meets mutually agreed-upon requirements. A Subject Matter Expert (SME), preferably the owner or client of the object under test, provides such confirmation after trial or review. In software development, UAT is one of the final stages of a project and often occurs before a client or customer accepts the new system.
Unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable part of an application. Unit tests are created by programmers or occasionally by white box testers during the development process.
Demonstrates that particular requirements for a specific intended use are fulfilled. The system operates as intended. The software meets its requirements.
White-box testing is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing). In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases. (also known as clear box testing, glass box testing, transparent box testing, and structural testing)