Test case design techniques

  1. you are testing a form that allows users to schedule appointments with a doctor. the form has the following fields: first name, last name, email, phone number and appointment date/time. some more inputs:
  • if any field is blank, we should display "all fields are required"

  • if the email is invalid, we should display "Please enter a valid email"

  • if the phone number is invalid, we should display "Please enter a valid phone number"

  • if the appointment date/time is not available. it should display "Please choose another date and time"

  • if all fields are correct and the appointment is available, we should schedule the appointment successfully.

for the requirements write down the correct list of conditions in the form of a decision table

First of all, let us discuss about decision table,

what is desicion table?

Decision table testing is a technique used to test software or systems that have a lot of rules or conditions. It helps make sure that the software follows all the rules correctly.

For the above question, based on the conditions. i have created a desicion table below

Explanation of conditions:

  1. "First Name is blank" checks if the First Name field is left empty.

  2. "Last Name is blank" checks if the Last Name field is left empty.

  3. "Email is invalid" checks if the entered email address is not in a valid format.

  4. "Phone number is invalid" checks if the entered phone number is not in a valid format.

  5. "Appointment date/time not available" checks if the chosen date and time are not available for scheduling.

Based on these conditions, you can determine the appropriate action to take, which may include displaying specific error messages or scheduling the appointment successfully.

  1. suppose you are a software tester and you are assigned to test a new mobile app that has just been developed. the app has three different user roles: basic user, premium user, and admin user. you have been given the following three test scenarios to execute:
  • basic users can only access limited features of the app, while premium users can access all features. admin users have access to advanced settings and can perform all actions.

  • users should be able to create and delete their accounts successfully. passwords must meet the required complexity standards and users should receive a confirmation email upon successful account creation.

  • users should be able to navigate through the app seamlessly without any crashes or performance issues. the app should also display appropriate error messages when a user attempts to perform an action they are not authorized to perform.

  • for each of the test scenarios, describe the steps you would take to test them and the expected results.

Let us take Spotify music app as an example for writing the test scenarios to execute

Test Scenario 1: User Roles and Access

Objective: Verify that user roles (basic user, premium user, admin user) are correctly implemented, and each role can access the appropriate features.

Steps:

  1. Test User Roles and Access Levels

    • Create a basic user account and log in.

    • Verify that the basic user can access only limited features, such as playing music, creating playlists, and searching for songs.

    • Ensure that actions restricted to premium and admin users (e.g., downloading songs, accessing advanced settings) are not accessible for basic users.

Expected Result: Basic user can access limited features, and premium/admin features are restricted.

  1. Test Premium User Access

    • Upgrade the basic user account to a premium user.

    • Log in with the premium user account.

    • Verify that the premium user can access all features, including downloading songs in low to high qualities and accessing premium content.

Expected Result: Premium user can access all features without restrictions.

  1. Test Admin User Access

    • Log in with an admin user account.

    • Verify that the admin user can access advanced settings and perform admin actions, such as managing user accounts and content.

Expected Result: Admin user can access advanced settings and perform admin actions without issues.

  1. Cross-Check User Roles

    • Ensure that user roles are consistent across the app, including different sections and settings.

    • Verify that the app correctly enforces user roles and access permissions in various scenarios.

Expected Result: User roles and access permissions are consistent and correctly enforced throughout the app.

Test Scenario 2: Account Creation and Management

Objective: Confirm that users can successfully create and delete accounts, and that password complexity standards are enforced. Additionally, users should receive confirmation emails upon successful account creation.

Steps:

  1. Account Creation

    • Attempt to create a new user account with valid information, including a complex password.

    • Verify that the account creation process completes without errors.

    • Check the email associated with the account for a confirmation email.

Expected Result: Account is created successfully, and a confirmation email is received.

  1. Password Complexity

    • Attempt to create a new account with a password that does not meet the complexity standards (e.g., too short, lacking special characters).

    • Ensure that the app displays an appropriate error message indicating the password requirements.

Expected Result: App enforces password complexity standards and displays an error message for invalid passwords.

  1. Account Deletion

    • Log in with an existing user account.

    • Initiate the account deletion process.

    • Verify that the account is deleted without errors.

Expected Result: Account is deleted successfully without errors.

Test Scenario 3: App Navigation and Performance

Objective: Ensure that users can navigate through the app without crashes or performance issues. Verify that appropriate error messages are displayed when users attempt unauthorized actions.

Steps:

  1. Exploratory Testing

    • Perform typical user actions, such as searching for songs, playing music, creating playlists, and accessing user settings.

    • Ensure that the app responds promptly and navigation is smooth without lag.

Expected Result: App navigation is smooth, responsive, and without performance issues.

  1. Unauthorized Actions

    • Attempt to perform actions that the current user role does not have permission to perform (e.g., admin actions as a basic user).

    • Verify that the app displays appropriate error messages indicating lack of authorization.

Expected Result: App displays clear error messages for unauthorized actions.

  1. Stress Testing

    • Simulate heavy usage scenarios, such as concurrent actions by multiple users or large data requests.

    • Monitor app performance, resource utilization, and responsiveness.

Expected Result: The app remains stable and responsive under stress, with no crashes or excessive resource usage.

By following these steps and expected results for each test scenario, you can thoroughly evaluate the Spotify mobile app and ensure it meets its functional and performance requirements.