Google软件工程流程之自动化测试是实现软件变更的基础

测试发展的核心是开发人员驱动的自动化测试实践。自动化测试可以防止缺陷逃逸。在开发周期中,一个缺陷被捕获的时间越晚,成本越高,这个成本呈指数增长自动化测试提升了变更的信心和能力。

编写测试的行为也改变了系统的设计,测试可以告诉你关于设计选择的很多信息。系统与数据库的耦合是否过紧?API是否支持所需的用例?系统能处理边界用例吗?这将使得软件更加模块化,具有更大的灵活性。

一个简单的测试,通常包括四个部分。1、一个你正在测试的单一行为,一般来说是一个你正在调用的方法或API。2、一个特定的输入,可能是一些需要传给API的值。3、一个可观察到的输出或行为。4、一个受控环境,例如一个单独隔离的进程。

测试并不是事后才考虑的事情。专注于质量和测试是我们工作的一部分。未将质量融入我们的产品和服务,将不可避免导致糟糕的结果。我们将测试作为我们工程文化的核心。

简单地说,自动化测试包含三个活动:编写测试、运行测试和对测试失败做出响应。一个自动化测试是一小段代码,通常是一个函数或方法。它调用你要测试的大型系统的某个独立部分。

测试的好处包括:更少的调试,增强变更的信心,作为活文档,简化评审,驱动职责分离模块化设计,带来快速高质量的发布。

编写尽可能小粒度的测试,在速度、资源利用率和稳定性方面做出一定保证。所有测试都力求封闭性,测试应包含设置、执行和环境回收所必须的所有信息。单元测试是窄测试范围,集成测试是中型范围,功能测试、端到端测试或系统测试是大范围测试。

采用开发人员驱动的自动化测试是最具变革性的软件工程实践之一,使我们能用更大的团队构建更大的系统。自动化测试是实现软件变更的基础,要进行大规模测试,必须实现自动化测试。

d717681a6178353de2fe5b2b74c8cfb5.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值