- Authentication is crucial to security, ensuring that only authorized users gain access to systems, applications, and data. There are three main types of authentication methods:
- This type of authentication relies on information that the user knows.
- Examples: Passwords, PINs, security questions, or passphrases.
- Advantages: Easy to implement and use.
- Disadvantages: Can be vulnerable to social engineering, phishing attacks, or being guessed.
- This type of authentication depends on something the user possesses.
- Examples: Physical tokens, smart cards, mobile devices, security keys, or one-time password (OTP) generators.
- Advantages: Adds a layer of security that is more difficult to breach compared to just using passwords.
- Disadvantages: Can be lost, stolen, or damaged, and may require additional hardware.
- This type of authentication uses the inherent characteristics of the user.
- Examples: Biometric authentication methods such as fingerprints, facial recognition, iris scans, voice recognition, or behavioural biometrics.
- Advantages: Provides a high level of security since biometric traits are unique to individuals.
- Disadvantages: It can be more expensive to implement and may have privacy concerns; some biometric systems can be tricked or spoofed.
- A critical bug is a bug that impacts a major functionality of the application. This means affecting a large area of the functionality or breaking any functionality; there is no other method to overcome this problem. The application cannot be delivered to the end user unless the critical bug is fixed.
- For example, on a shopping website like Amazon, the following bugs will be classified as critical:
- A major defect is a defect that leads to the failure of a crucial part of the application.
- For example, on a shopping website like Amazon, the following bugs will be categorized as major:
- A minor defect is a defect that causes problems in some unimportant or niche functionality of the system.
- For example, on a shopping website like Amazon, the following bugs will be deemed minor:
- White-box testing is a software testing method that focuses on the internal structure of the code.
- This type of testing is often used to identify defects in the code, such as logic errors, syntax errors, and data-handling errors.
- If defects are not identified and fixed early in the development process, they can be more expensive to fix later on. This is because it may take longer to find the root cause of the defect, and the fix may require changes to more code.
- Issues in the navigation of the application - The flow of the site is not consistent.
- Usability - The application is not user friendly and the interface is not easy to understand, or navigate and is not extractive.
- Cosmetic Issues and GUI Issues - Cross browser application does not have a consistent look and feel, and Field level validations are not working.
- Functional Issues.
- Performance issues - How much time it takes to display the page to the user.
- Load - How much load an application can handle at any point in time.
- Stress - At how much load the application will crash.
- Flow of data - Information which is entered by the user is stored in the correct format.
- Designers should always remember that the experience of the user on their website must be as pleasant as possible. How the user interacts with the website is very important.
- While doing usability testing of a web application:
- Security: Authentication Issues, data not encrypted, User privileges leaks, SQL injection can done, cross side scripting, cookie testing etc.
- Session Issues: Session of page not maintained.
- GUI issues: Page resize issues, alignment of page, page refresh issues, look & feel, broken links, bad hyperlinks, spelling etc.
- Pages on the website are not properly validated and do not conform to industry standards (CSS, HTML/XHTML).
- The application's business logic is not proper.
- User inputs are not properly validated.
- User inputs do not meet technical specifications.
- Error messages are not generated or are incorrect.
- Web page design (fonts, colour scheme, layout) does not meet requirements.
- Broken links.
- Feeds do not work properly.
- Pages are not accessible to the visually impaired.
- Copyright information is incorrect.
- Images have not been optimized or do not otherwise meet requirements.
- Cookies don't work properly.
- Web clients can't handle some of the messages returned by the server.
- Pages don't render properly with some operating systems and/or browsers.
- Data obtained through web pages are not captured and/or stored properly in the database.
- It takes too long for some pages to render.
- Performance lags when there are numerous simultaneous users.
- Users have inappropriate access to roles or content.
- User problems with login (password strength, failure to track login attempts, etc).
- Concurrency issues (session problems) when multiple users are on the same page and/or when a single user is on multiple windows of the same page.
- The server log does not properly track transactions.
- The website does not properly use SSL.
- Submit the page with empty optional fields and verify whether the validation messages are shown for optional fields.
- Each time leave any one of the optional fields, submit the page and verify whether the validation messages are shown.
- Submit the page with empty mandatory fields and verify whether the validation messages are shown for mandatory fields.
- Each time leave any one of the mandatory fields, submit the page and verify whether the validation messages are shown.
- High severity low priority: Logo of the company.
- High severity high priority: Submit button of login page not working or page not displaying.
- Low severity high priority: Cosmetic error or spelling mistake on the login page. It's a small bug but has high priority as it's on the main login page.
- Low severity low priority: spelling mistakes in text of home screen.
- The Requirement Traceability Matrix (RTM) captures all requirements proposed by client or development team. Used to check all testcases are covered, so that no functionality should miss.
- Alpha Testing: Pre-release testing by end-user representatives at the developer site.
- Beta Testing: Done by a selective group of users (Normal Users). For example: Apps like Yahoo Messenger, and Firefox release their beta version to users and get their feedback.
👋 Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.
📬 Contact Me | LinkedIn | GitHub
📌 Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.