Release version: v0.9.1
Release Date: 28th January, 2025
The v0.9.1 release of Resident Services for MOSIP is the first patch update following v0.9.0. This release primarily addresses bug fixes, security improvements, and performance enhancements, along with minor feature updates. A key highlight of this patch is the transition of certain attributes from being hardcoded to being configurable via mosip-config, making customization more flexible for users.
resident-services
resident-ui
mosip-config
mosip-data
admin-services
postgres-init
Bug fixes - Security, and performance improvements, along with minor feature enhancements.
Key highlights - Certain attributes now come from mosip-config instead of being hardcoded, enabling users for easier configuration.
For a detailed description of Resident services, the code, and the design, refer to the resident services repo.
MOSIP provides a reference implementation of the resident portal that can be customized to the country’s needs. The sample implementation is available here.
To get the complete list of known bugs please refer here.
Update my data feature is not working as expected for a few UINs. The issue is intermittent.
Video policy transactions allowed are not working as per policy.
Resident UI - On uploading an Invalid document in update my data the data entered is also getting clear
Resident UI - After updating data and trying to update soon then in the pop if we cancel the update request we see an error message with no record found
Resident UI: If the name field is very lengthy, the downloaded card is not getting the complete name
Resident API: VC verification is failing for name, photo, and full address attributes
Resident UI: Not able to share card when text entered using the virtual keyboard for a few languages
Resident UI: Not able to raise grievance ticket when text entered using the virtual keyboard
Resident UI: When a Personalised UIN card is downloaded, email/sms notifications are not coming in the preferred lang
The following table outlines the tested and certified compatibility of v0.9.1 with other modules.
mosipid/authentication-service
mosipid/authentication-internal-service
mosipid/authentication-otp-service
mosipid/credential-service
mosipid/credential-request-generator
mosipid/id-repository-identity-service
mosipid/id-repository-vid-service
mosipid/partner-management-service
mosipid/policy-management-service
mosipid/kernel-notification-service
mosipid/kernel-keymanager-service
mosipid/registration-processor-stage-group-7
mosipid/registration-processor-common-camel-bridge
mosipid/registration-processor-stage-group-1
mosipid/registration-processor-stage-group-2
mosipid/registration-processor-stage-group-3
mosipid/registration-processor-stage-group-4
mosipid/registration-processor-stage-group-5
mosipid/registration-processor-stage-group-6
mosipid/registration-processor-stage-group-7
mosipid/registration-processor-notification-service
mosipid/registration-processor-dmz-packet-server
mosipid/registration-processor-reprocessor
mosipid/registration-processor-registration-status-service
mosipid/registration-processor-registration-transaction-service
mosipid/registration-processor-workflow-manager-service
mosipid/kernel-auditmanager-service
mosipid/kernel-masterdata-service
mosipid/admin-service
mosipid/hotlist-service
mosipid/kernel-syncdata-service
mosipid/digital-card-service
mosipid/print
mosipid/commons-packet-service
mosipid/mosip-artemis-keycloak
mosipid/websub-service
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 Resident Revamp testing scope revolves around the following flows:
● Get Information
● Pre-registration Booking
● Verify phone/email
● View My history
● Track services
● Manage My VID
● Secure MY ID
● Get a personalized Card
● Share credentials with partner
● Multilingual (English/Arabic/French)
● Resident UI End to End testing
● Regression Testing
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 the end to end test execution and reporting. The end to end functional test scenarios are written starting from pre-registration, to the creation of a packet in the registration center, processing the packet through the registration processor, generating UIN, and authenticating identity using IDA through various permutations and combinations of cases being covered. 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 Languages (English/Arabic/French)
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. The functional test was performed in combination with 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 the simulation of multiple identity schema and respective UI schema configurations.
2502
2461
29
12
Test Rate: 99% With Pass Rate: 98%
Note: NA - 12 Test Cases which are descoped scenarios/not developed feature
The section below provides details on API test metrics, executing the MOSIP functional automation Framework. All external API test executions were performed at module-level isolation. The test data is used to test each endpoint, and the expectations of each test data set are mapped to assert the test case.
1126
1117
9
0
Test Rate: 100% With Pass Rate: 99.2%
The below section provides details on UI Automation by executing the MOSIP functional automation Framework.
25
25
0
0
Test Rate: 100% With Pass Rate: 100%
The functional and test rig codebase branch used for the above metrics is:
Hash Tag:
mosipqa/resident-ui@sha256:69e0edb4a61c724d1fca36178984382bfd87f58f6df54520704bac0da06c55f1
Below are the detailed test metrics for manual and 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 refer to the GitHub link for the XLS file given here.