软件自动测试架构设计
作者:网络转载 发布时间:[ 2011/9/22 9:51:42 ] 推荐标签:
又如:短信接收发送指令接口,指令接口的工作是实现发送MT,收取状态报告并把收到的状态报告的状态值与期望的状态值进行比较,返回比较结果给调用者;收到本地MO,并把收到到的本地MO与期望的MO进行比较,返回比较结果给调用者。
3.1.3驱动程序
驱动程序是实现具体的指令操作的程序,被指令接口调用完成具体的测试工作,并将测试结果返回给指令接口。驱动程序是具体操作的完成者。
比如,话单检查驱动程序,用于对特定话单格式的话单文件进行跟踪,并且能够把跟踪结果解析成话单,话单检查指令接口会调用话单驱动程序完成具体的每条话单的各个子段的比较,驱动程序完成检查后将结果返回给指令接口。
3.1.4 辅助功能
实现系统的辅助功能,比如案例文件的处理,底层socket处理,文件处理或者数据库操作。
3.2 测试案例
3.2.1 测试案例的组成
测试案例包括了业务逻辑、测试步骤以及输入与输出,使用XML存储测试案例,可以提高测试案例的可读性、通用性以及可维护性。不过这样有一个不好的地方是测试案例看起来会比较庞大,不够轻盈,但是非常清晰,即使是对测试案例完全不熟悉的人,只要看了也自然很快对业务流程有了一个大致的了解;而且,业务逻辑体现在测试案例,也会增强系统的扩展性,如果需要增加某些测试步骤或修改测试数据,只需要修改测试案例即可。
测试案例主要由测试案例ID、测试案例描述、以及测试操作指令所组成。测试案例ID是测试系统的案例ID,测试描述包括测试案例的简要描述、测试产品名称、测试功能点、测试版本、测试类型以及测试案例的作者,测试操作指令是测试案例的核心,每个测试步骤是一个操作指令,操作指令的顺序与业务逻辑或测试步骤相关。每个操作指令包括:
(1) 操作指令ID,在Test Case中;
(2) 操作指令接口名称,自动测试工具所提供的指令接口名称,在一个Test Case中可以出现多次;
(3) 操作指令接口动作名称,自动测试工具所提供的指令接口的具体操作的名称,在一个Test Case中可以出现多次,自动测试工具操作指令接口名称和操作指令接口动作名称调用不同的指令接口的功能完成相关的动作;
(4) 操作指令的描述;
(5) 模拟接口的信息,如果需要使用到模拟接口,需要将模拟接口相关的信息再测试案例中输入,模拟接口相关信息应该参数化;
(6) 输入数据,也是执行这个操作步骤所需要输入的测试数据或是预期的结果或延时等待时间等。
(7) 输出数据,也是这个操作步骤的输出结果。
一个测试案例是一个完整的测试流程,由不同的操作步骤组成,每个操作步骤是一个操作指令,一个完整的测试案例可能包括这些操作指令:
(1) 预置测试环境,比如修改某些特殊的配置、设置模拟接口的返回值、检查某些数据等;
(2) 测试步骤,一个测试案例可能有多个测试步骤,每个测试步骤为一个操作指令,操作指令的输入是测试需要输入的数据,动作是需要执行的测试操作,测试案例的测试是由一系列的操作指令完成;
(3) 检查测试结果,一个测试案例中可能存在多个检查点,每个检查点为一个操作指令,这操作指令的输入是预期的测试结果,操作指令的动作是获取测试结果并将测试结果与预期测试结果相比较,如果相等则测试通过,否则测试失败;
(4) 恢复测试环境,测试完成后应该恢复测试环境的原始数据或相关的资源。
为了提高测试的扩展性与灵活性,测试案例中的测试数据应该可以参数化,这样即使是测试数据发生了变化,只需要修改参数的值即可,而不必把所有的测试案例的某些数据逐个修改。这些参数以及参数的值可以存放在配置文件中,被测试案例引用,自动测试工具根据测试案例的参数的名称到相应的配置文件中读取这个参数的值。
3.2.3 测试案例的存放
对于不同的产品的测试案例,应该存放在不同的主目录中,对于同一个产品的测试案例,根据不同的功能存放于不同的子目录中。每个主目录或子目录应该有一个测试案例的ID文件,在这个文件中的测试案例会被自动测试工具执行自动测试。测试案例ID文件中,每一行为一个测试案例,每个测试案例由序列号、测试案例ID和该测试案例的描述组成。测试案例的存放位置,自动测试工具可通过配置文件获取。
3.3 自动测试执行
3.3.1 测试案例的编写与测试
自动测试工具实现后,接下来很大部分的工作是测试案例的编写和测试了,根据业务逻辑和自动测试案例的规范将测试案例系统中的测试案例转化成自动测试案例脚本,自动测试案例脚本编写完成后对这些脚本进行测试,确保自动测试案例脚本能够被正确地执行且正确地测试了测试案例所描述的功能。在利用自动测试工具进行测试之前,首先要测试自动测试工具和案例能否正确地进行相关功能的测试,否则自动测试的结果不可信,自动测试也没有意义了。
3.3.2 自动测试的执行
自动测试案例编写完成后,自动测试可以在无人干预的情况下进行测试了。
(1) 需要进行自动测试的测试案例的ID写在一个文件中,自动测试工具只执行这个文件中的测试案例;
(2) 自动测试案例的目录、数据库连接、模拟接口的IP和Port等参数写在配置文件中,自动测试工具会到配置文件指定的目录读取测试案例,也会读取自动测试工具所使用到的数据库连接信息和模拟接口信息;
(3) 自动测试案例所使用到的参数写在参数配置文件中,自动测试工具根据自动测试案例的参数的名字到参数配置文件中读取该参数的值代替自动测试案例中的参数;
(4) 指定测试结果的输出文件,自动测试工具在测试完一个测试案例之后,将这个测试案例的测试结果输出到测试结果文件中,测试结果文件每行表示一条测试案例,每条测试案例的输出结果包括测试案例的ID,测试案例的功能描述和测试案例的结果;
(5) 自动测试工具在测试案例的过程中,需要记录测试日志,包括测试案例ID,读取测试案例的内容,测试步骤,各个测试步骤的测试结果,测试结果的比较等;
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11