What are Test Design Techniques?
Basically test design techniques help us choose a good test set from the total number of tests possible for a given system. There are different types of software testing techniques, each with its own strengths and weaknesses.
Performing testing at different stages of the software development life cycle will find different types of bugs, component testing is more likely to find coding logic errors than system design errors.
In the series of test design techniques, I will start with Black box techniques.
Black-box Techniques
In the article I will mention the 4 most common techniques in black box testing
- Equivalence partition
- Boundary value analysis
- BDecision table
- State transition testing
1. Equivalence Partitioning
- Inputs to the software are divided into groups that are expected to exhibit similar behavior, so they are likely to be processed in the same way.
- Equivalence partitions can be found for
+ Valid data – values that should be accepted.
+ Invalid data – values that should be rejected.
Example: A textbox can input integer numbers from 1 to 99
-
- Partition 1 – invalid: < 1
- Partition 2 – valid: 1 <= & <=99
- Partition 3 – invalid: > 99
2. Boundary Value Analysis
The maximum and minimum values of partition are its boundary values.
Boundaries define 3 set of data:
- In-bound
- Out-of-bound
- On-bound
Example: A textbox can input integer numbers from 1 to 99
-
- Select value for test case: 0; 1; 99; 100
3. Decision Table
Equivalent partitioning and boundary value analysis are usually applied to an input. In the case of combining multiple inputs in a function, it is difficult to use an equivalent partition or boundary value analysis. In this case, we can use Decision table or State transition
Decision table includes:
- Row of Cause (Condition) and Effect (Action/Expected Result)
- Columns of possible combinations.
Example1: Login form
Example2:
If you are the customer opening a credit card account, you will have a 15% discount on all shopping activities today. If you are a loyal customer, you have 10% discount interest. If you have an offer (coupon) (but not a new customer), you get a 20% discount today. From the above specification we have the following conditions:
- New customer (15%)
- Loyalty cart (10%)
- Coupon (20%)
We have 3 conditions => we have 8 rules to test. Make a decision table as follows:
4. State transition testing
State transition testing is used when certain aspects of the system are described by state machines. Put simply, the system can be in a (limited) number of states and sessions from one state to another that is governed by a state machine rule. This is the model that we will use as a basis for testing. Any system where you have different outputs from the same inputs and the output depends on the pre-existing state is called a “finite state system” and such a system will be able to be displayed by a State diagram.
For example:
If you want to withdraw $ 100 from an ATM, you put the card into the machine. After you complete all the steps required by the ATM Then you complete the steps required by the system, but the withdrawal is unsuccessful (because the balance in your account is not enough to make a withdrawal). The withdrawal is not successful because the bank account has changed the status from enough to make a withdrawal to not enough to make a withdrawal. This state transition is due to your previous withdrawals. A status diagram can be presented by a model under the view of the system, the account or the customer.
A state transition model consists of the following 4 parts:
- The state that the program may have (e.g. insufficient balance, expired account …)
- Transitions from one state to another
- Events causing conversion (for example, entering a PIN code, closing a file …)
- Actions are the result of a conversion (for example, an error message, returning an ATM card …)
For more information about Testing services, please contact us
———————————————————–
Lotus Quality Assurance (LQA)
Tel: (+84) 24-6660-7474
Email: [email protected]
Website: https://www.lotus-qa.com/