As an effort to expand into the gaming world, Turner Broadcasting, a multinational media corporation, developed GLOUD, a state-of-the-art, gaming streaming service. Turner contracted AccelOne to perform complete quality assurance analysis for the client application to ensure that the product was performing optimally for their product launch. After a successful project initiation, Turner further extended the contract, asking AccelOne to perform QA analysis for the website as well.
GLOUD, Games in the Cloud, is a one-of-a-kind online platform that provides instant access to over 50 video games with a monthly subscription. Upon its initial launch, it is available to audiences in Argentina and Chile, with plans to expand further in the future. GLOUD enables gamers to access numerous top-rated video games for only a small monthly fee. Instead of investing in a new console or computer, all that is needed is an internet connection. GLOUD uses only 20Mb (mega bauds per second) from the internet and does not require a big processor or a long installation process because all the game graphics are rendered in servers and delivered as a video streaming in real-time. Additionally, the wide variety of games available in the catalog continues to grow, giving each gamer access to new and diverse games. For more information about GLOUD, check out Turner’s PR report.
As attention to detail was of great importance, AccelOne’s QA team formed an extensive plan for testing GLOUD before beginning. For the client app, the team used a lengthy checklist to test each individual game manually in Windows and Mac to ensure every bug was identified. For the website, the team performed test cases, cross-browser and mobile responsive testing.
Clear and constant communication between the customer, the developers, and our QA specialists was our priority. Thus, we used two platforms for organization and accountability purposes.
- Zendesk: A bug tractor platform—for registering bugs in the client app and notifying developers.
- JIRA: A test case management tool—for managing tasks, reporting findings, logging hours, and communicating with developers.
For the project, AccelOne formed a team consisting of a senior QA analyst and three QA testers. The senior QA analyst served as the project leader, supervising the project, managing the timeline, and communicating with Turner. The three QA testers executed the checklist testing, examined test cases, registered all bugs, and notified the developers. After the team was formed, the extensive testing process began. First, each video game in the client application was tested according to the checklist below.
- Wording — titles, descriptions, and buttons
- Language — languages, translator and captions
- Executing Game — works from catalog and search box
- Loading Time — around 10 seconds, 20 seconds maximum
- Navigation — mouse, keyboard, and joystick work for all
- Audio — no interruptions and noise level works proportionally
- Fluidity — no stops and starts
- Menu Overlay — all functions work, key shows which buttons correlate to which functions, and navigation mechanism works
- Playability — no lag and easy to play
- Multiplayer — all functions work with multiple players
- Saving Game — game saves and returns to the same place
- Exiting — no problems quitting the game
- Related Content — similar game suggestions appear upon exiting the game
- Branding — GLOUD brand only
- + More
Once a bug was discovered, the QA tester registered it in Zendesk and notified the developers, then after the developers fixed the bug, testing was repeated. This cycle was performed countless times by our QA team to ensure the product was bug-free.
The testing process for the website was very similar. Test cases were designed and executed by the team. The evidence from each, including all bugs, was registered on JIRA and was used to fix and improve the website. The same cycle of running tests, finding bugs, fixing bugs, and repeating the tests was used for website testing.
Many bugs were identified throughout the testing process. The most frequent bugs found in the client application were problems starting the video games, saving the games, and loading time issues. With the website, the biggest problem was the integration with the payment solution. AccelOne addressed all of these issues appropriately, freeing GLOUD of these setbacks.
The entire time, AccelOne maintained constant communication with the customer and the developers. Every day, our QA team had a morning meeting with the developers to discuss current challenges, review the prior day’s work, and go over the current day’s plan. Additionally, AccelOne sent detailed monthly reports to Turner, updating them on the progress. The reports included evidence of the findings and information about time spent on each task.
Xapo is a Cryptocurrency / Fintech company known for being the world’s most secure crypto bank and the single largest custodian of Bitcoin. The company was founded by Wences Casares, one of the most famous entrepreneurs from South America. Casares is a serial entrepreneur who has started multiple financial software companies, resulting in several successful and profitable exits which approach $1 billion. His latest entrepreneurial pursuit was creating Xapo, which is believed to hold as much as $10 billion of the cryptocurrency and has the backing of some of the most influential entrepreneurs in America.
The competition for the contract was a two-week long assessment process against other outsource software development vendors. Senior and select members of the AccelOne team attended daily meetings at the Xapo offices to receive instructions and explanations of what Xapo needed. The AccelOne team was asked to present a recommended software architecture, software team configuration, and estimate for the number of work hours needed to build Xapo’s platform.
Additionally, the new platform had to incorporate Xapo’s new business model directive. Their goal was to deliver crypto transactions to serve as the future enabler for transactions between buyers and sellers of all kinds, not exclusively for Bitcoin. They also wanted a quick and easy-to-use platform to attract consumers beyond the early adopters. In order for this to be possible, the platform would have to enable integrations to other financial services and institutions. Ultimately, the software platform would become the hub of all of Xapo’s future transactions, becoming the first of its kind worldwide.
A further challenge was that the prior platform was constructed largely by human operators at Xapo using internal proprietary tools. The entire project presented many challenges for the AccelOne team who hoped their recommendations would impress Xapo’s senior engineers.
After reviewing the various vendor recommendations, Xapo selected AccelOne as the chosen outsource vendor to deliver their platform.
The first step was to onboard the AccelOne team and introduce us to Xapo’s teams and worldwide project stakeholders. AccelOne was then familiarized with the practices and tools used by the rest of the developers, operators, and administrators across the company.
Our team was integrated by a senior solution architect and two senior enterprise-level Python developers into tech stacks that Xapo used which included:
- Python 3.6 with the light Flask framework
- REST full API to expose process information: Flask Restful plugin
- APS Scheduler Python library used for transactions processing and as a foundation for a decoupled transaction processing engine
- React.js + Redux for the front end
The system that our team worked on was integrated with the proprietary admin tool of Xapo (Buy Manager) and with a group of Cryptocurrencies Exchanges through the use of their APIs.
There are three main environments which host the system:
- Development (on the developer’s workstations)
- Staging (for Xapo stakeholders evaluations)
- Production (for the final release product)
Everything runs in Amazon Web Services (AWS) infrastructure and two main services are used among others:
- S3 to store digital assets, all stored data needs to be heavily encrypted
- ECS to run the Docker containers with the app
The main challenge of the execution was to organize all the stakeholders from different areas of Xapo and our team to avoid project blockers and to allow a smooth and accurate process integration with the rest of the customer systems.
Before beginning development, a prototype of the process was created to define the logic, rules, parameters, and to simulate possible scenarios. Once the prototype was approved, all the related framework and middleware was created. Lastly, the integrations were analyzed and we designed a data-driven model to empower a multisource architecture. The transaction processing engine was designed to be a multisource data loader, parser, and interpreter. With extensibility in mind, we integrated Xapo systems, payment networks, and exchanges in a modular way — allowing new sources with different levels of initial capabilities going from simple value range and similarity matching to more complex rules.
During the entire project duration, Scrum framework was used to assign tasks and keep track progress, milestones, deadlines, and blockers. Orchestration of the interaction with all the rest of Xapo’s resources was key to the success of the project, including constant communication with Xapo’s CTO.