软件自动化测试的产生
- 软件的工作量大
- 软件测试包含了大量的重复操作性
- 软件测试的大部分工作为非智力创造性
- 测试过程中手工模拟真实环境困难
- 手工测试获得测试结果不够准确
软件自动化测试的意义
- 减少测试人员的工作量
- 提高了测试效率
- 增强了测试的准确性
- 无人值守、自动运行
自动测试收集结果,出报告,执行过程中可以碎片化做其他事情。但跟爬虫一样,无人值守依赖于代码的准确性和健壮性,如果脚本写的不好,会让自动化测试很困难。
自动化测试的阶段
设计,执行,发现缺陷,跟踪
第一轮进行手工测试,确定测试基线,来发现缺陷
最适合自动化测试的时期是回滚测试,脚本执行最适合自动化工具
如何开展自动化测试
自动化测试只有在多次运行后,才能体现出自动化的优势,只有不断地运行自动化测试,才能有效防止缺陷,减轻测试人员手工回归测试的工作量。
什么样的类型适合自动化测试:
- 如果一个项目是短期的,并且是一次性的项目,不适合开展自动化测试
- 不宜在一个进度非常紧迫的项目中开发自动化测试
项目的影响:自动化测试是否对项目进度,覆盖率,风险有积极作用
复杂度:自动化是否容易实现,包括数据和其他环境的影响
时间:自动化测试的实现需要多少时间,是否比手工明显提升
早期需求和代码的稳定性:经常变化的先不进行自动化测试
维护工作量:代码是否可以长期保持稳定,功能特性是否进化
覆盖率:自动化测试是否覆盖程序的关键特性和功能
资源:测试组是否有足够的人力资源
自动化测试的执行:负责执行自动化测试的小组是否有足够的技能和时间来进行自动化测试
自动化测试何时开始介入
界面稳定后,可以考虑开始介入
自动化测试的技能储备:
- 测试的基础知识
- 自动化测试编程
以下是整理的专业测试人员的必备技能,数据来源自拉勾网:
1)精通java编程语言,熟悉Maven构建工具及Jenkins持续构建工具;
2)熟悉http请求原理及协议,用过postman, fiddler等接口请求工具;
3)熟悉linux和mysql,熟悉基本linux命令,能够编写基本的查询语句;
4)具有接口自动化测试经验或客户端自动化测试经验(Android, IOS);
5)使用过Selenium, Appium等前端自动化测试工具;
6)使用过jmeter, loadrunner等接口/性能测试工具。
自动化脚本编写:
商业工具和开源工具
先决定用什么工具 qtp,uft,selenium,商业工具更好用,但是价格贵,中小企业消费不起
- PC自动化(B/S,C/S)
- 移动端自动化
自动化测试三核心:用例 + 数据 + 代码
测试用例,设计的输入输出的情况
工具决定脚本,代码
网友评论