Quality Engineering POV for Quick Service Restaurant
Blog: Capgemini CTO Blog
1. Introduction to quick service restaurants
A quick service restaurant is one that is focused on providing customers with food as quickly and efficiently as possible. This generally means that there is minimal table service and food is cooked to order in a short space of time. The term “quick-serve” is often synonymous with “fast food” and a majority of quick service restaurants operate as chain restaurants using a franchise model.
1.1. Industry trends
The QSR industry is becoming a highly competitive market, as both established and new players are expanding their curbside pick-up and delivery offerings. Customers are highly concerned about the impacts of COVID-19 and these apprehensions are driving changes in the way customers order food. Many are turning to digital channels. These days, almost every food retailer has accepted that succeeding in online ordering is critical to their long-term vitality.
There will be three keys to making these breakthroughs: 1) evaluating customer profitability vs order profitability, 2) reallocating trade promotion spending differently to invest in online ordering, and 3) revising the mix of online sales to emphasize proprietary, high-margin businesses such as personalized experience-food offerings.
1.2. US online food delivery market
The US online food delivery market was valued at $18 bn in 2018 and is expected to grow to $24.5 bn by 2023.
|Restaurants have developed many collaborations during the coronavirus pandemic, from selling restaurant meals in grocery stores to hiring restaurant staff to temporarily work in the stores and becoming a pickup spot for closed retail outlets. Simplifying apps, evolving in-store dining, and expanding delivery channels will be the focus in near future.|
1.3. Trends and underlying technologies for enhancing customer experience
2. Functional landscape
Functional landscape of multi-channel approach for a sale:
3. Introduction to quality engineering
Traditionally, a quality assurance team is involved in the last stages of production, and its task is to detect defects in an almost-ready product. Quality assurance “assures” quality of the product, but quality engineering drives development of quality product and assured outcomes. This includes quality, maturity of the quality team itself, but it’s also a cultural shift within the teams. Quality engineers focus on the quality right from ideation all the way to go-live and post production quality. Agile adoption and maturity level are critical to implement quality engineering principles and facilitate test-driven development and behavior-driven development strategies.
With quality engineering processes, we can validate our application faster and we are able to deliver to our end customers through quicker market adoption strategy. We can optimize cost and time to market as well as accelerate the release cycle. We should establish production feedback loop for continuous quality improvements.
These are essential elements of quality engineering principles:
• Cross-functional team
o Cross-functional hybrid teams embedded within development teams for early integration and end-to-end testing
o Technical test engineers for development product-level testing
o Functional test engineers for business/market level testing
o Integration test engineers for integration with third-party systems.
• Continuous delivery platform
o Spin-up emulated and virtual lab environments
o Integrated end to end automation strategy plugged into CI/CD
o Provides coverage to execute market test conditions.
• Shift left and shift right
o Shift-left approach to perform early integration testing and performance baselining using test data, market configurations, test conditions/SMEs, and labs
o Shift-right production testing to trigger for proactive mitigation for potential failure points – beta testing, app crash, field testing, read-only performance, etc.
This should help to achieve the following business outcomes:
• Enhanced product quality
• Faster and reliable deployments
• Improved customer experience and loyalty.
4. Quality engineering framework
4.1. Knowledge pack
It is important to have knowledge on restaurant topologies to ensure full test coverage with knowledge pack for rapid onboarding of digital and restaurant products. Tools and artifacts for standardizing for process adherence and governance will play a key role to enhance the overall knowledge packs. Periodic test normalization activities to be performed to keep the suite relevant and updated by optimizing redundant, repetitive, and out-of-scope test conditions.
4.2. Data on demand
“Market-like” test data on demand for developer and testers will enable early testing of market scenarios. Test data should be updated on a regular basis. For this, the recommendation is to have configurable scripts to mine data from a Production environment on regular intervals. Test data automation generates accurate data on the fly, rigorously testing fast-changing systems without test data bottlenecks or false negatives.
4.3. Environment on demand
This is the ability to spin-up and scale down emulated and virtual lab environments, which are integrated through CI/CD pipeline. This provides capability to execute market test coverage via automated scripts. The idea is that everything should be automated so that the whole new environment is deployed as per demand.
4.4. Test workbench
By taking a normalized test suite, it needs to be further categorized as P1, P2, P3. This helps to have test regression packs as sanity, focused, and full regression. Based on the impacted areas analysis and test duration, these packs can be executed to ensure coverage for market test conditions.
4.5. Shift-right testing
The shift-right testing approach initiates the testing task from the right that means the post-production of the software. In this approach performance and usability of an application are continuously monitored and feedback is sought continuously from users to understand the user behavior. Typically, this testing includes pilot store testing, app crash monitoring and analysis, read-only performance test on production and analysis of new relic logs and continuous feedback loop to development teams.
4.6. Performance engineering
Application performance can dramatically impact customer experience. With a growing number of DevOps teams continuously deploying applications, performance testing must be done regularly, as well as on demand, to ensure the quality and stability of every additional integration. Performance engineering embedded in all phases of product development lifecycle with focus on performance, reliability, scalability, and endurance.
4.7. End-to-end test automation strategy
There are multiple tool options for test automation of QSR applications including open source as well as licensed tools. These can be leveraged to use for QSR landscape and adapted for use against web, microservices, point of sale, and digital platform.
Mayura Sardesai – Senior Manager (Digital and Mobile) at Capgemini
Mayura is the Delivery Lead (Testing) for one of the largest QSR customers. She has 11 years of IT experience including application development (Web / Mobile / Client Server) and QA, object oriented programming and multi-tier e-business solutions.
Sandeep Sidhu – Manager – POS/Restaurant Technology Solution (QSR) at Capgemini
Sandeep is Store Systems & Integration Lead. He is responsible for QE labs management, execution and delivery.
Shishir Jain – Senior Consultant at Capgemini
Shishir is Digital SME/lead. He is responsible for functional E2E automation for accelerated delivery