With the continuous advance of software technology, and implementation of software products almost in every industry, is becoming more and more critical to test properly the software that people and companies will be relying on. Petroleum industry, and more specifically reservoir engineering, currently rely great part of it processes on software, taking advantage of software technology to evaluate and predict different and optimal recovery mechanism of hydrocarbons. On software development centres for reservoir engineering, the testing and quality assurance team have been a very important part, for several years, of the commercial success of the software product, and is continuously keeping the pace of the new challenges of the business like integrated workflows, cloud technologies, and so on. In this article I want to share my views on the key points, challenges, and future of the testing of reservoir engineering software.
Below I present the general aspects that, from my perspective, are the key points for testing reservoir engineering software:
- A combination of people with high level of domain knowledge and testing approach skills is needed to cover the testing of a wider range of scenarios, possibilities, and real cases models. Usually, at least two different testers with different backgrounds and experience is highly recommended.
- To cover real case reservoir models, with the appropriate and complex physical inputs, should be the final target of the software.
- In the test plan design it should be included inputs and opinions from portfolio team, clients, advanced senior reservoir engineers, and development team.
- Testers should be involved, if possible, in the discussions related with all stages of the software development cycle (inception, elaboration, construction, quality complete, beta, and commercial release).
- Consider in the testing different types of approaches for the workflows: standalone, integrated with pre and post processing tools, using user interface if available, and through specialize scripting.
- A final review of testing results with senior testers, domain knowledge experts, portfolio, and developments team is highly recommended to address the quality of a specific functionality in the product.
- Document properly all the assumptions and formulation used by the software, known issues that cannot be fixed by the time of the final release, and workflow exercise to facilitate the understanding of the user. A review of all the documentation should be part of the test plan.
- Early releases for beta testing of clients will improve user satisfaction at the final commercial release.
The following is a list of some of the current challenges that testing of reservoir software products is facing:
- Clients are mainly petroleum operators companies targeting different features and workflows of the software depending on it specific needs. For one company the interest could be the numerical modelling of chemical enhanced oil recovery processes, while for other could be the more accurate modelling of geological formations. Experts from a wide range of engineering and science areas are needed to test very different features.
- Low oil price general environment affect the budget of clients and therefore the budget of software development companies for reservoir engineering and testers!
- Highly complex scientific algorithm needs to be user friendly for professionals of different backgrounds.
- Shorter and frequently cycle releases give testers more challenges in term of efficiency and completeness of scenarios tested, time of testing, and bug tracking.
- Security. Hackers are evolving more and more finding new ways to crack security codes, so a proper test of security of software licenses and features remain a challenge.
There are several points that probably will mark the trend on software testing for reservoir engineering products, some are mentioned bellow:
- Need to automate as much testing as possible, for a better tracking on change of behaviour and performance, and to reduce manual testing on repetitive tasks.
- Cloud technology testing will become a priority with the future move of reservoir engineering software products to these platforms.
- Model and implement in the software, the new technologies for hydrocarbon recovery that currently are being developed and studied to be applied in real scenarios. Testers with updated technology and science knowledge will be needed.