自动化测试设计实战 - 移动广告系统自动化测试设计
1 自动化测试框架
1.1 测试流程
1.1.1 测试流程图
自动化测试包括系统的安装和配置、模拟器的安装和配置、公用测试数据的准备、测试数据和配置的更新以及自动化测试脚本。如下图:
1.1.2 测试流程说明
系统测试准备:系统的安装和配置、模拟器的安装和配置、公用测试数据的准备这些动作,是自动化测试开始的前提,在自动化测试过程中的一次性行为。在系统测试中,公共的测试数据可以供整个系统使用,这些数据在系统安装配置完成后使用自动化测试脚本创建,创建好后存放在XML文件中。使用XML存放的好处是数据的复用。
功能测试类:同属某功能的测试用例放在同一个JAVA测试类中,该测试类从XML文件中读取公共测试数据并验证测试数据的合法性,如果测试数据合法则使用这些测试数据,否则创建一套新的公用测试数据并将这套公共测试数据存放到XML文件中供其它测试类使用。同时,创建适合这个功能测试类使用的测试数据,并配置适合该功能测试类的配置参数。
测试用例:如果某个测试用例需要某些特殊的测试配置和数据,在具体的某个测试用例开始的时候进行,在准备好数据后,获取当前测试数据的状态和设置预期结果,然后执行测试步骤,当所有的测试步骤都测试完成后检查测试结果。最后,一定要恢复测试环境,如果公共测试数据或配置被修改,一定要在测试用例结束的时候恢复。
1.2 测试结构
自动化测试框架由Data, Action, Verification, Cases和Util组成。如下图:
1.2.1 Data
主要用于存放公共测试数据的定义,比如要创建的公用测试数据的定义,创建测试数据的Action在创建数据的时候从Data定义文件中读取输入,然后创建符合测试要求的测试数据。
也用于存放数据结构的定义,比如,短消息的结构体定义或某测试对象的属性定义。
Data中还会有常量定义,常量在整个系统中全局使用。
1.2.2 Action
在测试过程中需要进行的任何操作,比如:配置、创建数据、测试步骤等。
1.2.3 Verification
在测试完成后,对测试结果进行验证的类和方法。比如:检查接收到的广告内容是否正确。
1.2.4 Cases
测试用例存放目录,相关功能的测试用例放在同一测试子目录中,同一功能的测试用例放在同一个测试类中。
1.2.5 Util
主要是用于存放工具类。
1.3 命名规则
1.3.1 包(Package)
· All
other letters are lowercase
· E.g.
pushcampaign
1.3.2 类(Class)
· The
first letter of every word is capital, all other letters lowercase
· The
class including test cases should end with XXXTest.java, or else should be
XXX.java
· For
example: PushCampaignTest.java
1.3.3 变量(Variable)
· The
first letter of the first word is lowercase.
· The
first letter of the every word except the first word is capital.
· All
other letters are lowercase.
· For
example: dailyBudget.
1.3.4 常量(Constant)
· All
letters are capital
· The
name should be meaningful
· The
name of different words should be joined by “_”
· The
name should start with “DEFAULT”
· For
example: DEFAULT_COUNTRY
1.4 基本原则
自动化测试的基本原则: