We started to test one of our E-learning projects a week ago. We explained about follow things in the first E-learning(ITlearn360) project tutorial:
a). E-learning project(ITlearn360) Overview
b). Different functionality flows for the E-learning project, and we chose the second flow to test, as you can see in the following image:
(Flow 1)
(Flow 2)
c). The Selenium code for testing the ITlearn360 login process.
To check the first tutorial, please follow the below link:
We went with a simple scenario in the first tutorial. We wanted to show you more scenarios that you can use to test any login process.
So, We will talk about the Positive and Negative testing for the ITlearn360 login process in this tutorial. The positive and negative scenario is completely dependent on the requirement document.
Read more about Positive and Negative Testing
Alright, let’s begin the discussion about Positive and Negative testing for the ITlearn360 login process.
Test Requirements
To create a test scenario for the login process, we need to focus on the following requirements:
- The username or Email field is required
- The Password field is required
- Click the login button
- Click on lost your password button
Test Scenario for Login Page
- The username or Email field should be present.
- The Password field should be present.
- Verify that the Login button is present.
- The username field should not be empty.
- The Password field should not be empty.
- You should be able to log in to the E-learning project when you click on the login button.
- Lets a user loses his password, so lost your password button or link should be available and clickable.
Now let’s focus on Positive and Negative scenarios:
Positive Test Scenario
In the positive test process, we pass valid input data to perform tests. In this testing process, we ensures that the action is performed using valid data. The testing process ensures that the website does what it’s supposed to do.
- Verify if the user is able to login to the website with a valid username and password.
- Verify the ‘Forgot Password’ functionality.
- Verify the messages for invalid login.
- Verify the ‘Remember Me’ functionality.
- If the password field data is visible as a bullet or asterisk sign, you must verify it.
- It is needed to verify that a user can login with a new password only after he/she has changed the password.
- It is necessary to verify that the login page allows for different credentials to be used in different browsers.
- Verify if the ‘Enter’ key of the keyboard is working correctly to login.
- When you click on the login button, and it lands the dashboard page.
- Verify lost your password button or link is working when we click on that.
Negative Test Scenario
In the negative test scenario, we ensure that the application can gracefully control the invalid input or unexpected behavior of users. The main goal of negative testing is to handle negative conditions at the time of regression testing similar to positive conditions.
- Ensure that a user cannot login with a valid username and an invalid password.
- Ensure that a user cannot login with an invalid username and valid password.
- Ensure that a user cannot login with an invalid username and an invalid password.
- You can check if a user cannot enter characters more than the specified range.
- Confirm that user should not enter disable(Blocked) email address.
- Verify that user should not enter unverified Email address.
- You can verify the login page for both, when the field is blank and login button is clicked.
- Verify that once you’re logged out, and you press the ‘Back button’ of the browser. It should not allow you to enter.
- You should make sure that a user isn’t allowed to log in with different credentials at the same browser.
- The Login page should be checked against a database injection attack.
Conclusion
Test cases should be written for all the fields. There should be a collection of positive and negative test cases.
Even though the login page looks simple for testing, it should not be considered an easy task since it has fewer controls.