Tag: Test Design Techniques

Automated TestingBlogEmbedded TestingManual TestingSoftware Testing

Test design techniques

1. What are the 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.
  • Exhaustive testing is not possible, so Manual Testing Techniques helps to reduce the number of test cases while ensuring the quality of the test, helping to identify test ranges and conditions that are difficult to identify.

2. Types of Test design techniques

There are many types of Test design techniques, but there are two main types:

2.1. Static testing technique

Static testing is a type of testing technique that does not execute source code or do not run software systems, such as checking, reviewing specification documents, design documents, source code to find errors.

It is done early in the software development life cycle and so it is done in the verification process.

Most static testing techniques can be used to test any form of documentation including source code, design and model documentation, functional specifications, and required specifications.

Static testing technique usually includes the following methods:

  • Informal review: an evaluation process that does not require an archive of the meeting, nor does it need to be recorded.
  • Walkthroughs: This is a type of instruction, explained by the person who is familiar with the software logic, in order to transfer knowledge to the participants in the test cycle.
  • Technical review: This method focuses on the technical evaluation of the software. Usually led by a moderator or someone with technical knowledge with technical experts involved. This is a discussion focused on reaching consensus on technical content to make a decision
  • Inspection: This method is also operated by moderators. Its purpose is to clearly define the role of each person in the process as well as the input and output criteria of the software. Thereby finding errors as well as aggregating and analyzing to optimize processes.

2.2. Dynamic testing technique

Dynamic testing technique is a type of testing to confirm the function of the application when the code is executed / by executing the code. In short, dynamic testing is performed by actually using the application and seeing if a function works the way it is expected.

Dynamic testing includes 2 types:

+ Whitebox testing: Consider how the code works inside. For this type of test, testers need an understanding of the code.

+ Blackbox testing: Check that the function of the software application is working as expected. Blackbox testing 2 types:

  • Functional testing
  • Non-Functional testing

Test design techniques

In the next articles, we will mention types of test design techniques in detail. 

Read  Black box test design technique and White box test design technique.

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/

Youtube: Lotus QA channel

Automated TestingBlogEmbedded TestingManual TestingSoftware Testing

Black-box Test Design Techniques

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

Equivalence-Partitioning-Techniques

2. Boundary Value Analysis

The maximum and minimum values of partition are its boundary values.

Boundary-Value-Techniques

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 

Boundary-Techniques

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.

Columns-Possible-Combinations-Decision-Techniques

Example1: Login form

Login-Form-Decision-Techniques

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:

Decision-Techniques

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 …)

State-Diagram-Pin -Entry-Techniques

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/