For better or worse, we live in an era of instant gratification as customers don’t take too kindly to enterprises that make them wait for even days to respond to their requests. Fortunately, the digital age has also enabled enterprises to make their products far more responsive to customer feedback, and as a result, release cycles of digital products such as mobile apps are rapidly reducing.
My colleague and partner in crime, Kartik Raja, talked about this in his previous post, where he mentioned how banks are still unaware of their failures when digitally savvy companies like Netflix are! Enterprises such as banks need to figure out how to take responsibility for their customers’ entire digital journey or run the risk of being left behind by more nimble competitors.
However, haste cannot lead to waste, and the decrease in release cycles cannot come at the cost of product quality. Once you lose a customer, it’s hard to get them back. Hence, the problem that enterprises face today is – putting in place a robust release process/infrastructure, which does not trade-off quality with speed. And that is how the concept of DevOps has gained so much traction.
Traditionally though, DevOps has mainly focused on release automation and monitoring. The primary problems that DevOps has attempted to solve are:
a) how do I make the build cycle shorter?
b) how do I build better monitoring capabilities so that I can detect problems quicker?
In the process, we may have missed the single most critical step, which ensures a great product gets released in a short time. That step is testing. Therefore, integrating a strong testing cycle within DevOps is an absolute must.
It is time for enterprises to invest in a robust testing infrastructure that enables them to test their product on a wide variety of devices, networks, and locations. Testing should not be about simulating a user environment but setting up an infrastructure that enables the tester to run their test cases in real user environments. And testing in a real user environment is nothing but synthetic monitoring.
By establishing a testing infrastructure that enables not only functional and non-functional testing but also synthetic experience monitoring, enterprises can ensure great product quality and save significant costs otherwise involved in setting up expensive post-release monitoring tools.
A plethora of 3rd party integrations within the app and the need to make it cross-device, personalized, and secure has rendered traditional monitoring methods insufficient at providing the needed insights.
Traditional methods often focus on just app performance and not 3rd party components. They identify issues post-release by when it might be too late. And they require intrusive SDK integrations, which might not be in line with data privacy requirements.
It is thus time for enterprises to design a robust testing infrastructure right when they are setting up their DevOps process and infrastructure.