In this example, we will discuss the benefits of Model Based Testing in the context of banking and financial transaction validation.
MaTeLo assists in the validation of banking and financial transactions
The more complex your system is, the more efficient MaTeLo is !
MaTeLo generates the entire test repository for transactional information systems in banking or finance. MaTeLo creates the variability of the transaction input flows and calculates the expected result of the output flows related to the business rules of the system to be tested.
MaTeLo is used to validate with a high degree of confidence, while reducing the testing phases :
- Stock market transactions and algorithms
- Electronic payment systems by payment terminal or by internet
de paiement ou par internet - Electronic money transactions and their processing by banks
Purchasing transactions - Reservation systems
- Rest or Soap webservices
- Any transactional system with an incoming and outgoing flow of structured data
A simple tool for graphical representation of management rules
The tester enters its management rules in MaTeLo in the form of logical tables depending on the equivalence classes of the variables previously drawn by MaTeLo. These conditions direct combinatorics in sub-processes, themselves composed of new management rules.
With this method, it is easy to describe the expected functioning of the system. These rules allow to precisely orient the behavior of the system using the input data, to be able to recreate the output flow and the test oracle. MaTeLo is designed to be able to manage thousands of management rules, in collaborative work.
Powerful generation algorithms for automaticians
A statistical approach to testing to deal with combinatorial problems
A system to be tested can often exceed widely over 100 variables, which can themselves be broken down into 10 equivalence classes. If we wanted to test all the combinatorics, we would have 10100 tests on this system. Even with powerful tools this is not possible!
This is why MaTeLo proposes a proven method based on statistical testing that allows to obtain a representative sample of the uses or risks indicated by the tester. It is thus possible for the MaTeLo user to set his own statistical test profiles on the choice of transitions or equivalence classes.
Generation of test suites
MaTeLo has deterministic algorithms that can generate the smallest set of test steps to ensure complete coverage of the model or equivalence classes, or that can select the riskiest scenarios by priority.
Other statistical algorithms will generate representative samples of the combinatorics, with the minimum of duplication and converging towards the statistical risk or usage profile.
Rich and simple test data management
Creation of the test data dictionary
To create the variability of the input data, MaTeLo analyzes the existing data repositories and extracts the variables useful for the combinatorics of the transactions.
The variables are decomposed into numerical or discrete equivalence classes, in order to have logical data on which the management rules will be built.
Recovery of data from existing databases
When there are management rules describing the possible formatting of an input data, MaTeLo creates the physical data, with all the possible variability, thanks to generators based on mathematical formulas, string management, dates or Excel formulas. An external Excel sheet can also be used as a calculator.
Valuation of test data using simple formulas
Some data needs to be collected from existing data sets or directly from the information system databases. With its datasource, MaTeLo draws from all existing repositories (Oracle, AS/400, DB2, Excel, etc.) the data necessary to value a combination according to its equivalence classes.
The transactions then contain the physical data understandable by the system (credit card number, transaction number, etc.)
Dynamic data creation
Thanks to its datasource, MaTeLo allows to create and manage dynamic data sets on the fly. This functionality creates data on the fly and stores them in tables, to make sorting, filtering, permutation, grouping, navigation, minimum, maximum, average, calculation etc.
These data sets can represent input or output vectors, FIFO, LIFO, or arrays of data needed for stimulation or verification of a system.
Focus on feasible or functional cases
By dropping the structures of a variable on a transition, MaTeLo will be able to generate a combinatorial among its equivalence classes. By default all combinatorics are possible. However, it is very common that a system needs to have consistency in the choice of its data. MaTeLo allows to represent graphically the class dependencies.
MaTeLo has a pattern generator that graphically transforms the classes into a tree structure. The user only has to delete or merge some paths to reflect the link between the classes and obtain the coherent combinatorial.
Data-driven testing
Sometimes the tester wants to recreate scenarios based on production logs. In this case MaTeLo does not generate the input combinatorics but sequentially reads these logs to create the input vector of the system stimuli. Just like the generated combinatorics, MaTeLo calculates with its management rules the expected results and the output flows according to the input data.
Two modes of use
An On-line mode to run the campaigns directly in MaTeLo
With its On-Line mode, MaTeLo executes the tests during the generation to automatically run the campaign and calculate the verdict. MaTeLo integrates test bots by default, allowing to automate web browsers, make soap and rest web services, automate fat clients by image and character recognition, drive command lines, and access databases.
This function allows to interact with the system during generation, and to perform end-to-end tests. Any existing API can be integrated into MaTeLo to be sequenced and automatically detect system faults.
Synchronization of the test repository with ALM
All the test repository produced by MaTeLo is synchronized with the main ALM on the market (Microfocus ALM QC, Doors, Testlink, Squash, Silk Central, etc). It concerns models, test cases, test suites, test data, test scripts, and campaign results.
An off-line mode to create test scripts
Test operations that contain a portion of a script with parameters are dropped onto the model.
MaTeLo’s algorithm creates the scripts needed for automation by assembling the test operations of the generated test suites. These scripts are directly executable by the test robots.
There is no limitation on their output format: xml, csv, python, Gallit script, java, soapui, selenium, bash, etc… The scripts can also generate the logs supposed to be produced by the system to be tested to detect anomalies by a line by line comparison