openIMIS Testing: Testing Experiences and Future Improvements
Introduction
This page serves as a insights for testing experiences, challenges, and recommendations. The goal is identify areas that can help and improve the quality of testing for future releases and encourage contributions from the team.
This document covers insights from the October 2024 release and outlines areas for improvement in test cases and processes.
Testing Experiences and Key Learnings
Frontend validation improvement
To enhance our testing process and ensure data consistency, we can focus on strengthening the validation of critical fields such as email, phone numbers, and numeric inputs. Currently, there are opportunities to improve validation in these areas to prevent potential issues during backend processing.
Recommendations for Testing Improvements:
Strengthen Validation for Key Fields: Implement more robust validation for fields like email, phone numbers, and dates to ensure accurate data entry (data types).
Enhance Frontend Unit Tests: Incorporate unit tests specifically for form validation to catch potential issues early and improve overall test coverage.
Handle Undefined Values Effectively: Ensure that all undefined or missing values are properly handled and validated before submission to prevent errors.
Enhancing Test Case Information to Support Testers
Testers may face challenges with precondition details in test cases, particularly when setting up scenarios like creating specific hospital types or users. Improving clarity in these areas can help testers navigate the setup more effectively.
Improvements to Support Testers:
Provide Clearer Precondition Descriptions: Offering more detailed guidelines on how to achieve the required precondition (e.g., how to create a specific hospital type or user) will make it easier for testers to reach the correct starting point in the testing process.
Step-by-Step Setup Guides: Creating simple, step-by-step guides for precondition setup will assist testers, ensuring they can quickly get to the necessary state for each test case.
Need of Automated Testing: Future Possibilities
Manual testing has been the primary approach for validating features and ensuring software quality. While effective, manual testing can be time-consuming, especially for repetitive tasks such as form validation, API testing, and verifying preconditions. Looking ahead, introducing automated testing can significantly enhance efficiency, reduce manual effort, and improve test accuracy. Below are the key areas where automation can be integrated in the future.
Future Automation Opportunity:
Automating testing will reduce the need for repetitive manual checks and ensure faster feedback loops for backend validation. For example:
CRUD operations: Automating the creation, update, retrieval, and deletion of claims or user data will allow testers to run these checks automatically on each build.
Validation Logic: Test cases such as duplicate claim code submission can be automated to ensure that backend logic works as expected without manual intervention.
Example Tools: Selenium (RobotFramework), Postman can automate these repetitive scenarios, ensuring that tests are consistently executed across different environments.
Sample prototype for automated testing can be found at Automated Github link
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/