This is a software testing technique that can be done by two people paired together, one to test and other to monitor and record test results. Pair testing can also be performed in combination of tester-developer, tester-business analyst or developer-business analyst combination. Combining testers and developers in pair testing helps to detect defects faster, identify root cause, fix and test the fix.
This is a black-box testing, where each input is tested in pairs of inputs that help to test whether the software works as expected with all possible input combinations.
In Pair-wise testing, the operator is replaced with other and tested for the same set of inputs and verify the functionality.
e.g., Consider the code z = a * b * c as per specification.
Input Set a=1, b=2, c=3. Alternative operator for pair-wise testing is +.
So the statement z = a*b*c = 1*2*3 = 6
Similarly, replace the operator with +, the statement looks z = a+b+c = 1+2+3 = 6.
Though the output for both the operators is same, it does not mean the software is working correctly.
Hence pair-wise testing intends to dig out such corner cases where the output can be correct but the functionality gets goofed-up.
Generally, this kind of testing is performed in product development companies whose products (Java, C#, VB, Excel, etc.) are used for further software development.
This is a software testing technique, where in you test two or more versions of the software “the current version” and “previous version or versions” of the software together to see the differences of existing functionality.
This is a white-box testing approach in which all paths in the program source code are exercised and tested at least once. This is a type of software testing technique that is used as part of white box testing approach. These testing techniques are applied by developers while performing Unit testing.
This is a type of security testing, also known as pentest in short. Penetration testing is done to tests how secure software and its environments (Hardware, Operating system and network) are when subject to attack by an external or internal intruder. Intruder can be a human/hacker or malicious programs. Pentest uses methods to forcibly intrude (by brute force attack) or by using a weakness (vulnerability) to gain access to a software or data or hardware with an intent to expose ways to steal, manipulate or corrupt data, software files or configuration. Penetration Testing is a way of ethical hacking, an experienced Penetration tester will use the same methods and tools that a hacker would use but the intention of Penetration tester is to identify vulnerability and get them fixed before a real hacker or malicious program exploits it.
Testing conducted to evaluate the compliance of a system or component with specified performance requirements.
It is mostly used to identify any bottlenecks or performance issues rather than finding the bugs in software. There are different causes which contribute in lowering the performance of software:
- Network delay.
- Client side processing.
- Database transaction processing.
- Load balancing between servers.
- Data rendering.
Performance testing is considered as one of the important and mandatory testing type in terms of following aspects:
- Speed (i.e. Response Time, data rendering and accessing)
It can be either qualitative or quantitative testing activity and can be divided into different sub types such as Load testing and Stress testing.
Portability testing includes the testing of Software with intend that it should be re-useable and can be moved from another Software as well. Following are the strategies that can be used for Portability testing.
- Transferred installed Software from one computer to another.
Building executable (.exe) to run the Software on different platforms.
Portability testing can be considered as one of the sub parts of System testing, as this testing type includes the overall testing of Software with respect to its usage over different environments. Computer Hardware, Operating Systems and Browsers are the major focus of Portability testing. Following are some pre-conditions for Portability testing:
- Software should be designed and coded, keeping in mind Portability Requirements.
- Unit testing has been performed on the associated components.
- Integration testing has been performed.
- Test environment has been established.
Testing aimed at showing software works. Also known as “test to pass”.