Test types are test categories designed to verify behavior, or show an error.

Software development test types include:

Automation testing
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
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.

Branch testing
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.

Defect testing
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
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.

Path testing
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.

Performance testing
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
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
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
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.

Validation testing
Demonstrates that particular requirements for a specific intended use are fulfilled. The system operates as intended. The software meets its requirements.

White-box testing
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)


“BAD Testing has been our trusted partner for our most vital clients. We know we can count on a thorough, knowledgeable test team no matter the timeline or the technology. They know how to integrate seamlessly with a team of any size and don’t require any hand-holding and hit the ground running. They are stunningly up-to-date on trends and always able to support the team with the right solution to tough technical problems. Whether it’s a tight timeline or challenging technical work, my first and last call is to BAD Testing.”

Dan Lavorini Vice President, Technical Director - Edelman Digital

<< Prev
Next >>