Software Testing Technique is a process of writing or designing Test Cases in an efficient way. Now, We might get a question, that why should we use Software Testing Technique for writing or designing test cases. So, the answer to that question is, We can not write Test Cases Randomly. We must follow some rules to write test cases, So that We will do maximum coverage by writing minimum number of test cases which means we will be putting minimum efforts.
The Software Testing Techniques, that we are going to discuss here in this session are Black Box Software Testing Technique not White Box Software Testing Technique. We are only going to focus on Black Box Software Testing technique.
There are 5 Types of Software Testing Technique
Boundary Value Analysis is a type of Software Testing Technique which is based on testing the boundary values of valid and invalid partitions and helps us in designing test cases in an effective way.
When we were reading about Software Testing Principle, then the very first Software Testing Principle was “Exhaustive (Complete) Testing is not possible”. We had seen 1 example there. The example was. There is a field in a website
then it is not possible to test this functionality in 10 minutes by entering all the numbers.
So, We can see with this example, that Exhaustive (Complete) Testing is not possible.
So, We need to complete this testing using some other alternative approach and those approaches are a part of Software Testing Technique.
Boundary Value Analysis (BVA) is one of those techniques.
In this Technique, We focus on Boundary values of the Input. So, As we know that the field accepts numbers from 0 to 9999. So, the Boundary Values of the Input will be 0 and 9999.
Boundary Value Analysis says that We must test the field with Boundary Values, Values less than 1 Boundary Values and Values more than 1 Boundary Values. So
So, the input values will be.
-1, 0, 1 and 9998, 9999, 10000.
So our test cases should be
So, now it is very easy to Test this field in 10 minutes, as we don’t have to enter all the numbers and we have to test the field only 6 numbers. That’s why we say that Software Testing Technique helps us in designing our test cases in an effective and efficient way.
Equivalence Class Partitioning is a type of Software Testing Technique in which input data is divided into partitions of valid and invalid values. This Techniques divides the input data of software into different equivalence partitions.
When we were reading about Software Testing Principle, then the very first Software Testing Principle was “Exhaustive (Complete) Testing is not possible”. We had seen 1 example there. The example was. There is a field in a website
So, this field accepts numbers between 0 and 9999, then it is not possible to test this functionality in 10 minutes by entering all the numbers.
So, We can see with this example, that Exhaustive (Complete) Testing is not possible.
So, We need to complete this testing using some other alternative approach and those approaches are a part of Software Testing Technique.
Equivalence Class Partitioning is one of those techniques.
Now, Let’s see What is Equivalence Class Partitioning
It is a technique where the input data is divided into partitions of valid and invalid values.
In this, the inputs data is divided into groups to see the expected behavior.
So, It will become very easy to write or design test cases now, We can write
and we can test the functionality in 10 minutes now very easily. So, this way, Software Testing Techniques help in designing test cases in an efficient and effective way.
Decision table testing is a Software Testing Technique which is used to test system behavior for different input combinations. Input Combinations and their respective output is captured in a table. This table is also called Cause-Effect Table. So, there are 2 names for this type of table.
Decision Table Testing is especially useful for
In this technique,
Each Combination of Input and Action is called a Test Case.
Let’s understand this with an example.
Let’s take an example of a login functionality, where we have 2 input fields,
So, if we have to test login functionality, then we need to find out
and we need to create a table for that
Test Cases | Test Case 1 | Test Case 2 | Test Case 3 | Test Case 4 |
---|---|---|---|---|
User name | True | False | True | False |
Password | True | True | False | False |
Login | Login Successful | Login Failed | Login Failed | Login Failed |
So, We can see that there are 4 test cases when we have to test 2 input fields. This derives a formula of 2n where n is the number of input fields.
if n = 2 then there will be 4 test cases
if n = 3 then there will be 8 test cases.
So, this way, Software Testing Techniques help in designing test cases in an efficient and effective way.
State Transition Testing Technique is a Software Testing Technique, which is used to performed to check the state of an Application for different input values. We check the behavior of an application for different inputs. Testers can provide positive and negative input values and observe the system behavior.
for example if we try to login to Gmail account
So, when we do this type of testing where different different state of transition appears, then this is called, State Transition testing.
So, we can see that we move from state to another state and that’s why this type of testing technique is called State Transition testing.
State | Test Case | Transition |
---|---|---|
S1 | valid user name | S2 |
S1 | Invalid user name | S3 |
S1 | don’t provide user name | S4 |
So, this way, Software Testing Techniques help in designing test cases in an efficient and effective way.
Error Guessing is a Software Testing Technique where we guess the errors part or Problematic Part of the Software Application.
As the name says Error Guessing, So we do nothing but guess the possible errors that might appear in the Software Application.
Now, this type of task can be done by experience, So this type of testing technique is used by mostly the experienced People like
Because they are very skilled and experience people when it comes to test the applications.
They use their previous experience to find the possible problematic area of the application.
They can take help of various data such as
We should do a detailed analysis of the Previous Test Results and Requirement Documents.
Requirement Document will be provided by the Business Analysts to us.
Previous Test Results include the list of document such as
Let’s take an example Create Account or Sign up Functionality
So, there is a rule associated with password that
Now, we know from our past experience that we got 2 defects in this functionality which were very critical
So, we are going to focus more on these 2 areas in Sign up functionality.
So, this is how, error guessing technique can be used with the experience of Tester and Business Analyst.
Software testing technique are used to
The main advantage of Software Testing Technique is that We can design Test Cases effectively and efficiently, which means We can do a full coverage by writing minimum number of test cases if we use Software Test Case Design Technique while writing Test Cases. So, let’s make a list of various advantages of Software Testing Techniques.
We have covered below topics in today’s session
Objects, Classes and Constructor in Javascript Classes and Objects A class in any programming language…
We will start from object oriented programming basics like What are different concepts in Object…
Why we can not over ride a Constructor This is a very important question, that,…
What is Arrow Function In the last session, We had discussed about Anonymous Function. Anonymous…
What is Anonymous Function Anonymous Function is a type of function which has no name…
What is Map, Reduce and Filter Map Filter and Reduce are higher order methods for…