Software Quality at the Speed of Agile & DevOps

Archive for December, 2020

Software Quality at the Speed of Agile & DevOps

Posted by admin | Posted On December 24th, 2020 | QA, Quality Assurance

We understand that in today’s fast-paced digital world, the pressure to deliver high-quality software products at speed and at scale is more significant than ever.

 
 
 

 

Projects using waterfall often have release cycles measured in months (some even years). Agile and scrum revolutionized so much in software by being able to ship at the end of each sprint – it could be anywhere from weeks to days, even hours in some projects. DevOps often has automated deployments scheduled multiple times per day. This means the production code change rate can be orders of magnitude faster in DevOps than in agile. This sets the stage for delivering Quality at the Speed of DevOps and Agile.

In an Agile world, teams are being asked to move faster — reducing the length of time to delivery while continuing to improve the Quality of each release. At the same time, they are faced with increased pressure to reduce testing costs.

“testing at every step” and not “QA” at the end.

Testing is a lean process of Quality at every step. It includes quality user stories, quality environments, quality test data, quality unit tests, quality functional tests, and quality performance tests. It is “testing at every step” and not “QA” at the end.

We Don’t Compromise Between Speed And Quality

As digital disrupts business, we see an unprecedented demand for speed, while Quality is a given; as a result, old ways of testing don’t cut it anymore. We at QualiTlabs never compromise on Quality to achieve ‘speed.’

At QualiTlabs, we achieve Quality at Speed by implementing the following

Shift Left Testing

From the very start, our testers join design sessions to ask questions about how customers work and try to find gaps in requirements in the user stories, which ultimately leads to design changes. Some team members can work closely with back-end developers to ask questions and create test ideas and ‘what if scenarios. Others sat down with the API developers and stubbed out tests for new services while they were being developed. And yet others find themselves pairing up with the UI and API developers to test something new on their machine before it hits a build.

Actual testing still happens at the end, but it will be smaller and faster because of the problems you could find earlier. Shift left doesn’t exactly move testing closer to the beginning of a release cycle. It sprinkles it over each step and each iteration.

In this approach, we have test cases ready when new code moves into the QA environment; we execute the test cases related to the features/stories of the current sprint while we run the automated tests for all regression testing of the already released features. This helps us find bugs early in the sprint cycle, thus giving more time for the developers to fix the bugs.

Test Automation

Test automation is undoubtedly no longer an optional idea in quality assurance. Increasing the adoption of DevOps and Agile are some of the key factors driving the growth of the automation testing market. Test automation has become indispensable as more businesses adopt the latest Agile and DevOps processes to fulfill the demand for Quality at Speed.

We create reliable and maintainable automated tests for all regression areas of the past sprints using the latest test automation tools. We have implemented Test Automation for more than 95% of the clients.

We create automated tests for the UI end-to-end test cases, API (REST, GraphQL, Microservices), and DB layer.

To expedite the development of the automation tests, we use the in-house developed automation frameworks; this also improves the reliability of the test execution results and maintainability.

QAOps

Quality Assurance Sees Changes in DevOps Transformation

‘DevOps’—a set of software development practices that combines development (Dev) and information technology operations (Ops). DevOps aims to shorten the systems development life cycle (SDLC) while teams can focus on building features, fixing bugs, and pushing frequent updates aligned with business objectives. DevOps bridges the collaboration between developers and business operationalists.

In the same spirit, QAOps helps increase the direct communication flow between testing engineers and developers by integrating software testing into the CI/CD pipeline rather than having the QA team operate in isolation. In short, QAOps is defined in two key principles:

  1. QA activities should be incorporated into the CI/CD pipeline
  2. QA engineers should work in alignment with developers and be involved throughout the CI/CD process.

QAOps in Continuous Integration/Testing

We integrate the Automation scripts into the CICD pipeline (using DevOps tools) and leverage the cloud platforms (web and mobile testing platforms) such as BrowserStack, LambdaTest, Sauce Labs, Kobiton, AWS Device Farm, etc. to execute the automated tests on a vast variety of device and browser combinations.

This helps us execute the automated tests early and more frequently during the sprint cycles; this helps us find the bugs at the early stages of the testing cycle.

QAOps for Continuous Reporting

With the help of the DevOps tools and Test Automation, we publish the test execution results on different platforms based on the client requirements –

  1. Inbox – a most convenient option for many of our clients
  2. Jira-XRAY – we integrate automation tools with XRAY GraphQL API to post the results in real-time so that the entire team will have access to the test reports any time, anywhere
  3. PractiTest – we integrate automation tools with PractiTest’s REST API to post the results in real-time so that the entire team will have access to the test reports any time, anywhere
  4. TestRail,
  5. qTest, the list goes on …

Test automation, along with continuous testing, leads by helping teams perform repetitive tasks, detect bugs faster and more precisely, provide continuous feedback loops, and ensure test coverage. Therefore, implementing test automation and QAOps in the QA processes can save significant costs, time, and human resources while achieving Software Quality at speed.

QAOps can help detect errors faster and resolve them way ahead in the development process. If the QAOps approach is not followed, it will take stretched periods between integrations, making fixing these gaps a longer and exceedingly stressful task. It will reduce constant back-pedaling to identify issues and focus on building various features.

This approach is helping our clients go to Market Fast to be market leaders.

Please contact us at sales@qualitlabs.com if you’d like to talk to our technology leaders and understand the process better.