Quality Assurance Services for Judicial Application
The Quality Assurance of a process automation application for judicial agencies.
The Customer is an international company headquartered in Germany. It delivers services in the electrical technology, electronics, power equipment, transport, medical equipment and lighting technology.
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 team’s distribution among various locations complexified the project; for instance, business analysts were on the Customer’s side, while the part of the development team resided in Belarus.
Because of the specifics of the judiciary domain, the requirements to the application quality were extremely strict, so the project was extremely complicated and a special emphasis was put on the app’s thorough testing. The intense interaction of various system modules only added complexity to the testing.
SaM Solutions’ Germany- and Belarus-based J2EE specialists and some Customers’ subject matter experts were responsible for the project. Despite that SaM Solutions has provided a sizable team, it could be extended if necessary. The team performed all the project’s stages, such as the application planning, development, extension, support and proceeded with the subsequent testing phase.
- Regression testing. The Minsk-based testing group performed the regression testing of the most critical app’s functionality (from both business, and development perspective).
For the checkups, the SaM’s testing team used both the test cases provided by the Customer and those created on their own, which ensured that the whole app’s source code was thoroughly checked. Regression tests were made on schedule, every two months.
- Functionality testing. The checkups of new functionalities were performed as the features were added. The testing combined two approaches: specification-based and exploratory ones.
- The specifics of some tests required the test data to be prepared in advance. For instance, all case data must 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 (i.e. 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 Customer provided anonymized data base with real data on a periodic basis
- Acceptance criteria were the following:
- The successful passing of the preset number of test cases
- The absence of critical unresolved defects
Types of Testing
To perform functional testing, the SaM’s team mainly utilized the manual testing technique. However, they also implemented automated testing - via QARun, Testpartner and Marathon. Marathon testing framework provided the best results, as creating Python scripts allowed automating the most important test cases that 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.
The team performed the accessibility testing at a certain stage of the project to check if the application was suitable for the people with weak sight. For this purpose, JAWS was used as a testing tool, as this instrument reads inscriptions on the screen. While the testing group was responsible for label correctness and the check of their readability.
Also, the documentation testing was a part of the project. The functional specifications were checked for their completeness, feasibility, testability and consistency.
The team utilized the following testing tools during this 7-year-long project:
- TUTOS was used as a bug tracking system and, partially, - as a tool for activity planning and documentation storage
- JIRA was used for bug tracking purposes
- CVS version control system was used for test cases and documentation storage
- ReportMaker, developed by the testing team, was used as an additional tool for man-hour accounting, testing planning and test report generation.
Bug tracking System
|Servlets, Remote Method Invocation (RMI), Enterprise JavaBeans (EJB), Java Transaction API (JTA), Swing, Jira|
Application Servers & DB
|JBoss, Oracle 9i|
|Java, Extensible Markup Language (XML)/Extensible Stylesheet Language Transformations XSLT|
During this project, the SaM Solutions’ team cooperated closely with the Customer, and this encouraged good testing results. A clear understanding of the domain where the application was used factored into the maximal efficiency of both product development, and testing. The Customer received a software that fully met their functional and quality requirements.