Performance testing is key to the really memorable user experience
Performance testing is critical in ensuring that an exceptional user experience is delivered. That’s because executing this phase of testing correctly will provide you and your team with a real understanding of the responsiveness and stability of your system under a particular workload. It can help you plan your IT strategy around the peaks and troughs in your business cycle so that you are always available to customers. Do it wrong and your brand may just be the next unlucky sufferer of bad press, or worse yet, a catastrophic systems failure.
This leads us to the question, how do you ensure you do performance testing right? Below are our three key principles to adopt:
1. Know your users and know your system
Our first point is more of a warning: when user experience is discussed the focus is almost always on the physical interaction with the system rather than the holistic experience of overall solution capability. Of course the ergonomics of the user interface and the actual business functionality are key but ultimately to get the right user experience in the live system it is critical to test against realistic workloads. The point is that the user experience design is based on assumptions and theories; proving those theories right is what ultimately what testing has to achieve but this can only be done from the holistic perspective.
2. Simplicity equals complexity
Understand this paradox and you have a great foundation for success. Everything we do from a user experience perspective is about making things simple and intuitive. However to do that we have to build a significant amount of intelligence into the system and that creates significant complexity compounds the workload effort. This complexity is increased with the push to the cloud: the promise of flexibility at the technical level creates significant problems for the enterprise in terms of technical complexity.
Infrastructure is cheap but the traditional solution to performance issues (“Let’s throw more tin at it”) does not work because the environment is no longer isolated but part of a complex patchwork of systems. The plethora of disparate platforms and web-based architectures puts real pressure on performance testing: application tuning; infrastructure management; bandwidth – everything must be tested in harmony with intelligence applied to ensure the system can manage the relevant workloads.
3. Swans abound
You need to sedate and smooth the transition to the production environment – a traditional hive of activity. Today, that activity comes from the enormous increase in data flow volumes enterprises have experienced over recent years. Most organizations do not know how to deal with the data; certainly they are struggling to get value from it – to process it to create insights for competitive advantage. The transition to HANA is allowing SAP customers to simplify this process through the integration of the transaction processing and data warehousing analysis in a single database but it does mean that performance testing has to address this new architecture, understand the data flows and ensuring the system can manage the appropriate workloads: and that is hard!
The approach used to be that a single set of tests run during the implementation phase would suffice; now there has to be an iterative approach with a suite of tests, which can be run with ever increasing frequency. This marriage of infrastructure, data and process is what is required to deliver the desired result. Therefore performance testing must be done with a holistic approach. It is the test strategy that takes into account the business process, technology and infrastructure to deliver the ultimate goal: the memorable user experience.
Originally posted August 20, 2015, by Martin Mackay, Experior Group