In my current role in the Oil industry, I have seen the adaption to digital transformation. This means more dependence on software, automated workflows, and cloud technologies. Pair testing is becoming a common practice to assure the quality of software within the oil industry e.g. numerical reservoir simulator, geologic tools, etc. The benefits of pair testing allow to combine knowledge, create different perspectives, and improve communication in order to make the testing process more effective. This article describes some of the benefits that can be achieved through pair testing using oil industry software, which can be extended (in most cases) to other software application and features of other technical fields.
Benefits of Knowledge Sharing
One of the main areas where pair testing can contribute greatly is in knowledge sharing. Below are some of the benefits that pair testing can bring:
- Combine testers from different technical backgrounds (e.g. petro technical experts, mathematicians, computer scientist) and hence being able to provide different perspectives and approaches to the test.
- Combine testers of different levels of experience. The combination of a fresh innovative point of view with a mature experienced mind can produce excellent results on the quality of a new functionality supported.
- More interactions with developers, portfolio, and management teams. Two testers create more channels of communication than one, allowing more knowledge sharing between teams and increasing the efficiency of the development.
- Combination of different testing practices. There is different ways in which the testing process can be divided between two testers: testing the same feature at the same time, testing different features at once, testing parts of the same feature and it dependencies, etc. Pair testing is a great opportunity to combine different testing practices and approaches.
Testing Coverage
Other area with strong contribution from pair testing is the increase on testing coverage. Some of the benefits in this area are:
- Pair testing allows and extended coverage of scenarios to be considered, simply due to the quantity of resources available. For some of the Oil Industry Software, like reservoir simulators, there is an extensive range of compatibility features and combination of possible scenarios that generally is hard to cover in standalone testing, while pair testing allow a more complete coverage of possibilities.
- Time efficiency. Pair testing allows to use time for testing in a more efficient way, being able to deliver faster functionalities that would take much longer is standalone testing.
- More features can be delivered for a new functionality. Independently of the development approach taken (agile, waterfall), pair testing open the possibility to support more functionalities for a new feature which would contribute to a more complete product. Having more resources for the same test allows more interaction with developers, quicker bug identification, and faster deliveries of new functionalities.
Quality
Previous benefits mentioned, like benefits on knowledge sharing and coverage, contribute to the final quality of the product, and still there are other benefits to quality that pair testing can bring:
- Faster bug identification and prevention. As commented in previous section, pair testing allows extensive coverage of scenarios, which allows faster bug identification and even prevention in future developments.
- Optimal risk assessment. The knowledge sharing, coverage, and communication of pair testing allows also a better understanding of possible risks present in the new development, and to putting in place actions to mitigate the risks if possible.
- Better feature usability can be achieved. Time and scenarios coverage allows pair testing to focus also on end user usability. Delivering a product that not only do what it should but also that is easy to use for the target users.
- More participation defining the goals of the product during elaboration. Pair testing allows the combination of different technical background and experience that can help to define the scope of the development along with portfolio/business team. This is particularly important in Oil Industry Software which integrates several technical fields like petroleum engineering, geology, mathematics, and software engineering.
- More complete testing report. Having more resources and different perspectives in pair testing also allows to produce a more complete testing report. This helps to better review the testing results and have a clearer idea of the quality status of the product that is being delivered.
Pair testing can be implemented in a wide range of software, and cover more importance in product that integrates different fields of knowledge as is the case of Oil Industry Software. The benefits of pair testing have been confirmed in highly complex scientific developments for numerical reservoir simulation software. It can also be applied to pre and post processing and visualization tools used in reservoir engineering.