Test Case Design Techniques
Question 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/time"
• If all fields are correct and the appointment is available, we should schedule the appointment successfully.
For these requirements write down the correct list of conditions in form of decision table
Solution:
First Name | Last Name | Phone Number | Appointment Date/Time | Result | |
Any of the fields is left blank | All fields are required | ||||
Valid | Valid | Invalid | Valid | Valid | Please enter a valid email |
Valid | Valid | Valid | Invalid | Valid | Please enter a valid phone number |
Valid | Valid | Valid | Valid | Not Available | Please choose another date/time |
Valid | Valid | Valid | Valid | Available | Schedule the appointment successfully |
Question 2
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.
Solution:
1. User Roles and Access:
Steps:
Log in as a basic user and verify access to limited features.
Log in as a premium user and confirm access to all features.
Log in as an admin user and check access to advanced settings and all actions.
Expected Results:
Basic user: Limited features accessible.
Premium user: Full access to all features.
Admin user: Access to advanced settings and all actions.
2. Account Creation and Deletion:
Steps:
Create a new account with valid credentials, ensuring password complexity standards are met.
Verify successful account creation and receive a confirmation email.
Log in with the new account and ensure proper access.
Delete the account and confirm successful deletion.
Expected Results:
Successful account creation and confirmation email.
Seamless login and access after account creation.
Successful account deletion.
3. App Navigation and Error Handling:
Steps:
Navigate through different sections of the app as a basic user, premium user, and admin user.
Attempt actions not authorized for the respective roles and observe error messages.
Stress-test app navigation to identify any performance issues or crashes.
Expected Results:
Seamless navigation for all user roles.
App displays appropriate error messages for unauthorized actions.
No crashes or significant performance issues during stress testing.
Executing these scenarios and verifying against the expected results will help ensure the app functions correctly according to the specified requirements.