# TASK-2 Manual Testing -April 27

## Test Case Design Techniques

1\. You are testing a form that allows users to schedule appointments with a doctor.The doctor for has the following fields: first name, last name, email, phone number and appointment date/time.Some more inputs:

If any fields is blank, we should display "All fields are required" If the email is invalid, we should display "Please enter a valid email" If the appointment is invalid, we should display "Please enter a valid phone number" If the appointment date/time is not availbale it should display "Please choose another date/time" If the 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

| **Condition** | **Actions** |
| --- | --- |
| Any field is blank | Display "All fields are required" |
| Email is invalid | Display "Please enter a valid email" |
| Phone number is invalid | Display "Please enter a valid phone number" |
| Appointment date/time is not available | Display "Please choose another date/time" |
| All fields are correct and appointment is available | Schedule the appointment successfully |

This decision table outlines the conditions to be checked for each input field and the corresponding actions to be taken based on the condition evaluation.

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 only access limitesd features of the app, while premium users can access all features.Admin users have all 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 recieve a confirmation email upon successful account creation. Users should be able to navigate the app seamlessly without any crashes or performance issues.The app also display appropriate error messages when a user atempts 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

here are the steps I would take to test each scenario along with the expected results:

1. **Testing User Roles and Access Levels:**
    
    * **Steps:**
        
        1. Log in with a basic user account and attempt to access all features.
            
        2. Log in with a premium user account and attempt to access all features.
            
        3. Log in with an admin user account and attempt to access all features.
            
        4. Verify that basic users can only access limited features, premium users can access all features, and admin users can access advanced settings and perform all actions.
            
    * **Expected Results:**
        
        * Basic user: Can access limited features, such as basic profile settings and basic functionalities.
            
        * Premium user: Can access all features, including premium functionalities.
            
        * Admin user: Can access all features, including advanced settings and functionalities restricted to admin users.
            
2. **Testing Account Creation and Deletion:**
    
    * **Steps:**
        
        1. Create a new user account with a password that meets the complexity standards.
            
        2. Verify that the account is created successfully.
            
        3. Attempt to delete the created account.
            
        4. Verify that the account is deleted successfully.
            
        5. Check if a confirmation email is received upon successful account creation.
            
    * **Expected Results:**
        
        * Account creation: User should be able to create an account with a complex password, and the account should be created successfully.
            
        * Account deletion: User should be able to delete their account, and the account should be removed from the system.
            
        * Confirmation email: User should receive a confirmation email upon successful account creation.
            
3. **Testing App Navigation and Error Handling:**
    
    * **Steps:**
        
        1. Navigate through different sections of the app using each user role.
            
        2. Attempt to perform actions that the user is not authorized to perform.
            
        3. Verify that appropriate error messages are displayed.
            
        4. Test the app for crashes and performance issues by navigating rapidly and using various features.
            
    * **Expected Results:**
        
        * Seamless navigation: Users should be able to navigate the app smoothly without encountering any crashes or performance issues.
            
        * Error messages: App should display appropriate error messages when a user attempts to perform unauthorized actions.
            
        * Stability: The app should remain stable even with rapid navigation and usage. No crashes or significant performance degradation should occur.
            

These steps cover the testing process for the given test scenarios, ensuring that the app functions correctly according to the specified requirements for user roles, account management, navigation, and error handling.
