随着自动化测试和人工智能技术的迅猛发展,软件测试行业正经历着前所未有的变革。这一变革不仅重塑了行业的生态,也引发了人们对软件测试职业未来的深思。
在知乎,有一个有趣的问题引发了广泛的讨论:为什么互联网公司不选择开除测试团队,转而采取众包模式,让广大网民参与测试,每找到一个漏洞就奖励100元呢?
“失业的风”最终从前端吹到了测试……
一、如果真的让大众来测会怎么样?
“开除测试,转而让大众来测”这种看似简单明快的决策,其背后涉及到的深层次问题和风险往往被人们所忽视。在理想情况下,老板通过开除专业的测试团队,转而利用大众的智慧和力量来进行产品测试,确实可以节省一大笔开支。同时,大众通过参与测试,不仅能够获得一定的报酬,还能在测试过程中提出有价值的建议和问题,为产品的改进提供助力。
这种情况下,双方都能从中受益,看似是一个完美的解决方案。然而,现实往往并不如理想那么美好。
- 质量与效率问题
大众测试虽然可以节省成本,但往往难以保证测试的质量和效率。一般情况下, 开发人员和测试人员会并行配合,在开发的同时进行测试以保证产品能够快速迭代。与专业测试团队相比,测试者的参与度和热情也很难持续保持高涨,这可能会影响到测试的进度和效果。产品只有等待开发全部结束后才能够让大众进行测试,这就会拉长产品进入市场的战线。
- 安全问题
大众测试也存在一定的风险。由于测试者的身份和背景各不相同,他们可能会在产品测试过程中泄露敏感信息或恶意攻击系统。这不仅会对公司的业务造成损失,还可能引发法律纠纷和声誉风险。
- 创新问题
从长期来看,过度依赖大众测试可能会对公司的创新能力产生负面影响。专业测试团队在测试过程中不仅能够发现问题,还能提出有针对性的改进建议。而大众测试者往往只关注表面问题,很难提出具有深度和洞察力的建议。这可能会导致公司在产品设计和改进方面陷入僵局,难以取得突破性的进展。
二、 软件测试真的可有可无吗?
在当今的软件开发过程中,软件测试的地位愈发重要。然而,这并不意味着所有的开发者或决策者都对其给予足够的重视。实际上,我们可以从这个问题中窥见一种观念:软件测试岗位似乎被视为可有可无的存在。 这种观念的存在,不仅揭示了软件测试在某些团队中的边缘化地位,也反映出对软件质量保障和用户体验的忽视。
在《敏捷成功》一书中,Mike Cohn提出了“测试金字塔”这一重要概念, 它通过视觉隐喻向我们展示了不同层次的测试。从下到上的三层分别:
- 单元测试(代码层面)
- 服务测试(模块间API测试)
- UI测试(端到端测试)
测试金字塔构建了一个健康、快速和可维护的测试组合,这让产品保持在一个稳定状态,使得用户的使用体验良好,满足用户绝大部分需求。我们不难看出,问题中所说的Bug更多停留在测试金字塔的最顶层UI测试,这只占了全部测试的10%。
我们必须认识到,软件测试并不是一项简单的、可有可无的任务。 相反,它是对软件质量和稳定性的关键保障。测试工程师负责在软件开发的不同阶段进行各种测试,包括功能测试、性能测试、安全测试等,以确保软件在各种场景下都能正常工作,满足用户的需求。在这个过程中,他们不仅要找出软件中存在的问题,还要提出改进建议,帮助开发团队提升软件质量。
然而,由于一些开发者或决策者缺乏对软件测试的深入了解,他们可能认为测试只是开发过程中的一个附加环节,甚至将其视为一种负担。这种观念不仅忽视了软件测试在保障软件质量方面的重要作用,还可能导致开发过程中的问题无法及时发现和解决,最终影响软件的稳定性和用户体验。
因此,产品开发的早期阶段需要将测试交给专业的内部团队,产品成熟阶段可以考虑进行公开的测试活动,例如很多游戏在正式上线之前会抽取部分玩家进行公测,以确保游戏在上线后能提高用户的使用感。
随着软件行业的不断发展,软件测试的重要性日益凸显。越来越多的企业和团队开始意识到,只有将软件测试作为开发过程中不可或缺的一部分,才能真正确保软件的质量和用户体验。例如,许多大型互联网公司都设立了专门的测试团队,负责全面覆盖软件测试的各个方面。同时,随着自动化测试技术的发展,测试工程师也能够更高效地完成测试任务,为开发团队提供更好的支持。
因此,我们应该摒弃将软件测试视为可有可无的观念,重新认识其在软件开发过程中的重要地位。只有这样,我们才能在激烈的市场竞争中保持竞争力,为用户提供更加优质的产品和服务。
三、 禅道团队如何做?
软件一旦上线,用户的使用就是对软件的不断测试。用户在使用过程中,可能会遇到各种各样的问题,如界面卡顿、功能缺陷、数据丢失等。这些问题不仅影响了用户的使用体验,还可能对软件的品牌形象造成负面影响。因此,了解与产品性能相关的用户痛点至关重要。
为了深入了解用户在使用软件过程中的真实体验,开发者需要建立一个有效的用户反馈渠道。 这一渠道不仅可以帮助开发者及时获取用户的反馈和建议,还能够为产品优化提供宝贵的数据支持。通过用户的反馈,开发者可以了解到哪些功能最受欢迎,哪些功能存在缺陷,以及用户在使用过程中的具体痛点。
以禅道团队为例, 我们建立了多元化的沟通渠道,包括技术问答、论坛、QQ群、邮件等,以便及时捕捉用户的声音。
对于这些反馈,我们会有不同的处理方式:
- 如果能够直接解答,我们的技术支持同事会直接给解决方案。
- 如果是功能性改进意见或是Bug,我们会通过禅道项目管理软件记录到反馈模块中,然后安排专门的同事对反馈进行梳理。 如果是需要紧急处理的,我们会转成工单,安排应急响应小组的同事给临时解决方案。临时解决方案会以补丁的方式交付给我们的客户,然后再转成需求或Bug进行相应的处理。
- 如果反馈里面不需要紧急处理的,我们会判断是需求还是Bug,然后进行相应的转化。需求和Bug会根据优先级来进行排期,进入正常的产品研发流程。
- 当发布之后,我们会通知相应的反馈者。
四、 写在最后
在探讨专业岗位的态度问题时,我们不得不提及一个经常被误解和误用的概念——反智主义。反智主义,简而言之,就是对知识和智慧的蔑视和拒绝。
在现今这个快速发展的社会中,对待任何一个专业岗位,我们都应保持一颗敬畏之心,将反智主义视为一种玩笑的态度,而绝非我们行事的准则。