5.1. EPFS TEST CASES

5.2. TEST CASE DESIGN GUIDE

This guide standardizes the test case design, all test cases will be based on user stories acceptance criteria.

The test cases will be using one or a combination of software testing techniques below.


5.1.1. Boundary Value Analysis - is a test case design technique to test boundary value between partitions (both valid boundary partition and invalid boundary partition). A boundary value is an input or output value on the border of an equivalence partition, including minimum and maximum values at inside and outside boundaries.

E.g. Let us assume a test case that takes the value of age from 21 to 65.

BOUNDARY VALUE TEST CASE

INVALID TEST CASE

(Min Value – 1)

VALID TEST CASES

(Min, +Min, Max, -Max)

INVALID TEST CASE

(Max Value + 1)

20

21, 22, 65, 64

66

5.1.2. Equivalence Partitioning - Equivalence partitioning is a technique of software testing in which input data is divided into partitions of valid and invalid values, and it is mandatory that all partitions must exhibit the same behavior.

E.g. OTP Number = 6 digits

VALID

(DIGITS = 6)

INVALID

(DIGITS >= 7)

INVALID

(DIGITS <= 5)

123456

7654321

4321

5.1.3. State Transition - is a type of software testing which is performed to check the change in the state of the application under varying input.

E.g.

Correct PIN

Incorrect PIN

S1: Start

Access Granted

S2

S2: 1st Attempt

Access Granted

S3

S3: 2nd Attempt

Access Granted

S4

S4: 3rd Attempt

Access Granted

Account Blocked

5.1.4. Decision Table - is a software testing technique that is used for testing the system behavior for different input combinations.

E.g.

Conditions

Rule 1

Rule 2

Rule 3

Rule 4

Username

Valid

Valid

Invalid

Invalid

Password

Valid

Invalid

Valid

Invalid

Output

Success

Error

Error

Error

5.1.5. Error Guessing - is a software testing technique based on guessing the error which can prevail in the code. The technique is heavily based on the experience where the QAs use their experience to guess the problematic part of the testing application. Hence, the QAs must be skilled and experienced for better error guessing.

  • Guidelines for Error Guessing:

    • The test should use the previous experience of testing similar applications

    • Understanding of the system under test

    • Knowledge of typical implementation errors

    • Remember previously troubled areas

    • Evaluate Historical data & Test results

5.1.6. Exploratory Testing - is simultaneously designing and executing tests to learn about the system.

  • When do we use exploratory testing?

    • We will use this testing for the following aspects:

      • When the requirement is missing

      • Early iteration is required

      • When someone needs to learn about an application quickly and provide rapid feedback