Table of Contents
WHAT IS SOFTWARE TESTING
- PRIMARY OBJECTIVE: To ensure all the client functional requirements are developed in the enterprise application
- SECONDARY OBJECTIVE: To find & capture all the possible bugs in the developed application
- BUG is a deviation from the expected result OR a deviation from the client expectation around the functional requirement usage
OVERVIEW OF SOFTWARE TESTING TECHNIQUES & METHODOLOGIES
Software Testing can be classified further as
- BLACKBOX TESTING —> We provide the inputs to validate the received output
- WHITEBOX TESTING —> We test the code/database/queries/frameworks/server side logics at the code level
- GRAY BOX TESTING —> BBT + WBT
- MANUAL TESTING —> We write the test-cases manually + We execute the test-cases manually + We publish the test status reports manually + We raise bugs in JIRA manually
- AUTOMATION TESTING —> We write the test-cases via a tool + We execute the test-cases via a tool scheduled to run on scheduled time + We publish the test status reports using an automated tool after every round of test case execution + We raise bugs in JIRA automatically whenever the test-case fails during automation test execution
- POSITIVE TESTING —> This testing is conducted with an intention to prove that the AUT will work for the given business workflows. We conduct this positive testing during the below mentioned 3 occasions:
- Smoke/Sanity testing
- During demo’s to the mgmt team or client team
- During last leg of STLC [UAT] or when testing activities are coming towards closure at the end of STLC
- NEGATIVE TESTING —> This testing is conducted with an intention to prove that the AUT will not work for the given business workflows. We conduct this negative testing during the below mentioned 2 occasions:
- Regression testing
- During the initial build releases cycle to the QA team
- DESTRUCTIVE TESTING —> This testing is conducted with an intention to verify the resilience factor of the server or database application. We conduct this destructive testing during the below mentioned 4 occasions:
- Penetration testing
- Soak/Endurance testing
- Load testing
Stress testing
- FUNCTIONAL TESTING —> We validate the AUT behavior by providing valid inputs to cross-check the valid output received from the server OR We validate the AUT behavior by providing invalid inputs to cross-check the invalid output received from the server. This is also referred as Black Box Testing (BBT) where the output of the application is tested for its correctness & completeness, when several inputs (test data) are supplied to the application under test.
eg. 2+3=5 ; The user enters username and password and clicks on the LOGIN button to access the next page content.
We conduct functional testing in the form of
- Smoke/Sanity testing
- Retesting
- Regression testing
- Adhoc testing
- Exploratory testing
- UAT
- System integration testing
- End to End testing
- Database testing
- etc
- NON-FUNCTIONAL TESTING —> We validate the AUT behavior around non-functional traits/characteristics. This is also referred to as either Black Box Testing (BBT) or White Box Testing (WBT) or Grey Box Testing (GBT), where the non-functional aspects (such as response time, security of the code, security of the infrastructure, compatibility of the application with other systems, accessibility/usability of the application etc) of the application is tested for its correctness & completeness.
eg. The loading time of a website ; The response time taken to login to an application ; The ability to use the application on different browsers ; The availability of keyboard shortcuts to use the application
We conduct non-functional testing in the form of
- Performance testing
- Load testing
- Stress testing
- Soak/endurance testing
- Security testing
Penetration testing - Compatibility testing
- UI/UX testing
- Usability testing
Accessibility testing - Localization testing
- Internationalization testing
- Screen resolution testing
- etc
ACCESSIBILITY TESTING IS
- Non-Functional testing
- Blackbox testing
- Positive testing
- Manual & Automation testing
WHAT IS ACCESSIBILITY TESTING
Accessibility testing refers to the process of evaluating a web application, mobile app or digital product to ensure that it is usable by people with disabilities in a similar amount of time and effort as someone without disabilities. It means that people are empowered, they can be independent and they will not be frustrated or restricted by materials that are poorly designed or implemented.
Ensuring that web content is accessible to all users, regardless of their abilities, is a matter of social responsibility and human rights.
The goal is to identify barriers that might prevent users with different abilities (e.g., visual, auditory, motor, or cognitive impairments) from accessing and interacting with content effectively.
Ensuring access for everyone
Accessibility is not just a matter of compliance but a commitment to user-centric approaches prioritizing inclusivity and equal access for all individuals. By adhering to established standards, integrating accessibility into every stage of the development process, and addressing common issues, you create environments where everyone can better interact with technology.