第一篇 Selenium 和WebDriver工具篇
第一章 自动化测试基础
1.1 初识自动化测试
自动化测试有两种常见方式
1.1.1 代码驱动测试,又叫测试驱动开发(TDD)
1.1.2 图形用户接口测试: 测试框架产生用户接口事件(例如键盘敲击,鼠标单击等),并捕获事件导致的图形用户接口 的改变,以便验证可见的程序响应是否正确。
1.1.3 自动化测试在一个长周期的迭代测试中,拥有许多优点:
a.能后支持频繁的回归测试;
b.能够在软件开发过程中尽早发现缺陷;
c.能够无限循环执行测试用例;
d.定制化的系统缺陷报告;
e.更好地支持敏捷和极限开发模式;
f.避免人为因素导致的漏测
1.2 常见的自动化测试架构
1.2.1 数据驱动测试
数据驱动测试将测试脚本与测试数据放在同一个测试架构中,该测试架构提供可重用的测试逻辑,目的是减少测试维护工作量和改善测试覆盖率。
1.2.2 模块驱动测试
模块驱动测试使用独立的小脚本来对应待测系统的模块、零件和子功能。
1.2.3 关键字驱动测试
关键字驱动测试也被称为“表格驱动测试”或者“操作名测试”,它是一种软件自动化测试的方法论。它将自动化测试的创建分为两个阶段:设计阶段和实现阶段。
优点:①在一个较长的软件维护周期内,显著减少维护工作量,使得:测试用例简洁;测试用例可读性高;测试用例易于修改;新的测试用例可以很方便的复用于已存在的关键字
②关键字可以跨越多个测试用例进行复用;
③不依赖于某个语言或者某个工具;
④让员工集中精力在自己所擅长的地方
缺点:
①创建自动化测试需要更长的时间(相比于手动测试和录制/回放技术)
②需要更长的学习和掌握周期
1.2.4混合自动化测试
1.2.5 基于模型测试
1.3 自动化测试的基本流程
1.4自动化测试与人工测试合适情况对比
1.5 自动化测试的误区
①自动化测试是一种比人工测试更先进的高级测试
②测试应该追求100%的自动化
③自动化测试能够发现大量的缺陷,就发现缺陷而言,它比人工测试更有效率
④应该对一次性的软件项目采取自动化测试;
⑤自动化测试只能通过软件系统界面进行测试;
⑥自动化测试与测试自动化完全没有区别,只是叫法不同;
自动化测试(Automated Test)是指使用测试工具自动地执行某项测试任务
测试自动化(Test Automation)是指整个测试过程都是自动完成的,完全无需人工干预,体现了更加理想化的测试思想,但是实现非常困难,
⑦自动化测试只是测试部门的事情,开发部门完全不用参与;
⑧自动化测试是一次性的工作,自动化测试案例开发完成后,自动化测试工作就结束了;
⑨商业自动化测试工具更好,一定要选用商业自动化测试工具。