Quality Assurance Services for Judicial Application
The Quality Assurance of a process automation application for judicial agencies
Client Profile
The Client is an international company headquartered in Germany. It delivers services in the electrical technology, electronics, power equipment, transport, medical equipment and lighting technology.
Challenge
The team was required to perform a comprehensive quality assurance of a Windows-based desktop app developed for the process automation in judicial agencies. The project's complexity increased due to the team's distribution across various locations; for example, the business analysts were on the Client's side, while part of the development team was based in Eastern Europe.
Due to the specifics of the judiciary domain, the requirements for application quality were extremely strict, making the project highly complex. Special emphasis was placed on thorough testing of the app. The intense interaction between various system modules further added to the complexity of the testing process.
SOLUTION
SaM Solutions' J2EE specialists and the Client's subject-matter experts were responsible for the project. Despite SaM Solutions providing a sizable team, it could be extended if necessary. The team performed all stages of the project, including application planning, development, extension, support, and the subsequent testing phase.
Testing Strategy
Regression testing
The testing group performed regression testing on the app's most critical functionality from both a business and development perspective. For the checkups, SaM Solutions' testing team used both the test cases provided by the Client and those they created themselves, ensuring that the entire app's source code was thoroughly checked. Regression tests were conducted on schedule, every two months.
Functional testing
The checkups of new functionalities were performed as features were added. The testing combined two approaches: specification-based and exploratory. Some tests required the test data to be prepared in advance. For instance, all case data had to be entered beforehand to check the calculation correctness of legal costs paid for a specific court case. The test data could be prepared in the following ways:
- Manually: all initial data was entered by a tester using relevant application modules.
- Automatically: initial data was entered by an automatic script using relevant application modules.
- The Client provided an anonymized database with real data periodically.
The acceptance criteria were as follows:
- The successful passing of the preset number of test cases.
- The absence of critical unresolved defects.
TYPES OF TESTING
To perform functional testing, SaM Solutions' team primarily utilized manual testing techniques. However, they also implemented automated testing using QARun, TestPartner, and Marathon. The Marathon testing framework provided the best results, as creating Python scripts allowed for the automation of the most important test cases, which were run during the pre-release phase. Marathon scripts were also partially used to prepare initial data for manual testing.
Non-functional testing included installation testing and usability testing.
At a certain stage of the project, the team performed accessibility testing to ensure the application was suitable for people with weak vision. For this purpose, JAWS was used as a testing tool because it reads inscriptions on the screen. The testing group was responsible for verifying label correctness and readability.
Additionally, documentation testing was a part of the project. The functional specifications were checked for completeness, feasibility, testability, and consistency.
Testing Tools
The team utilized the following testing tools during this 7-year-long project:
- TUTOS: Used as a bug tracking system and partially as a tool for activity planning and documentation storage.
- JIRA: Employed for bug tracking purposes.
- CVS version control system: Used for storing test cases and documentation.
- ReportMaker: Developed by the testing team, this tool was used for man-hour accounting, testing planning, and test report generation.
Technologies
Bug tracking system: TUTOS
Testing:QARun, TestPartner, Marathon
CASE tools: ERwin
Application servers and database: JBoss, Oracle 9i
Operating system: OS Independent
Platform: J2EE
Programming languages: Java, Extensible Markup Language (XML)/Extensible Stylesheet Language Transformations XSLT
Other technologies: Servlets, Remote Method Invocation (RMI), Enterprise JavaBeans (EJB), Java Transaction API (JTA), Swing, Jira
SUCCESS
During this project, SaM Solutions' team cooperated closely with the Client, fostering good testing results. A clear understanding of the domain in which the application was used contributed to the maximum efficiency of both product development and testing. As a result, the Client received software that fully met their functional and quality requirements.