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 is also assessed. This ensures readiness of software for use in multiple countries. Since MOSIP is an “API First” product platform, Verification scope required comprehensive automation testing for all the MOSIP APIs. An automation Test Rig is created for the same.
The Inji testing scope revolves around the following flows:
Biometric unlock
Passcode unlock
VC download via MOSIP
VC download via esignet
VC download via Sunbird
Retriving UIN/ via AID
Pinning a VC
Normal VC sharing with VID
Deleting VC
Face Auth on Resident's phone with VID
Multi language support
Credential registry
Backup and restore
Wallet binding
QR code Login
Logout
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 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 - which is indigenously designed and developed for supporting persona based testing. MOSIP Test Rig covers the end to end test execution and reporting. The end to end functional test scenarios are written starting from pre-registration, to creation of packet in registration center, processing the packet through the registration processor, generating UIN and authenticating identity using IDA through various permutation and combinations of cases being covered. MOSIP Test Rig will be an open source artifact which 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
Virtual countries
1 Lang configuration
2 Lang configuration
Lang configuration
On Android Device:
On iOS Device:
Below are the test metrics by performing functional testing using mock MDS and mock ABIS. The process followed was black box testing which based its test cases on the specifications of the software component under test. Functional test was performed in combination of individual module testing as well as integration testing. Test data were prepared in line with the user stories. Expected results were monitored by examining the user interface. The coverage includes GUI testing, System testing, End-To-End flows across multiple languages and configurations. The testing cycle included simulation of multiple identity schema and respective UI schema configurations.
Here is the detailed breakdown of metrics for each module:
Below section provides details on API test metrics by executing MOSIP functional automation Framework. All external API test executions were performed at module level isolation. Each end point is tested with the test data and expectations of each test data are mapped to assert the test case.
Here is the detailed breakdown of metrics
Below section provides details on Ui Automation by executing MOSIP functional automation Framework.
Here is the detailed breakdown of metrics
Functional and test rig code base branch which is used for the above metrics is:
Hash Tag:
SHA: sha256:c2a71c11f19a6585e6cfd3ae8ab70130babb2077e27714f5fc225b986e7c14d0
Below are the test metrics by performing VC Sharing functionality on various device combinations
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
Github link for the xls file is here.
Total
Passed
Failed
Skipped (N/A)
2118
1975
103
40
Test Rate: 98% With Pass Rate : 95%
Test cases
On Android Device
Total
1112
Passed
1005
Failed
81
Skipped (N/A)
26
On iOS Device
Total
1006
Passed
970
Failed
22
Skipped (N/A)
14
Total
Passed
Failed
Skipped
1436
1426
6
4
Test Rate: 99.72% With Pass Rate: 99.30%
Test cases
Mobile ID
Total
157
Passed
157
Failed
0
Skipped
0
eSignet
Total
1279
Passed
1269
Failed
6
Skipped
4
Total
Passed
Failed
Skipped
162
146
16
0
Test Rate: 100% With Pass Rate: 90.12%
Test cases
Android
Total
82
Passed
75
Failed
7
Skipped
0
iOS
Total
80
Passed
71
Failed
9
Skipped
0
Total
Passed
Failed
Skipped
213
155
61
0
Test Rate: 100% With Pass Rate: 72.8%