Introduction to Test techniques
Test techniques are the technique or the strategy that is used during the testing to ensure the functionality of the system or the product. The success of the testing depends on the techniques we used. The choice of the right technique will result in the success of the test, and the choice of the wrong technique will fail the test. The choice of techniques depends on the number of factors such as type of system, regulatory standards, level of risk, types of risk, customer, requirements, testing objectives, availability of documents, knowledge of testers, development life cycle, time, budget, use case models and previous experience of types of defects found. Some techniques are more applicable to certain situations and test levels; others apply to all levels.
List of Test techniques
There are various techniques available; each has its own strengths and weakness. Each technique is good at finding particular types of defects and relatively poor at finding other types of defects. In this section, we are going to discuss the various techniques.
1. Static testing techniques
Static testing does not execute the code being examined and generally used before any tests are executed. They could also be called nonexecution techniques. Most static testing techniques are used to test the document, including design, source code, models, functional requirements, system requirements. To perform static testing, a static analysis tool has been used that concentrates on testing formal languages.
2. Specification-based test techniques
all Specification-based techniques have the common characteristics that they are based on the model of some aspect of the specification, enabling the cases to be derived systematically. There are 4 sub-specification-based techniques which are as follows
- Equivalence partitioning: It is a specification-based technique in which test cases are designed to execute representatives from equivalence partition. In principle, cases are designed to cover each partition at least once.
- Boundary value analysis: It is a technique in which cases are designed based on the boundary value. Boundary value is an input value or output value which is on the edge of an equivalence partition or at the smallest incremental distance on either side of an edge. For example, minimum and maximum value.
- Decision table testing: It is a technique in which cases are designed to execute the combination of inputs and causes shown in a decision table.
- State transition testing: It is a technique in which cases are designed to execute valid and invalid state transitions.
3. Structure-based testing
Structure-based are used to test the internal structure of the software. It is called white-box testing. All structure-based have the common characteristics that they are based on how the software under test is constructed or designed. This structure information is used to access which part of the software has been exercised by a set of tests. Additional cases can be derived in a systematic way to cover the parts of the structure that have not been touched by any test before. There are various subtest testing involved in the structure-based technique, which is as follows.
- Test coverage: It is a degree that is expressed as a percentage to which a specified coverage item has been exercised by a test suite.
- Statement coverage: It is a percentage of executable statements that the test suite has exercised.
- Decision Coverage: It is a percentage of decision outcomes that a test suite has exercised. 100% decision coverage implies both 100% branch coverage and 100% statement coverage.
- Branch coverage: It is a percentage of the branches that the test suite has exercised. 100% branch coverage implies both 100% decision coverage and 100% statement coverage.
4. Experience-based testing
The experience-based technique is a procedure to derive and select the cases based on the experience and knowledge of the tester. All experience-based have the common characteristics that they are based on human experience and knowledge, both of the system itself and likely defects. Cases are derived less systematically but may be more effective. The experience of both technical people and business people is a key factor in an experience-based technique.
The most important thing to understand here is that the best technique is no single testing, as each technique is good at finding one specific class of the defect. also, using just a single technique will help ensure that any defects of that particular class are found. It may also help to ensure that any defects of other classes are missed. So using a variety of techniques will help you ensure that a variety of defects are found and will result in more effective testing. Therefore it is most often used to statistically test the source code.
This is a guide to Test Techniques. Here we discuss the List of Various Test techniques along with their Strength and Weakness. You may also have a look at the following articles to learn more –