The recent software glitch in Eurocontrol’s air traffic system caused widespread flight delays. God forbid! It could have been a worse disaster. More importantly, this sorry situation could have been avoided with accurate quality checks.
As businesses focus on providing superior user experiences faster, QA and Testing functions must ensure that these applications are adhere to the highest quality standards and are attuned to user expectations across platforms, devices and locations.
This puts increased pressure on QA and Testing teams to deliver quality at speed. They must test amid dynamic and fluctuating requirements with exponential rises in end user operating diverse devices. In this first article in a series of three articles, I will focus on the business challenges around quality issues and its relevance to the BDD (Behaviour Driven Development) approach to Test Automation. I will follow this up with further elaboration on:
- Mastek’s approach to overcome business challenges
- Mastek’s solutions, features and associated business benefits
Agile Adoption to Thrive at Test Automation
As the World Quality Report 2017-18 survey detailed, software and product quality emerged as a top priority of the Executive Management Objectives for QA & Testing. Organisations are struggling to match the right level of quality with the demand for speed and end user satisfaction. To address this, QA and Testing functions should provide real value by leveraging solutions such as smart test automation and increasingly adopt Agile and DevOps methodologies.
Standard automation test cases are not enough. Instead, QA and Testing must adopt integrated quality engagement models and focus on business outcomes. They should incorporate intelligent data analysis to design and deliver robust automation test strategies and test suites.
QA and Testing functions must re-invent by adopting Agile and DevOps processes and test automation from day one for True Shift Left by incorporating practices such as BDD and BDT. Doing so, will enable a business-centric approach to selection of the appropriate test focus areas and implementation of BDD processes to define acceptance criteria that can be automated.
I have listed below some key business challenges that you should address to benefit from the true value of test automation.
Lack of Clarity on Business Requirements
A common cause of IT project time and cost overrun is the impact of business requirement issues on systems, where the expected system behaviour is unmet.
Common issues that occur with requirements include:
- Gaps, as system behaviour is unspecified or lacks details
- Disparate interpretation for similar requirements by different functions such as business, development and QA.
- The lack of clarity about exactly which requirement needs to be delivered when
Matching Quality with Speed
In the fast moving digital age, organisations are under pressure to deliver a highly valuable customer experience. The key challenge is to meet the expectations of digitally empowered customers. This is not easy and necessitates that IT teams build software solutions quickly while maintaining top quality. The stakes are high as one bad experience can forever tarnish the customer experience,
Testing systems are getting increasingly complex in the world of digital transformation. This could be attributed to the proliferation of mobile devices, platforms, responsive web applications and media channels being tested under varied testing environments.
Testers and Users Involvement Delayed
Often, end users are not involved in the development process until the UAT. As a result, they will not have the innate knowledge of whether the system that has been developed meets their requirements or not. There is no direct traceability between user requirements and the implemented system features.
Similarly, in traditional methodologies, the QA/testers are involved much later, which limits their input into the initial Software Development Lifecycle (SDLC) phases such as requirements and design. Most of the errors that are identified during the QA/testing phase would have been introduced in phases such as requirement and design. Defects identified at the later SDLC stage are more expensive to fix, compared to if they were identified at an earlier stage.
What and Why BDD?
BDD is an agile software development technique that promotes collaboration between business stakeholders, development and QA teams. It is oriented towards system behaviour, rather than on its technical specifications - focusing on what should be done, rather than how it must be implemented.
According to Forrester’s Wave: Continuous Testing Service Providers, 2017 Client Reference survey, Test Driven Development (TDD)/Behaviour Driven Development (BDD) are growing area of interest for customers developing software in Agile and/or DevOps.
BDD offers a practical solution to most of the challenges mentioned above including:
- Identifying business behaviours and converting them into deliverable features
- Focusing on business value rather than software testability
- Acceptance criteria delivered in plain English using Gherkin notation
- Improved collaboration between stakeholders
- Easy to understand and maintain tests
- Supporting test automation/continuous delivery
In my second blog in this series on Behaviour Driven Testing, I will share approaches including test automation to address the business challenges that we have detailed so far.
Until then, find out how you can reduce testing time by 50 percent with Mastek’s Test Automation solution.