Quality Gates in Testing - Powerful but underused!

Quality Gates in Testing - Powerful but underused!

For anyone in IT & Software delivery, when we hear the term 'Quality Gates' (QGs) we tend to think of them quite shortsightedly at a project level as milestones and prerequisites for going into the next phase of your project delivery. What I have found consistently in projects, especially those delivered using any Agile methodology is that lower level quality gates (e.g. your test entry and exit criteria and definition of done) are often discussed/documented but then overlooked or not used at all.

QGs are effectively very good checklists underpinned by simple workflows, they provide us with the visibility, confidence and structure that what we are delivering is meeting our set quality standards and expectations. For any role that you have within Quality Assurance & Testing (QA&T), making sure you able to "line your ducks up in a row" and perform those important tick box exercises is key to delivering quality software without crossing the finish line on fire, upside down and in a sweaty mess.

Below I have provided examples of using QGs for different roles and areas within the QA&T delivery cycle to demonstrate how useful they can be in providing structure and quality to a team and delivery management. Even though we are using gates which visually are sequential, the tasks and activities which pass through them can be worked on in parallel or sequentially depending on your delivery methodology (e.g. Agile, Waterfall or Lean etc.)

Example of quality gates for QA Engineers and QA Leads

QA Engineers & Leads

For QA/Test Engineers, this could be compared to your test entry and exit criteria as it is quite low level. However, test entry and exit criteria does not really follow the process and stages of the testing life-cycle in a gated way and usually collates all the checks towards the end just before the scheduled start of your test execution. If you have a detailed Gantt chart for QA, then your QGs can be extracted from that. If not, and in the absence of a test plan, you can put together these simple QGs to help you in ensuring the correct low level testing activities (e.g. test analysis, test design, test build and test execution) are have been done before moving onto the next stage.


No alt text provided for this image

QA Manager

QA Managers can go a level of abstraction higher compared to QA Engineers and QA Leads in their gating process. Managers need be able to track testing activities and ensure they are being completed and meeting the passing criteria and provide a clear and unambiguous update to delivery management on the status of testing. QA Managers having their own gating process will ensure that quality is being built up continuously throughout the development and testing life-cycle and will give the business confidence the change/solution is progressing through projects Quality Gate process.

Automated Tests and Pipelines

Pipelines are probably one of my most favourite examples of implementing and using QGs. By integrating automated tests (e.g. selenium web tests) into build and deployment pipelines using tools such as Jenkins, Azure DevOps and TeamCity etc, you are able to automate these QGs and achieve continuous testing and fast feedback. Depending on how strict you want to be with your pipelines, you will be able to specify whether a deployment fails due to it not passing through all the defined quality gates or fails as soon as one quality gate is not met.

As all the testing and gating process is automated, when you have a fully successful pipeline run, this will give you the confidence that a level of quality has been achieved without having to track the progress manually. Depending on how mature your development and testing processes are and the availability of tools and skill-sets you have in your team, you can add as many gates into as many pipelines as you want to a point where near 100% of your testing life-cycle is automated.

Example of quality gates using test automation and CI/CD pipelines

Tools for implementing & using quality gates

Here are some common tools to use to implement and use quality gates. QGs may not be the main purpose of these tools, but at the end of the day QGs are checklists and workflows, so any tool that offers this type of functionality will be sufficient.

  1. Microsoft Excel or Google Sheets - For basic quality gate checklists and tracking progress, use in conjunction with SharePoint or O365 for sharing and versioning if using Microsoft.
  2. Atlassian JIRA - Create custom workflows and issue types to create your own quality gate process with automated transitioning. The information can then put into a dynamic dashboard for wider visibility. This tool can also integrate to team messaging tools such as Slack and Teams for automated updates.
  3. Atlassian Confluence - Create a shared space with documented quality gates and checklists which can be used by the team. This tool can also integrate to team messaging tools such as Slack and Teams for automated updates.
  4. Trello - Like JIRA but using boards, labelling and other premium features to define your quality gates, checklists and workflow. This tool can also integrate to team messaging tools such as Slack and Teams for automated updates.
  5. Jenkins, Azure DevOps, TeamCity, Circle CI - For automated quality gates using CI/CD pipelines in conjunction with automated testing. This tool can also integrate to team messaging tools such as Slack and Teams for automated updates.

Summary

Quality Gates are a great tool in testing, they can be as basic or as detailed as you want. They provide an excellent visual guide for any member of the team to get a high-level view of testing and the route to completion. Whether you're spinning up a new delivery team with the absence of test leadership/mature test capability, trying to reduce the amount of non-essential test documentation or even implement more automated and dynamic processes, QGs can be put together quite quickly and used manually or in an automated way to provide that 'single source of truth' to feed into the wider delivery management stages.

Devino Menezes

Leading Delivery Intervention to bring in Excellence!

1 年

Very informative and relevant article Gip!

回复
Cecilia Briozzo

Software Quality Account Architect

2 年

Very interesting!

回复
Evelina Rimkute

Test Manager in Agile | Podcaster | Self-Published Writer | Inclusiveness and Community Building Advocate | ????????

3 年

Great summary! I have experience that i helps to transform Quality Gates into release readiness view, tracking also operational topics, scope, fixing, known release issues, L&P timing trends and other product related topics. Tools you mentioned supports that too (like Jira Queries in confluence). Especially it helps for sign offs.

回复
John Hughes

FX Options Product Management at TP ICAP

4 年

spot on

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了