By Shantanu Kaushik
Testing has been the forefront for any developer, where there is development there is testing. This has been the way things have worked since the dawn of programming. Programming, coding, and development architecture and technologies and testing methods have all changed and evolved over time. Alibaba Cloud has made significant changes when it comes to utilizing key metrics for better development to the deployment cycle.
Moreover, since organizations have been turning towards adapting to DevOps, the testing methodology has gone through a rapid development pace. As things developed, the metrics used by testers also changed. Much of that has either been upgraded or has turned obsolete. QA teams have to rapidly adopt new metrics and practices to ensure that they can turn over their cycle in time and keep up with the pace of deployment.
One of the metrics that play a very important role in software production is the defect escape rate. A software development cycle is never complete without new software defects that are found during production, regression, or by the users. These errors can be user experience issues, performance issues, or simple application errors. The primary goal is to find these errors before your application goes out for public use. A standard policy while deploying applications using Alibaba Cloud DevOps practices is automation. Automation at every level that is necessary ensures a smoother deployment cycle. Products like Terraform Infrastructure As Code (IAC) or the Elastic Compute Service (ECS) have been designed to co-work with one another to maximize compatibility and increase the viability of the SDLC.
Alibaba Cloud maximizes the whole process with its deep-rooted integration of Kubernetes and its simple application server to provide maximum scalability and availability of containerized applications. You can evaluate the defect escape rate by monitoring the number of defects found in the pre-production phase and comparing it to the production phase. This constitutes the defect escape rate.
Let's take a look at a defect escape rate chart for an application solely programmed for such usage:
Maintaining software quality is something that every application developer wants to ensure. The point is to churn out a stable application that doesn't break under heavy usage and requires lesser updates over time. The quality of software that you ship is directly proportional to the user base that you are going to make. You can use products like Alibaba Cloud API Gateway to have a strong backend for including APIs to the mix, but you also need to keep a close check on the software quality that you are releasing.
A balance is very much required when it comes to releasing software and providing updates based on the number of issues or software upgrades that you wish to provide. It might also be affected by the server load that you might be monitoring or balancing through the server load balancer or the cloud monitor. Moving with a fast pace is important, but establishing a threshold of the risks that you are willing to take must be maintained. By tracking your defect escape rate, you can be certain of the pace you wish to move in. It can be slow or fast, and you adjust it based on the reports that you are presented with. You can cross-check these reports if your application is already released using the cloud monitor logs. These logs will also ascertain the metrics about any performance issues you might have. If your reports reflect multiple issues in production, then it outlines the need for a better or automated testing need for the whole development cycle. This also tells you to slow down the development process and provides more resources for the testing phase.
If you are finding fewer errors after applying patches to your application, you can enable a faster pace of release. This will be the time to move faster and regain the pace that you lost during the emphasis on the testing methodologies. Revisit your server load balancer and other logs as presented by other products that you might be using as backend. Many performance issues can be backtracked to version control. If you are maintaining version control and updating all the modules within an application to work in sync, your server will have many more resources at your disposal, and you will have fewer reasons to provision added resources with your ECS.
DevOps implementation requires a synchronized team effort. Your teams need to have the whole SDLC as regulated as possible. A simple method is to use identity and access management by using products like Alibaba Cloud RAM. Automation also plays an important role. Automation has to be just right. In general, the defect escape rate is a feedback system that will appraise you for the speed of development to deployment and how to moderate it.
To track the defect escape rate, all you need to do is to track defects found during QA. Use your container service to raise a new workable item for every defect that is found. Alibaba Cloud uses EDAS or the Enterprise Distributed Application Service that is based on the PAAS platform to monitor, diagnose, operate, and maintain the applications. It is a middleware that presents you with enormous options to maintain the SDLC.
A Visual Example of EDAS
After you have records of the defect escape rate, you can decide what an acceptable value is for you in terms of letting defects pass by to the production stage. It is advised to keep a ratio that is not less than 85% to 90% defect-free release and sorting your defects in terms of major and minor defects. By making sure your software is mostly defect-free, you are ensuring a viable and error-free release.
Maintaining a proper defect escape rate is as important as any production goals that you set. Maintaining a proper DevOps cycle requires spending less time testing and making your testing phase automated. This requires precision and can only be attained after your DevOps implementation matures. This will take time and effort. It will also take the utilization of a well-synchronized product line-up. Use products like Alibaba ECS or the IAC platform. These products are in sync with other products and services like the API gateway service and the RAM (Identity and Resource Management). If you start production and release with proper back-end resources, your defects will decrease automatically. This allows a more productive cycle.
The views expressed herein are for reference only and don't necessarily represent the official views of Alibaba Cloud.
Alibaba Clouder - September 7, 2020
Alibaba Clouder - September 9, 2020
Alibaba Clouder - January 11, 2021
Alibaba Clouder - September 18, 2020
Alibaba Clouder - September 16, 2020
Alibaba Clouder - September 18, 2020
Alibaba Cloud Container Service for Kubernetes is a fully managed cloud container management service that supports native Kubernetes and integrates with other Alibaba Cloud products.Learn More
Accelerate software development and delivery by integrating DevOps with the cloudLearn More
Provides a control plane to allow users to manage Kubernetes clusters that run based on different infrastructure resourcesLearn More
Accelerate and secure the development, deployment, and management of containerized applications cost-effectively.Learn More
More Posts by Alibaba Clouder