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.
The principles of Build Verification Testing (BVT)
The main principle of build verification testing is that only testable and stable modules should be part of a build. This mean that when your build engineer creates a build for you, you need to test and find out that only testables 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.
Some Benefits of BVT
- Better test coverage and efficiency with testing.
- Testing team is less worried about the possibility of unstable builds.
- Test is 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.