Here we will have a complete understanding of what is Baseline Testing, its importance, and its benefits when it comes to Software Testing:
Software testing plays an important role when any software/product goes into production. It has to be ensured that software has been tested completely, including functional as well as non-functional requirements to work as expected in production.
The testing team can start creating test cases based on the validation of the requirement document. This testing is one of the testing types that play an important role to deliver a quality product. This type of testing comes under non-functional testing.
In layman’s terms, before constructing a building, the architect creates a plan which is approved, and the base is set for the building. If that base is not constructed properly, the building can collapse.
That’s the same case with our software. If the baseline test is not done, it can cause the failure of the project. Many issues can be resolved at this level of testing only. Issue found at an early stage helps to maintain the cost and time as well.
What You Will Learn:
What Is Baseline Testing
As the name suggests, it refers to testing the base of the project. The baseline document is tested/validated so that the base is set correctly before the development and other processes start.
Baseline testing has nothing to do with the functionality of the software/product. It is a formal document that is used as a fixed point of reference for future comparison purposes.
Below is the flow of baseline tests performed at the testing level:
Once the baseline test is performed, baseline and test results are compared to know whether it is as expected or not.
Importance Of Baseline Testing
In case of the baseline test is not done properly, it will create issues further when development starts. If the client requirement is not baselined properly, the further documents created based on the business requirement document will have the same incorrect information.
The development team will start development with incorrect requirements, and the testing team will also test the incorrectly developed functionality. During the User Acceptance Testing, the issue will come up and the software developed will not be as per the client’s expectation.
That’s why this particular test plays an important role in software testing, as it will help to validate the requirement at the initial level only.
Let’s take an example of the case of performance testing.
While performing load testing on a website, the tester concludes that once the load reaches 5000 (i.e., after 5000 hits), the website performance degrades. The website started running very slowly and once the user count reached 6000; the website stopped working.
Here, for the next release to be given by the developer, the baseline is set for 5000 hits i.e., a standard load website can take as compared to the standard server. Based on this testing set as 5000 as compared to the standard server, data can be used for defining future possibilities of performance testing.
This data baselined on a document acts as a reference point for comparison for future testing. The document once created and tested is finalized for the project to be started and acts as a reference for all the teams.
Baseline Testing In Software Development Life Cycle (SDLC)
In the software development life cycle, the very first phase is requirement gathering and analysis. This test plays an important role, as in case the initial phase itself is not tested properly can lead to major issues later on. It can impact the cost, timeline, budget, and client goodwill as well.
Once the requirement is gathered by the Business analyst, he discusses the same with the Project Manager for the testing of the requirement and the feasibility on the same. If in case, there is non-clarity in the requirement prototype is created by the developer and is presented to the client.
If that is as per the client’s expectation and approved a requirement document is provided to the teams to start the further process.
Based on this requirement document, other documents for software development and testing are created such as Project Plan, Design document, Test Plan, test cases, etc. So, it’s very important to have the baseline test done properly. If the requirement document is not validated properly, further documents and processes will fail.
Once the testing gets completed, the development and testing process starts.
The below table shows the baseline considered at every phase of the Software Development Life Cycle.
|1||Requirement Analysis||Software Requirement Specification document|
|2||Design||Design Specification document|
|4||Testing||Test Plans, Test cases, test data|
|5||Acceptance Testing||Operational Software|
Below is the flow of Baseline testing to be performed in all the phases.
Benefits Of Baseline Testing
Baseline testing is done to ensure that product’s performance does not get degraded or slow down because of the new changes in the application. The correct measures should be taken so that the performance meets the baseline standards.
Below are the few benefits of following the baseline testing approach:
- It helps to remove the requirement issues at the initial stage only.
- It helps to maintain a baseline for the performance of the products.
- The quality of the product increases.
- Configuration errors can be found easily.
- This testing type helps to find the blockages for different performance criteria.
- It helps to increase the tester’s efficiency. Automation gets easier as, rather than writing multiple statements, only one needs to be checked.
- Helps to ensure that all the scenarios covered have no impact on the user experience.
Baseline Vs Benchmark Testing
Baseline and Benchmarking tests are generally considered the same, but the two are different.
Let’s check the difference between two of the testing types.
|S.No.||Benchmark testing||Baseline Testing|
|1||In Benchmarking testing, metrics are already created to estimate the performance of the application. It compares the performance of the product with the industry standards.||In this testing, the metrics are created once the performance testing is completed. Set of test cases are run to capture the information on performance.|
|2||Benchmark testing is performed from the business point of view. SLA’s are created based on the same.||This testing is done at the very initial stage, from where the development, implementation, testing, and comparison start.|
|3||Benchmark can be for all the products/software in the organization.||This testing is done for specific products/software.|
|4||This is the state where you want to achieve or exceed what you have already achieved.||This testing is done at the very initial stage, from where the development, implementation, testing, and comparison start.|
|5||This testing is to measure the performance of an application alongside other application which has similar functionalities.||This testing is determining the performance of the application to compare with future testing.|
Baseline Vs Load Testing
Let’s go through a few of the differences between baseline and load testing.
- Execution time in this test is less than Load testing.
- Resource requirement like Hardware/Software is less in the Baseline test than in load testing.
- Results delivered are quick in this type of testing as compared to load testing.
- Reporting is also faster in the Baseline test than in load testing.
Points To Be Considered In Baseline Testing
There are a few points that need to be considered before doing Baseline testing:
- This test is a comparison of the current state and the previous state. If the software to be tested is very much in bad shape, it can be challenging. Example: Third-party services that cannot be hit, randomness, or if something creates changes in the software.
- The Baseline test helps to test scenarios where data changes frequently.
- Testing to be performed like, on which browser, device, operating system, cross-browser, cross devices, functionality has to be decided initially only. If not then, it will be considered as an error/bug by the testers. The developer and tester should be clear on what, where, and how to be tested. Else the developer must have worked on a Linux machine and the tester must be testing on Windows, which could result in build failure as well.
- Tools being used should be wisely used, keeping the point in mind whether they will serve the purpose we are expecting or not. A website may show different fonts on different machines. Whether that needs to be tested or not has to be considered.
Frequently Asked Questions
Q #1) Why Baseline testing is important?
Answer: It plays a very important role in the successful and quality delivery of the product, as it helps to find the issues in the requirement at the very early stage of the Software Development lifecycle. It helps to reduce the number of iterations to achieve the quality delivery of the project.
Q #2) What is a baseline and benchmark test?
Answer: This test is done from the user perspective and cases are run to get the information about the performance of the product whereas Benchmark testing is done from the business point of view and compares the performance results of the product with the industry standards.
Q #3) How does the baseline test work?
Answer: In the Software test, the baseline test means that the document has been validated and frozen. As in testing, the number of documents is created based on the requirement document. That needs to be finalized and frozen so that rest of the documents can be created properly.
Q #4) What is the purpose of the Baseline?
Answer: The purpose of the baseline test is to have a quality product wherein issues are resolved at the very early stage only and development and other processes can proceed further with most of the issues resolved earlier only.
Q #5) Are benchmark and baseline testing the same?
Answer: No, they are not the same.
This test is done to compare the performance of the system with future testing whereas benchmark testing is the comparison of the performance of a product with a similar product.
Baseline testing falls under non-functional tests. This testing type has nothing to do with the functionality of the product. It validates the requirement document before the other documents or SDLC process proceeds further. The purpose is to have the requirement clear and fixed so that no requirement issues come up.
The extra effort is put in before the further steps to save the time and iterations of the team. In the baseline test, the performance of the product is tested and baselined for future reference.
This testing ensures that the requirement document created is as per the requirement and expectation. Any deviation in the same can lead to major issues later on. If performed properly, this testing can lead to quality products within or before timelines.