I need to know what is the standard rule for creating username/login ID. Should it be case-sensitive? If I have successfully created three accounts (user2, useR2, USER2), should I consider this a bug?
No, it's not a bug by default. This depends on the requirements of the system, there is not global rule for situations like this. Some operating systems allow the same user with different casing.
Even the user part of an email adress (firstname.lastname@example.org) is not case sensitive in all cases. For more info see the question Are email addresses case sensitive? on Stack Overflow.
Checking for case sensitivity itself isn't a bug in my opinion.
I'd consider it a bug, if the user doesn't get informed about the username being case sensitive. Otherwise one may wonder, why he sometimes can log in fine (Username1) and sometimes gets an error message (username1). In other cases the case-sensitivity is used to add an extra (but very thin) layer to the security.
For usability reasons, if a username is case sensitive it shouldn't be allowed to create accounts with the same name but different capitalization. This part I'd definitely see as a bug.
I'd consider this as a matter of usability/UX. Most services I know use case-insensitive logins, and most people I know use to blame services with case-sensitive logins.
So, I'd say you should check the requirements, and, depending on the result, consult with BA/PO/PM, or whoever you have on the project, and ask him a) if anyone ever thought about login case-sensitivity and b) which option would be correct.
If requirements say it should be case-sensitive, you can also talk to your manager, ask him why he thinks it should be so and share your opinion on the matter.
There is no standard rule. Every application decides how to handle user names and whether case sensitivity is needed/wanted.
If your application is supposed to be case-sensitive and isn't, that's a bug. If it's not supposed to be case-sensitive and is, that's a bug.
In case of username it isn't case-sensitive so user2 = useR2 = USER2 but in password case those are 3 different passwords because password will be encrypted.
I agree with @Niels. This cannot be considered as a bug, solely on the basis of being able to create accounts with different set of upper case letters. You should refer to the requirements, to see if it specifically distinguishes between upper case and lower case in case of account creation.
There is no rule to check in this scenario. For Gmail allows you to log in using
USERNAME@gmail.com as well as
email@example.com. It can't be considered a bug.
I find case-sensitivity in passwords to be a standard feature in most of the major sites that I use.
Indeed in many of them the password requirements frequently include "both an upper and lower case letter" and for that to work obviously the password must be case-sensitive itself.
From a UX perspective usernames should NEVER be case sensitive. The marginal gains against brute force attacks do not offset the added UX complexity to the point where a developer cannot QA against the possible mistakes a user can make.
Case in point is the reason that I even searched for and found this discussion thread. I am working with Axis cameras which like many IP cameras is basically an embedded web server. These devices allow for multiple accounts one of which we create for our service folks. Out of typing habit I accidentally created a number of these accounts with an initial cap. I received no warning that usernames are case sensitive.
When the service person could not login I realized that they use the all lowercase version of the username. No problem, I think, just an annoyance. But when I try to delete the "Username" and create the "username" I am met with a user already exists error even though the user is not actually listed. I can add a user with the case sensitive version just fine but to add the lower case version I have to reset the device back to factory defaults to clear out the bad entry in the user table.
For this and many other reasons, Windows usernames are case insensitive and this is why ALL COTS usernames should be case insensitive. If your requirements specify case sensitive users or do not specify user case sensitivity at all, then your requirements are likely wrong and professionally speaking, speak up. If there is a clear justification for a locally developed solution to have case sensitive usernames then be prepared to significant additional testing and user support costs.
Fortunately I only did this on 10 cameras and not all 2000 so I only have a few hours of extra work and service gaps on the 10 cameras that need defaulting but I could just as easily have used the vendor tools to create the capital Username and then I would be having to default our entire plant.
There is NO real upside to case sensitive usernames that I can see and some huge downsides with regard to additional bug testing and user dissatisfaction when the inevitable bugs hit the windshield of life.
I believe it should depend on the situation. Large external websites should be case insensitive like for instance Gmail. But if the web app or application was a internal app used just by a certain company then it should be case sensitive.