[置顶] 《自动化测试最佳实践》讲座总结

本文是关于《自动化测试最佳实践》讲座的总结,涵盖了自动化测试的目的、作用、与人工测试的关系,以及如何开展自动化测试。强调了自动化测试在预防缺陷、持续集成中的重要性,并探讨了如何保证测试的正确性和效率。此外,还分享了测试过程中的最佳实践,如代码级控制、自动化测试初创、缺陷预防和管理原则。
摘要由CSDN通过智能技术生成

《自动化测试最佳实践》讲座总结

2016年11月26日 - 27日,参加了为期两天的自动化测试最佳实践。讲师是业界大牛陆宏杰。他在微软工作了5年,后来又在Photoshop工作了5年。

自动化测试是软件工程中非常重要的一部分,所以这次课程涉及了很多项目管理中其它内容。在此我针对部分内容做了总结。

 

0. 为什么要做测试自动化(Why)

测试自动化是为了做持续集成。而持续集成则是为了更早地发现并解决软件缺陷,同时生成项目数据报表(Dashboard)。这些都是为了更好地管理项目。



 

1. 自动化测试能做什么(What)

1.1 自动化测试能做什么

自动化测试是为了预防缺陷。



 

# 为什么不是用自动化测试“发现”bug ?

因为bug有个属性——“版本号”(如:2.1.0)。而自动化测试主要是在提交代码前检查是否有缺陷,这时候还没有生成版本。

(各位想一下自己平时在使用缺陷管理系统(如:Bugzilla)创建bug记录时,是否有个版本号之类的属性)

 

1.2 自动化测试在系统测试中的应用

系统测试是复杂耗时的组织行为。它有几个特点:

a. 它需要大量的准备工作,如测试环境的搭建(要尽可能地模仿真实的用户环境)

b. 它需要项目组全体成员参与,扮演真实环境中的各种角色

c. 因为代价高昂,为了更充分地利用这些投入成本,一般会安排饱和的测试任务(稍稍溢出最大工作量,肯定无法全部完成)

而自动化测试目的决定了它应该适合简短快速的测试用例,不适合漫长复杂的场景。所以自动化测试不适合大规模地应用于系统测试。一般在系统测试中,可以将自动化技术用于测试环境和测试数据的准备工作,以及为重复耗时的工作开发小工具等。系统测试的主要流程还是由人工把控。

 

1.3 人工测试与自动化测试的关系

人工测试是自动化测试的需求来源,对自动化测试提出新的需求。同时自动化测试会替代简单重复性的劳动,推动人工测试朝综合性的以价值为导向的方向发展。



 

2. 如何开展自动化测试

2.1 如何实现测试自动化

没有银弹。任何一款工具,无论是商业的还是开源的,都不能满足具体项目的需求。因为只有充分控制工具本身,才能去控制被测程序。所有自动化工具都要自己写。

# 如何操控被测系统?

测试程序与被测程序运行在同一进程中,直接控制被测程序的行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值