The project is a platform for the organization of free and continuous localization of GitHub projects (hereinafter referred to as the Platform). The platform allows communities and teams to simplify the workflow when translating their content and allows them to perform two types of translation: manual and machine translation.
The logic of the Platform is similar to the logic of GitHub. To take advantage of its tools, you need to create an open source repository (public repository) or a private repository on GitHub with all the necessary source files stored there.
Next, you need to create a project on the Platform, enable it, select the source and target languages and synchronize it with GitHub repositories.
The translators or community working with the Platform translate files and send them to language moderators for verification, if they were appointed for the project.
After the review, the translations can be sent to a repository as a pull request on GitHub, which performs the request to add changes to the repository branch. Then it is approved on the side of GitHub itself with the selected branch.
So, duplicate source files translated into different languages are created in the repository. Moreover, the platform constantly monitors changes in the source files on GitHub, which allows to quickly translate texts as the source files are updated.
Figure 1 shows the process of interaction between the Platform and GitHub:
Fig. 1 — Diagram of the process of interaction between the Platform and GitHub
Figure 2 shows the state diagram that simulates the life cycle of an object:
Fig. 2 – State diagram
JazzTeam was tasked with testing the Platform, including:
- Using test design techniques and writing test cases in accordance with the requirements approved by the customer.
- Functional testing of the Platform.
- Regression testing based on the results of software changes.
- Regular updating of the checklist and test cases based on the testing results.
- Testing the interaction of the system with adjacent systems: GitHub.
- Documenting the defects found according to the customer’s standards.
Infrastructure: GitHub, Trello, TestRail, Slack.
Other tools: Sentry, Loki, InVision.
- Before JazzTeam joined, the project lacked manual testing using test design techniques, writing test cases, etc. Testing was carried out by the developers, project manager, and project owner. We were faced with the task of establishing the process of manual testing and covering all the functionality of the Platform with tests. Jointly with GitLocalize team, we agreed on the testing requirements, set up the processes, and implemented TestRail test management system.
- The platform works with a wide variety of file formats: json, jupiter notebook, markdown, po/pot, yaml, html, localizeble.strings, config. For complete and high-quality testing, JazzTeam specialists studied these formats and the software products that process them in detail.
- Daily synchronization with the customer and development team.
- Jointly with GitLocalize team, we agreed on the requirements for testing the application, established the process of manual testing, implemented TestRail test management system — filled it with test cases, which, subsequently, were expanded with importance priorities.
- Thanks to testing process introduction and adjustment, the quality indicators significantly increased — the team of QA engineers now can find bugs more quickly and respond to them.
- JazzTeam specialists wrote more than 250 test cases — this allowed to cover all the functionality of the Platform. Upon new functionality introduction, test cases are regularly updated:
- more than a hundred defects were identified and localized.
- The written test cases made it possible to:
- perform regression testing;
- it is now easier for new employees to immerse themselves in the project and receive information.
Company’s achievements on the project
- The process of manual testing was established from scratch.
- We implemented and initiated the use of TestRail test management system.
- JazzTeam employees gained experience in working with a wide variety of file formats:
json, jupiter notebook, markdown, po/pot, yaml, html, localizeble.strings, and config.
- A constructive, open interaction between the team of QA engineers and the customer’s development team was established.