TL;DR
The business supported by application under test is the core of every company. If an application does not match real business cases, we could be quickly out of business. This is especially true for start-up companies. The post is aligned with the Black Box Software Testing Foundations course (BBST) designed by Rebecca Fiedler, Cem Kaner, and James Bach.
In business model oracles, we move from lower layers of application complexity. We had tested application basic features and now we are ready for combinations of those features. In the business model, we could have:
- calculations
- relationships
- scenarios
Calculations are well-defined formulas that are documented internally or could be easily found publically. An example is the calculation of company cash flow.
In a relationship, we model counting relations between business entities. For example, the application could have only one super admin user role.
Business scenarios could be the most complex business model features. An example is calculating the price discount for booking at Booking.com.
Advantages
Business model oracles help the testers to check the most critical application features, features directly connected with application cash flow.
Disadvantages
If we have wrong heuristics for creating a business model, the company could lose money. Heuristics that come from business analysts could be wrongly interpreted. The business rule is to complex, a business analyst could not describe the rule, or software tester could not understand the rule.