June 06, 2023

Test Design Techniques in Software Testing

Great job on starting a new lesson! After reading this lesson, click Next button at bottom right to continue to the next lesson.

What is test design techniques in software testing?

Test design techniques are standard methods to design test cases to test the requirements and functionality of your software product or service. Test design techniques help you to discover more defects in the software because they focus on the error-prone areas in the software, or provide more test coverage.

What are the techniques used for designing test cases?

Test design techniques examples are

  1. Equivalence partitioning: This technique divides the input or output values into partitions (groups) that are expected to behave similarly. For example, if an input field accepts numbers from 1 to 100, you can divide the test inputs into three groups: -infinity to 0, 1 to 100, and 101 to infinity. You can then test with one value from each group. View first video tutorial below for more examples.
  2. Boundary value analysis: This technique tests the values at the boundaries of an input or output range. For example, if an input field accepts numbers from 1 to 100, you can test with values 0, 1, 100, and 101. View first tutorial below for more examples.
  3. Decision table testing: This technique uses a table to show the combinations of inputs and outputs for a system. For example, if a system has two binary inputs (A and B) and one output C, you can create a table with three columns (A, B, and C) and four rows (all combinations of A and B). Each row represents a test case with different values for A and B and the expected value for C. View second video tutorial below for more examples.
  4. State transition testing: This technique tests how a system changes its state based on inputs and events. For example, if a system has three states (S1, S2, and S3) and two inputs (X and Y), you can create a state diagram that shows how the system transitions from one state to another based on X and Y. View third video tutorial below for more examples.

Test design guidelines

  1. Understand the requirements and specifications of the software before test design.
  2. Use multiple test design techniques, for example first Equivalence Partitioning and then Boundary Value Analysis, to increase the coverage and quality of your test cases.
  3. Use tools and frameworks that support test design techniques and automate test case generation. View fourth video tutorial below.

FAQ (interview questions and answers)

  1. What is the difference between test plan and test design?
    A test plan is a document that describes the scope, objectives, strategy, resources, schedule, risks, and deliverables of a testing project. A test design is a process that creates test cases that would be executed.
  2. What is the effect of using test design techniques?
    They help design effective tests that may discover more defects in the software because test design techniques focus on error-prone areas of the software.
  3. What are some challenges of using test design techniques?
    We need to have a good knowledge of the test design techniques and their applicability.
I wrote the original lesson on May 11, 2023. Remember to just comment if you have any doubts or queries.




No comments:

Post a Comment

Note: Only a member of this blog may post a comment.