|
Vaibhav Sajwan Oodles

Vaibhav Sajwan (Qa-Associate Consultant - QA)

Experience:1+ yrs

Vaibhav is a highly accomplished Quality Analyst, with a strong focus on Manual testing. He demonstrates proficiency in the Agile methodology and boasts a proven track record in the creation of Manual Test Cases. His expertise extends to using tools like Azure DevOps and JIRA for test management, covering a wide range of testing types including Regression Testing, Performance Testing, Stress Testing, Build Verification Testing, Smoke Testing, Ad-hoc Testing, Exploratory Testing, System Testing, and Sanity Testing.

Vaibhav Sajwan Oodles
Vaibhav Sajwan
(Associate Consultant - QA)

Vaibhav is a highly accomplished Quality Analyst, with a strong focus on Manual testing. He demonstrates proficiency in the Agile methodology and boasts a proven track record in the creation of Manual Test Cases. His expertise extends to using tools like Azure DevOps and JIRA for test management, covering a wide range of testing types including Regression Testing, Performance Testing, Stress Testing, Build Verification Testing, Smoke Testing, Ad-hoc Testing, Exploratory Testing, System Testing, and Sanity Testing.

LanguageLanguages

DotENGLISH

Conversational

DotHindi

Fluent

Skills
Skills

DotAPI Testing

100%

DotJira

80%

DotTest Planning

80%

DotpNFTs

80%

DotUsability Testing

80%

DotDatabase Testing

80%

DotManual Testing

100%

DotQA

80%

DotClient Handling

80%
ExpWork Experience / Trainings / Internship

Sep 2023-Present

Assistant Consultant - QA

Iris Tech Park, Gurugram


oodles technology

Iris Tech Park, Gurugram

Sep 2023-Present

EducationEducation

2014-2018

Dot

Graphic Era Hill University

B.Tech-Civil Engineering

Top Blog Posts
Manual vs Automation Software Testing

Automation Testing vs Manual Testing

 

What is Manual Testing?

Manual Testing is something that is conducted through human interaction with the software system. In manual testing, tests are executed manually by QA Analysts. Manual Testing is performed to discover bugs in software applications and to launch a bug-free software application to the stakeholders.

In manual testing, the tester involved with the application tests the application thoroughly and creates the reports of testing results like defect reports, traceability matrices, etc without the help of any automation software testing tool.

It is a classical method of all testing types and helps find bugs in the software system process. It is generally conducted by the experienced tester to test every component of an application and make the application bug-free as much as possible.

 

What is Automation Testing?

In Automated Software Testing testers write code or script to test the software application. The tester uses an appropriate automation tool to create a test script and validate the software by finding the defects by interacting with the software and automation script.

Automated testing entirely relies on the pre-scripted test which runs automatically to compare actual results with the expected result. This helps to determine whether the application runs as expected or not.

Automated testing allows you to execute repetitive tasks and regression tests without the intervention of a manual tester.

 

 Manual Testing

Automated Testing

1). Test Cases are executed by human tester.1). Automation Testing uses automation tool to execute test cases.
2). Manual testing is time consuming.2). Automation testing is faster and takes up human resources. than the manual approach.
3). Exploratory is possible in manual testing.3). Automation doesn't allow random testing.
4). Initial investment in manual testing is  comparatively lower.4). The initial investment in Automation testing is higher.
5). Manual Testing is not reliable.5). Automation Testing is more Reliable as it is performed by tools and scripts.
Category: ERP Solutions
Use Case Testing and its elements

Use Case Testing 

 

What is the Use Case?

A use case is an approach for system analysis that identifies, clarifies, and organises needs. Use cases are a collection of conceivable sequences of interaction between the system and the user in a specific environment to achieve a specific goal.

It is a document of action performed by the user and how the system behaved on it.

 

Also Read JMeter For Software Testing

 

Elements of Use Cases

A use case has three major elements i.e Actor, Action, System

Actor :- Is a user that interacts with the system, and performs some functions to achieve a goal.

Action :- Is a system response, behavior, and final outcome that completes the process.

System : - The process and steps taken to reach the end goal, including the necessary functional requirement and their anticipated behavior.

 

Types of Use Case :-

 

1). Basic Use Case :- In this method the positive aspect of the application, and the positive scenarios are tested with valid data.

2). Alternate Use Cases :- In this case the alternate method is used to test the error handling of the system with alternate values.

3). Boundary Use Case :- This is the method of testing the use case at maximum and minimum input values.

4). Negative Use Case : - In this case, negative inputs are used to test the use case to detect and prevent errors.

5). Integration Use Case :- In this method of testing, the use case is being tested to process data within the system.

6). Performance Use Case :- In this case the objective of testing is to test the scalability, reliability, and response time of use cases. 

 

Also Read Sanity Testing vs Regression Testing

 

Prerequisites for building Use Case Testing plan

 

  • Complete and thorough understanding of the system functionality.
  • Evaluate the associated risks and dependencies in the initial project stages.
  • Establish a proper communication plan and share it well with required stakeholders.
  • Timely and prompt communication between changes of scope and requirements.
Category: ERP Solutions
Software Testing Life Cycle : A Comprehensive Guide

Software Testing Life Cycle 
 

As we all know that software development is carried out by various methods that have different sequences of steps, and through following these steps a new software could be developed. The method is called a Soft Development Life Cycle (SDLC). 

The Software Testing is part of the Software Development Life Cycle (SDLC), software testing is completed by following the sequences of activities, these states will be carried out collectively in a sequence to debug the product and make the software bug-free as much as possible. The complete process of debugging the software is called the Software Testing Life Cycle (STLC). 

 

The STLC is divided into phases like : -

1). Requirement Analysis

2). Test Planning.

3). Test Case Development

4). Environment Setup.

5). Test Execution

6). Test Cycle Closure

 

 

Also, Read Automated Tools For Software Testing

 

Requirement Analysis

 

Requirement Gathering is the phase where the QA team interacts with the client to understand the requirement in detail, through understanding the requirement QA team analyze

- Types of testing to be performed.

- Identify tools that would be required for testing

- Hardware, Network, and OS in which the client going to run the software.

- The Automation feasibility analysis was also performed in this phase.


Test Planning in STLC 

 

Test Planning is the process in which the senior QA manager determines the strategy, test effort, resources, schedule, and budget, etc.

- Prepare tools, plans, and documentation for various types of tools etc.

- Test tool selection.

- Test Estimation.

-Resource planning and Training Requirements.

 

Test Case Development Phase 

 

The test case development is carried out in this phase. Test data is also being identified in the same phase. The activities involved in this phase are

- Create Test Cases,

- Review and baseline test cases and Scripts.

- Create test data.

 

 

Also, Read Principles of Software Testing

 

Test Environment Setup 

 

Sometimes a software can be designed to perform heavy tasks or sometimes it is designed to complete small enterprise tasks, then in that case a heavy or light device is to be required. The network type, hardware, software tools, etc. would get selected and configured to create a test environment. Testers are not involved in creating the test environment but can perform some smoke tests to know if the test environment is running fine.

 

Test Execution Phase 

 

Test execution is the phase where the QA Team tests the application thoroughly with the specific method and test data to analyze the application activity with different scenarios and different test data. The activities that are performed

- Execute Testing of the application.

- Update bugs, and defects to the developer.

- Map defects to test cases in RTM.

- Retest the Defect fixes.

- Track the defect to closure.

 

Test Cycle Closure

 

The test Cycle Closure phase is the completion of test execution which involves several activities like test completion reporting, collection of test completion matrices, and test results. Testing team members meet, discuss, and analyze testing artifacts to identify strategies that have to be implemented in the future, taking lessons from the current test cycle. 
 

The test cycle closure activities involved :-

- Evaluate cycle completion criteria according to Time, Costing, Effort, and Resources being involved in the process.

- Prepare test matrices based on the above actions.

- Document learning of the report.

- Qualitative and Quantitative reporting of quality of work.

Category: ERP Solutions
An Introduction To Performance Testing

Performance testing is the process of testing the software application for the non-functional aspects like response time, speed, reliability, and scalability under different workloads. The main purpose of performance testing is to identify the performance bottlenecks of software applications and eliminate them for better usage. The performance testing is to test the speed, scalability, and stability. The major objective of performance testing is to provide the information to the stakeholders about the application's reliability, scalability, response time, throughput time, and other non-functional aspects.

 

If the performance testing is not performed then there will always be a possibility of having issues such as slow response time, weak throughput, weak connection time, etc. Performance testing is important for software applications with long duration of usage and with large deviations in workloads.

 

Also, Read Principles of Software Testing

 

Types of Performance Testing 

 

Load Testing :- It is used to test the software application performance under large user loads. It ensures that software applications will work when thousands and millions of users are working on software applications simultaneously.

Stress Testing :- Stress testing is used to identify the application usage when an extreme workload is applied to the software application. The objective of software applications is to identify the breaking point of the application.

Endurance Testing :- This is used to test the software application and how it will perform under a long duration of usage.

Spike Testing :- Spike testing is used to test the application with sudden increases and decreases in user loads.

Volume Testing :- Under Volume Testing large no. of data is populated in the database and the overall system functionality is monitored. The objective of volume testing is to determine how the software handles large volumes of data.

Scalability Testing :- It is used to test the scalability of software applications i.e. to determine whether the application can be upgraded in the future for usage by more no. of users.

 

Also, Read The Significance of SQL For Software Testing

 

How To Perform Performance Testing?

Performance testing is executed through various methodologies but the objective of performance testing remains the same. It helps to ensure that the software application performs as required in large user loads, huge data, and other aspects that introduce performance bottlenecks in software applications.
 

Step 1:- Identify Your Test Environment

Before testing the software application testers must know about the software application, the purpose of the software application, and the software, hardware, and network configuration required for testing the application. It helps the tester to perform more effective testing. It helps the tester to identify possible challenges that could occur while performing testing of the application.

 

Step 2 :- Identify The Performance Acceptance Criteria 

The performance acceptance criteria are the expected results or criteria the software application has regarding to its performance under user loads, data volume, and network configuration. Most of the clients don't have much clarity on performance parameters, and the documentation provided by the client doesn't have any major information on performance aspects, therefore it becomes the responsibility of the tester to outline the performance parameter of the application according to its usage and purpose.

 

Step 3 :- Plan and Design Performance Tests

Determine and plan performance testing test cases that are used by software testers to test performance criteria. The test cases are designed so that parameters required in software application performance are scaled up correctly. The test cases should have huge scope and should be less in numbers. The test cases help simulate real user environments, plan test data, and outline traceability matrix.

 

Step 4 :- Configuring the Test Environment 

Prepare the testing environment before execution. The hardware, software, and network configuration that are being used in performance testing is arranged by the QA team, and the test data, and testing scenarios are being collected to simulate a real-world user environment.

 

Step 5 :- Implement Test Design 

The performance test cases are created according to the development purpose, business objective, and technical requirements of the software application.

 

Step 6 :- Run The Tests 

The test cases and test data prepared for software applications are executed under the test environment that simulates the real-world user environment. The test cases are being executed and the defects that are being identified get delivered to the development team get fixed and retested by the QA team.

 

Step 7 :- Test Closure Report 

After being completely testing the application the test closure report is created which defines the value of different traceability matrices that give information on application performance under different user loads and volumes of data.

Methods and Scenarios of Cross Browser Testing

Cross Browser Testing is a major testing type that is to be performed for web applications. This is because web applications developed by the development team can be accessed by the user from any browser, browser version, device, and OS platform, hence it becomes essential to test the compatibility of applications among different browsers, devices, and OS.

Cross-browser testing helps to prevent and ensure that the application works correctly in other web browsers and platforms also so that the users of other web browsers and platforms can feel the easy and defect-free flow of the application, and make the application to win the faith of other markets users.

Marketers, and Web Designers perform the cross-browser testing and can use them to test the landing of web pages.

The QA team is more responsible for performing cross-browser testing activities, they execute the same scenarios, and test cases with web applications across different browsers to ensure the compatibility of web applications, in case of any discrepancies QA team can raise the defect, and the development team can fix it.

 

 

Also, Read Principles of Software Testing
 

 

When cross-browser testing can be performed ?

The cross-browser testing can be performed in the Development stage where new versions get integrated and tested with different scenarios in various web browsers and platform combinations.

Or it can be performed in the Staging/Pre-release environment of the application.

 

The Pre-Requisite of cross-browser testing is as follows :-

1). Choose critical scenarios that are to be tested in cross-browser testing, it could be UI, Security, Storage, Network, etc.

2). Choose the Test Environment, it is one of the major tasks in cross-browser testing in which the combination of web browsers, devices, and platforms is to be selected so that the maximum possibility of testing could be covered across different browsers.

3). Prioritize the browser according to the usage and popularity among users.

 

Some critical scenarios of cross-browser testing are:-

The scenarios based on Devices

1). To validate that websites or apps are compatible with tablets.

2). To validate that websites are compatible with mobile devices.

3). To validate the page layout of the application in different screen resolutions.

4). To validate the application compatibility with high configuration of hardware.

5). To validate the application compatibility with low configuration of hardware.

 

Also, Read The Significance of SQL For Software Testing

 

The scenarios based on Browsers

1). To validate that websites are accessible through the browser.

2). To validate that buttons of web applications can be displayed in the browser.

3). To validate that each element is clickable on the web page.

4). To validate that the web page takes too long to load in the browser.

5). To validate that all security fundamentals are followed in the scenarios.

 

The scenarios based on the Network

1). To validate that the website can be loaded successfully in complete network strength.

2). To verify that websites can be worked on slow networks.

3). To validate the rendering behavior of web pages in a slow network.

4). To validate that the major functionality of the application can be accessed in a slow network.

5). To validate that download and upload links functionality in the slow network connection.

 

The scenarios based on Security

1). To validate the criteria for password is followed under each browser, and OS combination.

2). To validate that guidelines for passwords are displayed in different browsers and platform combinations.

3). To validate that any error message doesn’t contain any critical application information.

4). To validate that cookies and cache storage don’t contain any password-related information.

5). To validate that the user can’t be navigated to the home page again without login, after successfully logging out from the application.

 

The major purpose of cross-browser testing is to ensure the compatibility of web applications in different browsers and platforms so that their users can experience defect-free applications and use them diligently.

An Introduction To Software Testing Principles

Software testing is the process of eliminating bugs from any software application. The main objective of software testing is to help developers improve the application programming and to prevent bugs from getting delivered into the production environment.

 

Exhaustive Testing Is Not Possible 

Testing any software application without prior documentation and planning leads to consume a lot of time and can become a reason for delay in application deployment. In Exhaustive testing, a QA Engineer can’t test the application with multiple scenarios and there is always a possibility that the application might fail when test execution is followed by exploratory testing. Therefore testing a software application by following planned and designed methods helps QA engineers to test each software component with multiple scenarios and combinations of different test data. 

 

Early Testing

The approach of early testing is to make QA engineers get involved in software development from the very initial stage of SDLC i.e. requirement analysis stage. This helps a QA engineer to understand the client business requirement from the application and analyze the functional requirement of the application so that he can examine all the possible scenarios of a productive testing. Even early testing helps to find bugs in the early stages so that bugs get fixed on time and prevents any major bug from appearing when the scheduled end date is close.

 

Defect Clustering

Defect clustering means that most of the defects and bugs are found in small numbers of modules, the main reason behind this is that these modules can be complex and integrated with other complex modules or could be complicated or large in size. This can also be defined by the Pareto principle which states that 80% of the complication is present in 20% of the module. Hence, the presence of bugs in these modules after certain deployment is a normal condition, therefore using the same test scenarios and test cases for retesting and regression testing couldn’t be able to find bugs which is the reason new test cases and test scenarios are used in test execution.

 

Pesticide Paradox 

This principle defines that if we perform test execution using the same testing technique and same test cases then it couldn’t be able to find new bugs in the software application. To prevent this it is very necessary to review test cases and modify them to implement in multiple parts of software applications. 

 

Testing Is Context Dependent

This principle states that a software application could have any business objective and the functionality of the software application varies with the business requirement, therefore testing scenarios and technique is also varies with application context. It could be easily understood by the statement that, the testing process of a “Banking website” is totally different from testing an “e-commerce” site. The testing approach, test scenarios, and testing technique largely vary with the software application context.

 

Absence of Error Is a Fallacy

When the application is completely tested and there are no bugs identified in the application then we can say that our application is 99% bug-free. The complete removal of bugs can not be a case, because it could be a possibility that the application is tested following the wrong specification which doesn’t fulfill the client’s requirement. In this case, finding bugs and fixing them could help to make the application a quality product.

 

Testing shows the presence of defects

Testing is the process that makes software applications bug-free and defect-free. By testing only, bugs and defects can be identified in the application. If the application is tested thoroughly and all the defects that are found get fixed then there would always be a possibility of bug leakage, this is because whenever a new build gets released it affects the components of previous builds so that it is not completely effective to use same test cases in retesting and regression testing, therefore using different test cases and implementing different test scenarios for test execution will be an effective approach of software testing and will find new bugs that could get released in absence of modified testing technique. 

Principles of Software Testing

Principles of Software Testing

Software testing is a technique to improve the quality of software applications. Software testing mainly focuses on deploying a bug-free application into the production environment. Software testing is based on some principles to make testers follow a productive approach. 

 

  • Exhaustive Testing is not possible : - Testing an application exhaustively without any prior planning of test scenarios and test cases leads to consuming more time and can become a major reason for bug leakage. The best approach is to test the application is with the combination of positive and negative test cases along with the integration among different modules. In exhaustive testing, a quality engineer got less chance to analyze the expected bug-free behavior of the application.

 

  • Early Testing : - Testing the application from the early stage of requirement analysis is the right approach to maintain the quality of the software from the initial time of development. Early testing prevents to generate any major issues or blockers at the time of deployment. It leads to achieving quality software within time. The involvement of QA engineers from the early stage makes them to understand the application's functional requirements and provides good outcomes from testing.

 

Also, Read The Significance of SQL For Software Testing

 

  •  Defect Clustering :- It defines that through the software testing process, most of the bugs are found in a small number of modules. The major reason behind this could be that modules may be complex, require integration of another complex module, the module might be complicated or big. Therefore using the same test cases for these modules will not become able to find bugs. These types of software applications follow the Pareto Principle i.e. 80% of bugs will be found in 20% of the modules.

 

  • Pesticide Paradox : - This principle mainly focuses on having a multiple vision for a module. We can say that using the same test cases from the initial stage of deployment till the final deployment stages is not a suitable approach. As further the newer versions of the application get deployed it starts impacting their previous versions therefore a QA engineer should test multiple scenarios with different sets of data and ensure defect-free communication between modules.

 

  • Testing is context-dependent : - It means that we have multiple applications that have different business objectives and also have differences in functionality, therefore testing of applications with different objectives requires different approaches and techniques, for example Testing a banking website is totally different from testing an e-commerce website.

 

Also, Read Automated Tools For Software Testing

 

  • Absence of error is a fallacy :- Suppose an application is tested thoroughly and get fixed by the developers even if no bugs are identified in the application then the application can be said as 99% bug-free. This means if the development is done on the wrong specification then fixing bugs wouldn't help in removing errors.

 

  •  Testing shows the presence of defects:- Test engineers test the application to make sure the application is bug-free and defect-free. If the application is tested and the bugs found get fixed by developers then even if the bugs are not identified in a happy flow of application there will always be possibilities that testing the application thoroughly again with other scenarios find new bugs. Hence it is necessary to test the application to remove as many bugs as possible so as to make your application 99% bug-free.
Banner

Don't just hire talent,
But build your dream team

Our experience in providing the best talents in accordance with diverse industry demands sets us apart from the rest. Hire a dedicated team of experts to build & scale your project, achieve delivery excellence, and maximize your returns. Rest assured, we will help you start and launch your project, your way – with full trust and transparency!