Monday, May 12, 2014

Complete testing of log in , Big picture !

Cracking an interview is not a Rocket Science to be frank , but yes for some it could be :D

Lets talk in general , what is the expectation of an interviewer from an interviewee. Interviewer just want the best answer which is unique and different from the rest of the world. Err...What does that mean ?

For each answer there should be an approach which a tester should mention while answering any question. And that is Always Start With Positive approach .!! Be it writing test cases , or reading requirements , executing test cases , thinking of a scenario in testing ,etc

Lets discuss how can we take an approach of writing test cases with an example which is asked in almost all QA - interviews.

How to design test cases for Log-in functionality..?
This is easy .. no ?
Lets try to think in a broader and better way.
Start with open questions :

  1. Why , on earth , user needs to Log into any system ?
  2. Why he would go for log in if:.. he is new to web ?
  3. What he will miss if he does not log into the system ?
  4. Why log is required to anyone ?
  5. What all process he has to go through if he opts for logging in?
  6. What is the process to log into system?
  7. What all credentials are required to get into the system ?
  8. What all basic information check is required to authenticate a user?
Now go more into depth and think more about the architecture as in how MVC will work in this case as Log in is all- web based and service oriented process. So try applying Service Oriented Architecture Concepts:
  1. How service oriented tests can be applied on log in.
  2. How session will be maintained when user log into system.
  3. How session will be maintained when user log out from system.
  4. How session will be maintained when user switch logging in and out from system.
  5. How system will behave when user opens a new tab , after logging into the system.
  6. What kind of response is expected when submit button is hit by system.
What all testing approach you can apply, try thinking as much as you can and categorize your test cases:
Boundary values:
  1. Check length of user name
  2. Check length of password

Equivalent partition
Create a group of test cases including positive cases
  • Enter the correct user-id and password and click on submit button
  • It should display welcome page
and negative cases:
  • Enter the correct user-id and wrong password and click on Submit button
  • It should display error
  • Enter the wrong user-id and correct password and click on Submit button
  • It should display error


Compatibility Testing
  • Check application should work on different Operating systems.
  • Check application should work on different browsers.

Comparison Testing
  • Check application should work on different resolutions.

Usability Testing
  • Check the auto focus of mouse
  • Mouse auto focus should be at UserId
  • Check the password with Lower case and upper case
  • Password should be case sensitive
  • Check the auto focus of mouse
  • Mouse auto focus should be at UserId
Security Testing
  • After login with valid credentials, click on back button
  • The page should be expired
  • After login with valid credentials copy the url and paste in another browser
  • It should not display the user's welcome page
  • Check the password with Lower case and upper case
  • Password should be case sensitive
And others could be :

  • Integration Testing
  • Functional Testing
  • End-to-end Testing
  • Performance Testing
  • Unit testing

There is still lot to test , and testing is a never ending process. So , all I can say Think more , Think Big ,Think Better !!

No comments:

Post a Comment