Skip to main content

Test scenarios for a generic Login page


This list contains test scenarios for a generic login page


E2E positive test cases
Verify that valid user name and valid password works
Verify login by providing registered phone number (many test cases has to be repeated)
Verify that password is hidden and not visible after typing
Verify forgot password functionality
Verify 2FA functionality
Verify concurrent login (maximum number of allowed login sessions at once)
Verify “Remember Me” functionality
Verify once you click next, after entering a username, password page is visible
Verify once you are on password page, you can edit the username
Verify login page has an option to create a new account for the first time users

If the account is created in one country and accessed in another country, OTP should be asked (If OTP is supported)
If the account is accessed simultaneously in two diff countries - OTP should be asked
Verify that OTP is asked when the user tries to log in on different machines

Verify for username requirements such as length of the username, special characters, capital letters etc (each should be a separate test case)
Verify for password requirements such as length of the password, capital letters and special chars

Check session time out is as per the standards/specs


E2E negative test cases
Verify that invalid user name and valid password throws an error
Verify that valid username and invalid password throws an error
Verify that blank username throws an error
Verify that blank password throws an error
Verify by giving not supported special chars for username and password (if there are any in not supported chars list)
Verify that account gets locked after retrying for x number of times
Try User name and password of length which is greater than the supported length

Verify that clicking back button after logout does not take you back to the dashboard

Verify by logging with the old password after password change

Verify giving the current password only for a new password while changing the password


UX/UI
Verify the look and feel of the login page and make sure it matches UX spec
Verify all the buttons, text boxes - colors, layout, spacing is according to the UX spec
Verify that text’s font, color, spelling is according the UX spec
Verify brand logo (if there is one) is as per the spec

Verify copyright info is correct
Verify help and other links are working as expected


Localization test cases
Verify all words and sentences for grammar, spelling and meaning after changing the languages


Compatibility test cases 

Cross-browser/ cross os/ cross device test cases:

Verify UX look and feel is as per spec on all supported browsers

Verify on all supported devices and their versions. (e.g. Mobile/ Tablets, iOS/Android)

Verify on all supported OS versions (e.g.  Windows, Mac, Linux)


Performance  test cases
(we need to know the KPI - Key Performance Indicators - before writing these test cases)
Verify the time taken to log in
Verify that a large number of users can log in simultaneously
Verify how fast login happened when a large number of users are using the site
Verify max number of users supported


Security  test cases
Verify that when one of user name or password is wrong, the error message is same for both the cases (no hint on which one is wrong)
Verify for XSS attack by giving javascript as input for username and password
Verify the login page against SQL injection attack
(SELECT * FROM users WHERE name='tom' and password='' or '1'='1')
Verify only https connection can be made and lock (safe) icon is visible on the URL bar
Verify the timeout functionality of the login session
Verify that the back button does not take you to the dashboard after logging out
Copy the link after log in and paste it on another tab(works) and another browser(no login)
Copy and paste the password and it should not get displayed (still be hidden)


Database test cases
Verify that database maintains activity log of who logs in, when, from where (all info based on requirement)


Usability test cases
The user experience of login functionality - all the instructions are clear, all the buttons and texts are clearly visible, the entire login process is not ambiguous, scroll and navigations are smooth

Comments

Popular posts from this blog

Coding solutions - Amazon card, Data structure, Search and Sort

  Amazon card, Data structure, search and sort Hashmap # HASH MAP implementation in python class Node :     def __init__ (self, key, value) :         self.key = key         self.value = value         self.next = None class HashMap :     def __init__ (self) :         self.store = [ None for _ in range( 16 )]     def get (self, key) :         index = hash(key) & 15         if self.store[index] is None :             return None         n = self.store[index]         while True :             if n.key == key:                 return n.value             else :                 if n.next:         ...

Debugging round interview questions

Debugging round interview questions with answers. These are real questions asked in real interviews.  1. When you come in the morning, SLA has increased for the job searching portal (website). It was fine till today morning. How are you going to debug it? There is a matrix that shows service and it’s SLA. What are the steps you are going to take to debug this problem? Answer : If the SLA has gone up suddenly it's definitely a critical issue. I will first report this problem to all stakeholders. I will check listed points to debug the problem - 1. Check what went in the latest release if that is one  2. Check for nodes that are down. If there is an unusual number of nodes that are not reachable then report it to the infrastructure team. 3. Check for database repair which can cause slowness 4. Check its client-side delay or server-side delay to narrow down the issue 5. Check the geolocation of where the website is slow in order to narrow down 6. Check network bandwidth in the da...

Types of Software Testing

Different types of Software Testing: Functional Testing types: Unit Testing: Individual units or components of the software are tested. A unit is the smallest testable part of the software. This is usually not manual and mostly done by developers as they write code. Integration Testing: Testing of all integrated modules of the software to make sure modules once combines works as expected or not. The best example would be FE and BE integration testing. System Testing:  The entire system is tested as per the defined requirements. Black box testing performed by QA. End to End Testing: Same as System testing but mimics more real-world use cases and interactions with network, databases and real users. Most companies combine system testing and end-to-end testing as there is a very thin line between both. Sanity Testing: Sanity testing is performed by the QA team to determine SW which is released is ready to do a full round of testing or not. This is usually quick and covers basic func...