Quality Assurance

Our mobile experts include dedicated and specially trained software quality assurance (QA) testers. Our testers employ a number of different, device optimized formalized QA processes to maintain the highest quality of code possible across platforms and operating systems. By incorporating formal testing during every stage of development and delivery through our integrated testing and deployment tools, we can ensure that even the smallest issues are addressed as soon as they become known.

Since our mobile experts are organized into Agile development teams, pairs of developers work in tandem to write and review code, to find problems and develop solutions. Furthermore with full unit tests, every path and line of code is tested for the greatest possible code coverage in order to enhance code quality and lower the likelihood of issues down the line. When working with third-party APIs, we mitigate risk by testing the APIs from the outset, through development, and beyond implementation, as well as regression testing the entire app and associated backend after every change or modification. We also use different, best-of-breed source code control systems to synchronize development across environments and drive code accuracy.

Our QA testers use specialized tools to execute all unit and integration tests for successful builds and immediately alert the developers in the event of a build failure. A suite of integrated testing, development, and release management tools allows us to push new builds to our test engineers through an automated workflow interface and thus optimizes productivity and efficiency for a more streamlined QA process – which is especially key for large-scale application deployments. This closed loop environment – together with pair-wise unit and regression testing as well as remote and automated device testing – facilitates Agile software development and reduces the risk in custom built products. Plus, the real time nature of this notification process allows us to spot problems during actual coding and more efficiently delegate low level code review, thus allowing the teams to focus on higher level issues during the code review sessions. Depending on the development platform, iOS, Android, or BlackBerry, our teams use platform specific tools to perform unit and integration tests as well as conduct device dependent system tests for targeted end-to-end testing through all layers of either the iOS, Android, or BlackBerry system. And to enable our client to "touch and feel" their app during development, we utilize a proprietary device provisioning tool – as part of our integrated development, testing, and deployment process – to push new builds to client users' phones which facilitates real time feedback and reduces the development cycle through fast and thorough bug reporting.