Software Quality is most crucial aspect of SDLC. Poor quality apps results in poor customer ratings and may affect the whole business in general. Traditional manual functional testing is not enough to keep up with a speed of Agile cycles. Thus out entire testing team is consist of real software engineers who have the latest skills set to automate testing process with minimum manual intervention.
We can describe our approach in few easy steps:
Assess the product requirements
Automate all repetitive test cases in first iteration by following Test Pyramid Model
Wire up all tests into CI system. If one does not exists, build it from scratch
Stop build before PR get merge if one of the following check does not pass — Lint, UnitTests, Integration Tests, and Functional Tests.
As the result:
Bugs get caught before even merged into the main code stream
Distribution builds are more stable without major bugs.
Manual testing reduced to exploratory approach which is more productive
We follow best practices from companies like Google, Apple and FaceBook by using Native solutions
Stub all backend APIs for stability. XCTests with XCAssert for test writing. Design scalable test architecture with Page Object by using latest Swift practices:
Stub all test with OKHTTP library for stability. Using JUnit 4 with Kotlin for writing tests. Design scalable test architecture with Page Object by using latest practices in Java/Kotlin:
We build custom Web automation solution based on customer current technology stack:
WebDriver 3.0/ Capybara/ SitePrism
SauceLabs and BrowseStack integration