DeviQA Case Study: Quality Management Software
DeviQA LogoDeviQA is the finalist of the Software Testing Award 2019

Quality Management Software

Test Automation, Mobile Testing, Web App Testing

Project Overview

What Quality Management Software had in the testing processes when they came to us and what they got after they started working with us.

Before improvement

Test cases didn't cover the major software areas
Development workflow was unstable and changed from sprint to sprint
Regression testing was slow and contained redundant tests
Each team member worked independently, and there was a lack of communication
There were no automated tests
The project had an enormous number of minor bugs which significantly worsened user experience
The software didn't provide mobile device support

After improvement

A great number of complicated test cases have been added to cover all major areas
Regression testing has been released from the redundant tests to speed up its running
Principles of effective communication and teamwork have been applied
An automated test suite has been developed from scratch
Build automation has been expanded, many new scenarios for new features have been added
The automated test suite runs on several environments every day to check the current state and performance of all servers
Development workflow has been optimized and made more stable by means of Retrospective, Demo, and weekly meetings
The software has been enabled to support multiple mobile application for iOS and Android
100
automation scenarios developed
1800+
user stories passed testing
3000
bugs reported
100+
regression test cases added
300
PERFORMANCE REPORTS SUBMITTED
QA Team:
2 Senior AQA Engineers
Project length:
3 years
Technologies & Tools
Jenkins
Jira
Testrail
Browserstack
xCode
Mobile emulators
IntelliJ IDEA
Cucumber
Selenide

The Challenge

Quality Management Software platform is a user-friendly tool designed for construction companies and inspectors in order to collect and analyze data on the works carried out on the construction sites.

We joined the project when the software was rather unstable, had an inefficient development workflow, and didn't undergo competent testing procedures to ensure its quality.

Each team member worked independently, and there were often misunderstandings. The user stories usually didn't contain descriptions of the platform's behavior within the given scenario, which led to a lack of understanding of system operation.

There were no automated tests, and the regression testing ran pretty slow. Performance testing wasn't conducted as well.

The main goal was to build a team, optimize testing and development processes, and integrate automated tests. Besides, we had to provide the platform with an ability to support mobile devices that required testing on multiple devices.

Achievements

We became the center of cooperation. Frequent and effective communication with developers and all team members, as well as weekly retrospective meetings, contributed to team building. The rule to reread all requirements and add acceptance criteria to each user story was introduced for testers. It has considerably reduced the number of possible bugs at the development stage and improved general understanding of each particular user story.

A QC member created a new checklist for every user story to cover all affected areas. Extending of the regression test documentation has led to more comprehensive testing and relevance for new features.

Mobile applications for iOS and Android have been designed. Corresponding tests were conducted on multiple devices: few smartphones and few tablets with different versions of operating systems. Testing also covered three different browsers on mobile devices and desktop.

Implementation of automated tests has reduced time for every new build merge, speeded up the running of regression testing, and increased platform robustness. Jenkins integration in every environment has provided us with an opportunity for scheduled everyday running of automated tests. It ensures the proper work of all the basic platform features. The creation of new automation scenarios helps us to keep up with project development.

Services Provided

Scheduled running of automated tests, fixing of build issues to keep up with a changing system, conduction of performance testing, drawing up of new scenarios for brand new features - tasks we are responsible for.

Test Automation

Every new build of Android and iOS applications is tested on several devices on beta and actual versions of operating systems. A significant number of bugs in mobile applications have been fixed.

Mobile Testing

Most tests are conducted in Chrome (which is a browser of high priority). Both Testrail and Jira help us to have relevant test documentation for regression/automation runs. We also use Browserstack to cover all kinds of browsers and different devices. If a user has an issue with a particular device, we use Android Studio and xCode to emulate any device, investigate the bug and fix it fast.

Web App Testing