Master
ThoughtWorks
菜单
关闭
  • 产品及服务
    • 概况
    • "客户体验、产品及设计业务线 "
    • 数据战略、工程及分析业务线
    • 数字化转型及运营业务线
    • 现代化企业、平台及云业务线
  • 合作伙伴
    • 概况
    • 汽车企业
    • 医疗企业
    • 公共服务机构
    • 清洁技术,能源与公用事业
    • 媒体和出版业
    • 零售业和电商
    • 金融和保险企业
    • 非盈利性组织
    • 旅游业和运输业
  • 洞见
    • 概况
    • 特色

      • 技术

        深入探索企业技术与卓越工程管理

      • 商业

        及时了解数字领导者的最新业务和行业见解

      • 文化

        分享职业发展心得,以及我们对社会公正和包容性的见解

    • 数字出版物和工具

      • 技术雷达

        对前沿技术提供意见和指引

      • 视野

        服务数字读者的出版物

      • 数字化流畅度模型

        可以将应对不确定性所需的数字能力进行优先级划分的模型

      • 解码器

        业务主管的A-Z技术指南

    • 所有洞见

      • 文章

        助力商业的专业洞见

      • 博客

        ThoughtWorks 全球员工的洞见及观点

      • 书籍

        浏览更多我们的书籍

      • 播客

        分析商业和技术最新趋势的精彩对话

  • 加入我们
    • 概况
    • 申请流程

      面试准备

    • 毕业生和变换职业者

      正确开启技术生涯

    • 搜索工作

      在您所在的区域寻找正在招聘的岗位

    • 保持联系

      订阅我们的月度新闻简报

  • 关于我们
    • 概况
    • 我们的宗旨
    • 奖项与荣誉
    • 多元与包容
    • 领导层
    • 合作伙伴
    • 辅助功能
    • 新闻
  • 联系我们
China | 中文
  • United States United States
    English
  • China China
    中文 | English
  • India India
    English
  • Canada Canada
    English
  • Singapore Singapore
    English
  • United Kingdom United Kingdom
    English
  • Australia Australia
    English
  • Germany Germany
    English | Deutsch
  • Brazil Brazil
    English | Português
  • Spain Spain
    English | Español
  • Global Global
    English
博客
选择主题
查看所有话题关闭
技术 
敏捷项目管理 云 持续交付 数据科学与工程 捍卫网络自由 演进式架构 体验设计 物联网 语言、工具与框架 遗留资产现代化 Machine Learning & Artificial Intelligence 微服务 平台 安全 软件测试 技术策略 
商业 
金融服务 全球医疗 创新 零售行业 转型 
招聘 
职业心得 多元与融合 社会改变 
博客

话题

选择主题
  • 技术
    技术
  • 技术 概观
  • 敏捷项目管理
  • 云
  • 持续交付
  • 数据科学与工程
  • 捍卫网络自由
  • 演进式架构
  • 体验设计
  • 物联网
  • 语言、工具与框架
  • 遗留资产现代化
  • Machine Learning & Artificial Intelligence
  • 微服务
  • 平台
  • 安全
  • 软件测试
  • 技术策略
  • 商业
    商业
  • 商业 概观
  • 金融服务
  • 全球医疗
  • 创新
  • 零售行业
  • 转型
  • 招聘
    招聘
  • 招聘 概观
  • 职业心得
  • 多元与融合
  • 社会改变
软件测试技术

How We Eliminated the Gatekeeper of Quality

Ashwini Ingle Ashwini Ingle

Published: Jul 10, 2014

In the past couple of years, I’ve worked as a part of the ThoughtWorks TechOps delivery team. Our work largely entails maintaining and enhancing internal system portals for employee information, resource management, client management etc.

Since my first assignment on the TechOps team, which was building a test automation framework from scratch, I have tested on various other internal systems that span numerous domains and technologies. A key challenge across all my projects as a Quality Analyst (QA) has been getting the entire team to have an active stake in the application’s quality. On the last project I worked on, an application for the Sales team, we hit all the right notes as far as collaborating on quality goes. It made a huge difference to our test coverage, team morale and most importantly - the app’s quality. Here are a few takeaways that helped us reach our testing sweet spot:

#1 Involve the QA from the start

The headstart gained from involving the QA from the start cannot be understated. It helps with analyzing and understanding business requirements from the user’s perspective leading to use-case scenarios that stand the test of time (and the UATs). While the BA focuses on what the system should do, the QA provides understanding of the boundaries around it, and the limits of the system. It also helps the QA to understand the business value of the requirements and put Behavior Driven Testing into practice.

#2 “Four Amigos” from Story Kickoff to Signoff

Having the Business Analyst (BA), QA, experience designer (XD) and developer pair (extending the Three Amigos of software development) come together at story kickoff not only helps creating a shared understanding of the story, but also helps the story to be understood through various viewpoints. The story scenarios are fully detailed and defects are prevented from the start rather than waiting for them to appear.

But this collaboration shouldn’t end at kickoff, but persist till signoff. For instance on our project, developers couldn’t move the story to 'Development Done' unless it was showcased together with the BA-QA-XD. This helps a lot in reducing the “testing re-testing” cycle that normally takes place both due to missed requirements as well as defects found after the story has moved to 'In QA' (with the developers having moved on to a new story). I can proudly say that most stories had few to no bugs by the time they reached my plate!

It also helps with sustaining a healthy test pyramid, as I detail in the next point.

#3 Encourage a healthy Test Pyramid

Having the team “own” quality is key to developing a robust test pyramid and achieving optimal test coverage. When developers thoroughly test their code using unit or integration tests, it pushes the majority of the tests to a lower, more granular level and we benefit from fast feedback and lower maintenance effort. This also enables us to swap numerous (and typically brittle) UI-level tests for fewer macro-level tests that are meaningful to the business.  

Owing to the emphasis on “collaborative quality” on our project, the developers write unit, integration, JavaScript, and contract-level tests where appropriate. We have one single, browser-level, automated user journey that tests the end-to-end critical happy path of the system. It is a single functional test that we can easily adapt to changes in the user journey or the addition of new features to the system. This is how we experienced the sustainable implementation the Test Pyramid and awesome test coverage.

When everyone has a stake in the application’s quality, not only are writing tests collaborative, but fixing tests too. Fixing the broken builds becomes a team exercise, and a huge learning experience for every role.

I hope these pointers help you encourage your team to own the application’s quality. Do share your thoughts and suggestions too.

Special thanks to Sreedevi  TK, Avadhut Diwane, Arvind Awte and Christopher Kozak for all their wonderful guidance.

Master
政策声明 | 现代奴役声明 | 辅助功能
Connect with us
×

WeChat

QR code to ThoughtWorks China WeChat subscription account
© 2021 ThoughtWorks, Inc.