QA Automation - Limestone Digital

QA Automation

Software Testing
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
Mobile testing
We follow best practices from companies like Google, Apple and FaceBook by using Native solutions
XCUITests
Stub all backend APIs for stability. XCTests with XCAssert for test writing. Design scalable test architecture with Page Object by using latest Swift practices:
Protocols
Extensions
Generics
Espresso testing
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:
Dagger2
Idling resources
Web testing
We build custom Web automation solution based on customer current technology stack:
Junit4/TestNG
Java
WebDriver 3.0
Cucumber, Rspec
Ruby
WebDriver 3.0/ Capybara/ SitePrism
Behave
Python
WebDriver 3.0
NightWatchJS
SauceLabs and BrowseStack integration
Upon client request, we may use BDD Cucumber framework for better tests readability. We even offer integration with cloud solutions such as BrowserStack and SauceLabs.

API testing (End point testing)

Regardless of Web or Mobile functional test coverage, every team should be covered at API service layer.
Those tests are much faster than functional test and should exercise the whole client logic without UI and cover most data permutations. At Limestore we are big fans of test pyramid thus usually build entire solution including functional and API in bundle thus if any of those are failing, you would know if it is client or the service malfunction.

User
Api
Unit

Load testing

Is your application, server, or service delivering the appropriate speed of need? How do you know? Are you 100-percent certain that your latest feature hasn’t triggered a performance degradation or memory leak? There's only one way to verify - and that's by regularly checking the performance of your app. But which tool should you use for this? In this blog post, we'll review the pros and cons of the leading open-source solutions for load and performance testing.

CONTACT US