十大测试原则,测试工程师必须了解

在软件开发的世界里,质量不是靠最后的检查来保证的,而是需要在整个生产过程中不断地进行改进。爱德华·戴明这句话提醒我们,作为开发者,我们应当重视产品质量,而不仅仅是关注功能的实现。

许多组织往往将测试看作是次要的工作,认为它是一次性的,只在功能开发完成后进行。然而,测试不仅仅是用户行为的记录,它与产品的需求紧密相关,并在虚拟层面与功能代码相连。如果测试提供了价值,那么它就应该像产品核心功能一样被版本化、维护、照顾和尊重,包括测试用例规范、设计和技术文档以及错误报告。

在功能开发上花费的时间越多,并不意味着需要花费更多的时间来完善、测试和探索它。相反,这更符合传统开发的方式,有测试环境、阶段环境和许多关于用户如何与产品交互的假设。然而,在云计算时代,我们应该采用微小的、渐进的变化,在推广到整个世界之前,先向有限的受众推广。

以下是编码新世界的10大法则:

  1. 人人皆测试:团队的每一位成员都应该对产品的质量负责,无论他们使用什么流程,无论他们生产什么产品,无论他们在哪个行业。

  2. 度量风险而非覆盖率:在追求完美之前,应该关注对业务最关键的六个用户流的风险。

  3. 测试的是“金钱”想要什么:每个业务、每个部门和每个团队都有一组核心功能,这些功能对收入的影响比其他功能更大。应该优先考虑这些功能的测试。

  4. 广度比深度更重要:浅层测试产品的所有区域比深层测试产品的某些区域更重要。

  5. 唯一完美的信号是用户的信号:在用户与软件交互之前,你所做的一切都是理论性的。测试应该与用户旅程相关联,以评估测试策略的有效性。

  6. 代码在可测试(并经过测试)之前是不完整的:可测试性是对代码的各个部分进行检测的行为。如果不允许对这些信号进行轮询和解释,很难判断正确的行为。

  7. 每项测试都应导致明确的行动:如果不知道当测试失败时该怎么办,那么测试就没有提供价值。

  8. 始终测试高层级:软件测试有“层”,从高到低。高层测试对于强制不同团队开发的不同组件之间的交互至关重要。

  9. 从不链接测试:所有测试都应在不考虑任何其他测试状态的情况下执行。

  10. 首选最紧密的反馈回路:所有测试都是反馈回路。他们从特定的角度贯穿产品,并向特定的人或团队提供反馈。

这些法则并不是完整的,测试领域还有很多限定守则,而且使用这些法则时的上下文环境也很重要。也许某次测试会打破一两条法则,那也无妨,重要的是寻求持续改进,而非特定一次的完美。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值