What is Build Verification Testing? – Learning Guide
Last updated on 15th Jul 2020, Blog, General
Build Verification Testing is basic testing performed on every new build to make sure that it conforms to what is required of it before being passed to the testing or UAT team for further testing. This procedure can also called Build Acceptance Testing or Smoke Testing and is a measure of stability of the software build. This level of testing is vital for ascertaining the integrity of the build, especially when it is integrated with numerous other modules.
How Build Verification Test is Performed ?
BVT consists of small set of test cases so as to execute them in no longer time in order to evaluate the mainstream and core functionalities of the build. It starts as soon as a new build is received. The step-wise process of performing the Build Verification test is detailed as under:
- Once the build is received BVT cases are prepared on the basis of given core functionalities of the software application.
- Developed built verification test cases are executed on the build.
- If build passes the BVT, it is considered ready for the further testing activities.
- If build fails in BVT, then it gets rejected and considered for further improvement.
- Results of BVT are reported to Team Lead or Project Manager.
- These results get evaluated by the Team Lead or Project Manager to trace the main reason (if any) behind the failure of the build.
- On locating the defects, the build is passed over to developer along with the reporting of the defects and the issues.
- Developer needs to resolve these defects or issues as soon as possible.
- On bug-fixation, the new changed build is ready to go again for the BVT.
The main principle of build verification testing is that only testable and stable modules should be part of a build. This means that when your build engineer creates a build for you, you need to test and find out that only testable parts are integrated with the build. Any unfinished or untested modules should be excluded. Since the test cases will be mostly predefined, the BVT will be automated, enabling these tests to be running as part of the continuous build and deployment.The Process of BVT
The BVT test process will be as follows:
- Test cases are run as part of continuous testing and deployment.
- After every run, the results will be analyzed.
- If failure is observed, the results with logs will be sent to the development team.
- The development team analyzes the logs and if bugs found, will create fixes.
- After bug fixes, a new build will be created and test cases will be run again.
- If it passes, the build will then be passed to the testing or UAT team.
- If it fails, the results will be sent once more to the development team.
The most important thing to remember here is that BVT are mostly automated. The tests are fairly repetitive and predefined, so it’s easy to understand why automation is favored. In order to save time and increase efficiency, testers automate the BVT test cases and include them as part of the continuous build and deployment process. As and when your build has more features added to it, extra test cases can be included in the test suite.Key Points to consider while writing BVT test cases
- Test cases should contain well defined, expected results.
- Test cases should only include critical scenarios.
- Only the build’s integrity is checked, not the entire functionality, so keep test cases short and simple.
- Involve the developers, DevOps or the domain experts while developing test cases.
- Better test coverage and efficiency with testing.
- Testing team is less worried about the possibility of unstable builds.
- Tests are run on every build, daily so any major issues can be picked up early.
- Tests are automated, so no manual intervention needed.
- Build verification testing test cases should be run on every new build, but not with too much frequency. Ideally, run them once a day to save the need to update too often.
- Tests should be short, with a duration of less than 30 mins.
- Tests should be fully automated and a part of your CI process.
- Tests should be continuously updated, as and when your build adds more features.
- BVT is also known as Build Acceptance Test and Smoke Test.
- Any unfinished tests, or areas that are not yet ready for test, should be excluded from the test.