八.软件自动化和web测试
1.软件自动化测试
1.1 自动化测试的概念
自动化测试:就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动化的测试
软件测试自动化涉及到测试流程、测试体系、自动化编译以及自动化测试等方面和整合
局限性: 不能取代手工测试、手工测试比自动化测试发现的缺陷更多、不能用于测试周期很短的项目、不能保证100%的测试覆盖率、不能测试不稳定的软件、不能测试软件的易用性
手工测试的不可替代有:测试用例的设计、界面和用户体验测试、正确性检查
测试工具;
1.白盒测试工具:分为静态测试工具和动态测试工具
2.黑盒测试工具: 分为功能测试工具(QTP)、性能测试工具(logorunner)
3.测试管理工具
自动化测试工具的特征:
1.支持脚本化语言
2.对程序界面中对象的识别能力
3.支持函数的可重用
4.支持外部函数库
5.抽象层--将程序界面中的对象实体映射成逻辑对象
6.支持数据驱动测试
7.错误处理
8.调试器
9.源代码管理
10.支持脚本的命令行方式
自动化流程:
1.可行性分析
2.测试工具选型
3.设计测试框架
4.设计测试用例
5.开发测试脚本
6.使用测试脚本
7.维护测试资产
自动化测试脚本编写方法:
自动化测试项目也像普通的软件开发项目一样,有编码阶段,主要通过测试脚本来实现所设计的自动化测试用例,自动化功能测试脚本的开发方法主要有以下几种:
1.线性的(简单录制和回放)
2.结构化的(结构控制脚本)
3.共享的(部分公共的、普通的功能脚本独立出来)
4.数据驱动的(数据从脚本中分离出来)
5.关键字驱动的(检查点和执行操作的控制分离出来)