Overhead view of diverse women professionals working in a modern office setting, fostering collaboration and teamwork.

Mock QA Assessment: Designing a Good Test Design

The goal of this assessment is to evaluate your ability to create a structured, effective, and comprehensive test design for a given scenario. Please follow the instructions carefully and answer each question or task.


Scenario

You are a QA Engineer working on an e-commerce platform. One of the new features is the implementation of a “Discount Code” functionality on the checkout page. The discount code allows users to apply a percentage discount (e.g., 10%, 20%) to their total purchase amount. The feature includes the following requirements:

  1. Users can enter a valid discount code in a text box and click “Apply.”
  2. If the code is valid, the discount is applied to the total price, and the discounted total is displayed.
  3. If the code is invalid, an error message is displayed: “Invalid discount code.”
  4. Only one discount code can be applied per transaction.
  5. The discount code must not expire (i.e., always valid during testing).
  6. The discount cannot exceed the total purchase amount.

Part 1: Understanding the Requirements

  1. What key functional requirements should you focus on while designing test cases for the “Discount Code” feature?
    (Write a brief list of at least 3 points.)
    • Validate that applying a valid discount code correctly updates the total purchase amount.
    • Verify that an invalid discount code shows an appropriate error message.
    • Ensure only one discount code can be applied per transaction.
    • Confirm that discounts do not exceed the total purchase amount (no negative totals).

Part 2: Test Design Techniques

  1. Identify and explain one test design technique you would use for this feature (e.g., boundary value analysis, equivalence partitioning, or decision table). Why did you choose it?
    • Technique: Equivalence Partitioning
    • Reason: Equivalence Partitioning helps divide the input data into valid and invalid partitions. For the “Discount Code” feature, we can group valid codes as one partition (e.g., “DISCOUNT10”) and invalid codes as another partition (e.g., “INVALIDCODE”). This ensures comprehensive testing without redundant test cases.

Part 3: Test Case Design

  1. Write three test cases for the “Discount Code” feature using the following format:
Test Case IDDescriptionStepsExpected Result
TC-001Validate applying a valid discount code1. Navigate to checkout page
2. Enter “DISCOUNT10” in the text box.
3. Click “Apply.”
10% discount is applied, and total is updated.
TC-002Apply an invalid discount code1. Enter “INVALIDDIS” in the text box
2. Click Apply
Error message appear “Invalid Discount Code”
TC-003Prevent multiple discount code1. Apply “DISCOUNT10” successfully.
2. Enter another code (“DISCOUNT20”).
Click “Apply.”
Only the first discount is applied

Part 4: Negative Test Cases

  1. Write two negative test cases for scenarios where the feature should fail gracefully.
    • Empty discount code..
    • Expired discount code

Part 5: Edge Cases

  1. List two edge cases you would test for the “Discount Code” feature.
    • Apply a valid discount code for a purchase amount of $0. The discount should not result in a negative total.
    • Enter a discount code with special characters (e.g., “DISCOUNT@123”). The system should handle it gracefully with an appropriate message if invalid.

Part 6: Test Design Review

  1. Review your test design:
    • Are all requirements covered by your test cases?
      • Yes, test cases address both functional and non-functional requirements, including valid, invalid, and edge scenarios.
    • Have you considered both positive and negative scenarios?
      • Yes, the test design includes positive cases (e.g., valid codes) and negative cases (e.g., invalid/empty codes).
    • Are your test cases clear and reproducible by other team members?
      • Yes, the steps and expected results are well-defined, ensuring consistency during execution.

Evaluation Criteria

  • Understanding of requirements.
  • Ability to apply appropriate test design techniques.
  • Quality, clarity, and completeness of test cases.
  • Consideration of edge and negative cases.
  • Overall coverage and alignment with the feature requirements.

Similar Posts