The scope of testing is to verify fitment to the specification from the perspective of
● Functionality
● Deployability
● Configurability
● Customizability
Verification is performed not only from the end user perspective but also from the System Integrator (SI) point of view. Hence Configurability and Extensibility of the software are also assessed. This ensures the readiness of software for use in multiple countries. Since MOSIP is an “API First” product platform, the Verification scope required comprehensive automation testing for all the MOSIP APIs. An automation Test Rig is created for the same.
The testing scope revolves around the following flows:
● IDA
● ID Repo
● Resident Services
● DSL
Persona based approach has been adopted to perform the IV&V, by simulating test scenarios that resemble a real-time implementation.
A Persona is a fictional character/user profile created to represent a user type that might use a product/or a service in a similar way. Persona based testing is a software testing technique that puts software testers in the customer's shoes, assesses their needs from the software, and thereby determines use cases/scenarios that the customers will execute. The persona's needs may be addressed through any of the following.
● Functionality
● Deployability
● Configurability
● Customizability
The verification methods may differ based on how the need was addressed.
For regression check, “MOSIP Test Rig” - an automation testing suite - is indigenously designed and developed for supporting persona-based testing. MOSIP Test Rig covers authenticating identity using IDA through various permutations and combinations of cases being covered, ID Repo, and Resident Services. MOSIP Test Rig will be an open-source artifact that can also be enhanced and used by countries to validate the SI deliveries before going live. Persona classes include both negative and positive personas. Negative persona classes include users like Bribed Registration Office, Malicious Insider, etc. The needs of positive persona classes must be met, whereas the needs of negative persona classes must be effectively restricted by the software.
Verification is performed on various configurations as mentioned below
● Default configuration - with 3 Lang (English/French/Arabic)
○ But for testing we only performed testing in English for IDA and ID Repo
○ For Resident testing we performed in English, French, and Arabic.
Below are the test metrics for IDA, ID Repo, and Resident service for API.
2046
1943
15
0
88
Test Rate: 95% With Pass Rate: 99%
Here is the detailed breakdown of metrics for each module:
512
496
12
0
4
410
325
1
0
84
1124
1122
2
0
In IDA the Ignored 4 test cases are related to Generating VID using ID Repo API. So, this feature is not supported/needed. Currently, to generate VID we are using Resident API.
In ID Repo we have 84 test cases in Ignored, they are all for “array of handles” test cases and Add identity test cases, for now, we are ignoring them.
Functional and test rig code base branch which is used for the above metrics is:
sha256:fa7ec4181c78018e5ac8cdf148f59c905bb2973a6052c10673d8302aa9912d75
183
145
38
0
The DSL codebase used for the above result is the dev2 image (mosipdev2/dsl-orchestrator:develop
).
Hash Tag:
SHA-256: e2bc90ec585b1dcf49d9a468fa8fecf94e48e2aab06dcf71c97f1663c5f12f31
Below are the detailed test metrics by performing manual/automation testing. The project metrics are derived from Defect density, Test coverage, Test execution coverage, test tracking and efficiency.
The various metrics that assist in test tracking and efficiency are as follows:
● Passed Test Cases Coverage: It measures the percentage of passed test cases. (Number of passed tests / Total number of tests executed) x 100
● Failed Test Case Coverage: It measures the percentage of all the failed test cases. (Number of failed tests / Total number of test cases executed) x 100
Please find the Github link for the xls file here(Link to be updated).
ID - Authentication
ID - Repo
Resident