Ensuring your software delivers superior user experience is the key benefit of Quality Engineering. Explore QE’s role in building and maintaining great products.
The Blue Cross Blue Shield Association of North Carolina (BCBSNC) experienced a huge system failure in January 2016 with names of about 25,000 customers being included in a wrong list. As time lapsed, complaints mounted and BCBSNC faced tremendous consumer wrath.
It had to extend an apology and refunds to compensate for the inconvenience caused to its customers. In early 2014, in a series of other cases, the mobile banking apps of the UK’s RBS, Barclays, Natwest and Santander crashed, affecting thousands of customers.
In all these cases, software glitches not only led to revenue losses but also caused damage to the organisations’ reputations.
The examples also highlight the criticality of software quality assurance (QA) testing in helping organisations stay guarded against unwanted technical glitches and subsequent backlash. Reportedly, in each of these events, customers spent no time to take to social media to vent out their anger.
Growing importance of QE
A look at a few recent trends reveals why QE has emerged as an important function today than ever before. Nearly every modern-day enterprise has expanded its customer service touch-points to include online, social and mobile app channels.
Unlike the core enterprise systems that released new versions only once or twice a year, mobile apps have weekly or daily updates and monthly or fortnightly version upgrades. Amazon, for instance, does 10,000 releases per day!
A slight delay in updates may deplete an organisation’s potential revenues and lead to negative publicity on social media. This puts tremendous strain on enterprises to ensure their applications remain glitch-free at all times.
QE, given this scenario, has proved to be a critical business imperative in software pre-production as well as post-production stages.
|What is Quality Engineering?
In today’s fast paced environment, software testing and quality assurance are quickly getting replaced by Quality Engineering. Your IT applications and systems must be engineered from a quality point of view which encompasses not just the Quality Assurance Life Cycle, but beyond go live as well. Starting from code review, it comprises services such as continuous QA testing, performance engineering, and continuous monitoring.
The hygiene factor
The basic functionality of an application must be delivered to users without glitches or latency. Assurance of functionality and performance must be covered under pre-production stages of QE. Let’s briefly examine these stages.
1. Development/ Unit testing
At this stage, the software code is reviewed from functional correctness and performance perspectives. QE ensures that the product’s architecture is robust and scalable. Scalability pertains to the number of users or features that may get added over time.
Moreover, it covers a company’s changing business purpose—the software’s technical architecture must be aligned to accommodate its changing nature across its life span.
2. System integration testing (SIT)
SIT has gained prominence in the complex IT eco-systems of today. An IT application combines complex arrays of services delivered by multitudinous ecosystems. When a customer, for instance, completes KYC registration or adds payee while doing funds transfer via net-banking, integration of many third-party ecosystems is at play.
These ecosystems are connected via API calls, web services, and microservices. SIT ensures that such diverse, multi-partied ecosystems can interact with each other coherently.
3. Performance engineering
Performance engineering is an important task related to QE. Although it is generally carried out after user acceptance tests (UAT), it should ideally begin with SIT or UAT. This helps detect show-stopper issues or performance bottlenecks early on. As per our internal estimates, it can reduce the on-field performance testing durations by 40 percent.
Advancing the performance engineering date offers another benefit—it forces the company’s system integration partner to address all detected issues well before the UAT results are out.
4. User acceptance test (UAT)
On its part, UAT focuses on every issue related to ensuring the right functionality, good performance, and great user experience.
QE plays a substantial role even after a product goes live, ensuring user experience remains unaffected. Recently, there was news about a prominent e-commerce player suffering from server crash on its BigBillionDay sale. Such events indicate that despite an organisation’s ability to invest in technology, failure is a possibility—always!
A failure can either be global—software fails for all users, local—it fails for a specific group (such as for a particular device type or OS or browser or region), or individual—it fails just for one individual.
To avoid customer complaints, each of these scenarios must be attended to swiftly. Quality Engineering must encompass Continuous Monitoring which should be carried out after a product goes live. Continuous monitoring with advanced warning system is another QE aspect that helps prevent potential failures.
Lastly, to be effective, QE must go hand-in-hand with adequate investments in analytics for capacity planning. To elaborate, estimate your capacity-needs during the peak times vis-à-vis non-peak times.
For instance, you may be requiring 25 cloud servers during peak hours vis-à-vis 10 at all other times. Right capacity modelling can help you precisely provision for the capacity you need and pay accordingly, rather than walking into the trap of provisioning for more ‘just to be on safer side.
This way, your QE product will deliver superior performance without profitability compromise.
Also Read: “AI systems will need quality check points across input data, how that data is processed and interpreted and if the output quality is maintained continuously.” – Maneesh Jhawar of QualityKiosk Technologies
(Disclaimer: This is a guest post submitted on Techstory by the mentioned authors. All the contents and images in the article have been provided to Techstory by the authors of the article. Techstory is not responsible or liable for any content in this article.)
About The Author:
A seasoned veteran in the IT sector for over 30 years, Chitra heads the testing practice at QualityKiosk. Being a core member of the founding team, Chitra has set up the entire practice from scratch. Chitra has been instrumental in expanding the QualityKiosk footprint in various industry verticals and geographies. She brings her rich experience in IT solutions development, consulting and Quality Assurance effectively into the functional testing delivery management at QualityKiosk.