一、什么是自动化:使用工具达到代替或辅助手工任务的行为。
二、自动化测试的适用范围:
1.软件需求变动不频繁:测试脚本改动就比较少。
2.项目周期较长:自动化方式收益高。
3.自动化测试脚本可重复使用:测试可以模版化,多次使用。
三、Web自动化实时流程:
确定目标(对什么软件进行自动化测试)→自动化需求分析(选择那些功能来做自动化)→实施方案和工具选型(选择什么样的方式[编写,录制],那种编程语言和工具来编写脚本)→制定计划(时间管理,人员安排,风险预估)→执行计划(评审计划合格通过后,开始执行预定的计划)→框架设计(进行软件的一些基础功能和软件的业务逻辑封装为架构,改变数据从而适应需求变化达到可重用目的,脚本重用得少可以跳过这个阶段)→自动化测试用例设计→测试环境搭建(搭建好测试需要的环境,准备好数据)→测试脚本编写→测试运行→结果分析→脚本和框架维护
四、自动化测试用例编写原则:
一个用例为一个完整的测试场景,如验证登录:打开浏览器,登录,关闭浏览器。
一个用例只验证一个功能点,不要试图在用户登录后把所有功能都验证一遍。
尽可能少的编写逆向测试用例。一方面逆向测试用例太多,一方面复杂的逆向测试用例实现困难且容易出错。
两个用例之间尽量避免产生依赖。
一条用例完成测试后需要对测试场景还原,以免影响其它用例执行。
用例尽可能细化,每个数据交互、逻辑依赖、控件操作。
五、自动化架构方式:
•线性测试:一个用例对应一个脚本的方式,独立性高,不便于管理和维护。需求如果改变脚本需要逐一修改。
•模块化驱动测试:常用或重复功能独立成公共模块,需要用到里面的操作时,直接调用减少重复性。
•数据驱动测试:简单说就是参数化,通过把固定的数值参数表示来调用,如登录名和密码很多,采用参数化登录名和密码,通过获取外部的登录名和密码达到驱动脚本的目的。
•关键字驱动测试:把数据转换为关键字来驱动,通过对底层代码封装,以GUI方式让使用者填写对应数据调用脚本。类似Excel表格转换为统计图,在对应的表格修改数据,统计图实时发生变化。可以极大地推广自动化测试,即使不懂代码的人也可以进行自动化测试。