摘:《自动化测试技术领航》
测试不仅是点点点,自动化测试不仅是写脚本用例,该站的高一点吧,抛开工具,重新看看这本书。
一、基础知识:
1、什么是自动化测试?
测试自动化技术是软件测试行业中最高端的技术之一,它是以程序测试程序,以代码代替思维,以脚本的运行代替手工测试的技术。
2、自动化测试的种类?
黑盒自动化测试(UI、接口),白盒自动化测试(单元),性能测试(压力测试),安全测试等等
3、自动化测试的优势?
-
- 回归测试更方便、可靠 。回归测试是自动化测试的主要任务和特点
- 可以快速,高效地运行更多、更繁琐的测试
- 可以执行一些手工测试做不到的测试(如并发压测、24不眠不休执行测试)
- 更好的利用资源,将测试人员从繁复的手工测中解脱出来
- 具有一致性和可重复性(有利于复现问题)
- 测试脚本可以复用(有利于兼容性测试)
4、自动化测试的劣势?
-
- 永远不可能取代手工测试(如界面测试)
- 无法保证测试的正确性(测试脚本无法保证100%正确、合理)
- 发现的缺陷少(当然这也不是它的主要任务)
- 成本投入较高,风险大
- 对测试人员技术要求较高,对测试工具也有一定要求
5、怎么样的项目适合做界面自动化测试?
-
- 项目周期长,版本不断更新
- 需求变更不频繁
- 系统中的测试对象(页面元素)基本可以正常识别
- 系统中不存在大量第三方控件
- 需要反复测试(这样才能体现自动化的功劳)
二、严格的自动化测试流程
1、合理的自动化测试切入点?
绝大部分公司以系统测试完成为标准来做为自动户测试的切入点。
2、测试自动化分析?
(1)可行性分析,项目时间、需求是否稳定、项目周期,测试工具可用性
(2)抽样demo分析,一般选择冒烟测试用例(大冒烟)来做demo,看能否成功完成脚本 ,运行通过
(3)测试需求分析
3、测试计划(没什么好说的)
4、测试设计
(1)自动化测试框架设计、开发与环境搭建
(2)自动化测试用例设计,多从手工测试用例筛选转化
自动化测试用例设计原则:
I 以正向用例为主
II 范围选取核心业务或重复执行率较高的业务流
III 不要企图自动化所有的手工测试用例
IV 自动化测试用例往往需要回到原点,执行完后回到执行前的状态
5、测试脚本设计与开发
脚本类型:
(1)线性脚本,从头到尾写
(2)结构化脚本,具有循环,分支等结构
(3)可共享脚本,可被多个用例使用
(4)数据驱动脚本,测试数据、业务流程控制分离
(5)关键字驱动脚本,脚本、数据、业务分离,数据和关键字在不同的数据表中,通过关键字来驱动业务测试
6、测试执行
(1)无人值守的测试 (jenkins)
(2)异常处理和场景恢复
7、提交自动化测试产物
测试执行情况、测试结果、分析报表、测试报告、质量情况等
8、测试脚本维护