本发明涉及计算机测试技术领域,尤其涉及一种分层架构的软件自动测试系统及方法。
背景技术:
对于大多数测试团队,时间是一个很大的障碍。很多时候,一个小小的变更要涉及大量的功能测试,时间不充足,越到产品发布阶段,回归测试变得越难,很多隐藏缺陷很难在发版前被发现。
需要尽早的加入到产品研发过程,在保证软件质量的同时,能对多变的需求做出及时反应,这些都增加了测试的要求。现有的集成测试工具,通用性好但是使用成本比较高,大多是基于界面层的测试,相对来说很不稳定,一个小小的改动要重新编辑脚本。
技术实现要素:
针对现有技术存在的不足之处,本发明的目的在于提供一种分层架构的软件自动测试系统及方法,通过此方法和配套的测试工具来大大提高测试效率。
本发明的目的通过下述技术方案实现:
一种分层架构的软件自动测试系统,包括测试工具,所述测试工具包括服务接口模块、测试用例输入模块、业务系统模块、业务数据输入模块和测试结果输出模块,所述服务接口模块用于实现软件的服务接口的接入以及数据通信,所述测试用例输入模块用于提供测试时所需的案例数据,所述业务系统模块用于对软件中的业务系统进行测试,所述业务数据输入模块用于向业务系统模块输入业务数据并进行测试,所述测试结果输出模块用于实现测试结果数据的输出,所述测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件的各项测试。
一种分层架构的软件自动测试方法,其方法步骤如下:
a、将待测试的软件分成显示层、控制层、应用层、领域层、持久层五个层架构,对显示层通过测试工具进行测试,测试工具包括服务接口模块、测试用例输入模块、业务系统模块、业务数据输入模块和测试结果输出模块;服务接口模块实现软件显示层的服务接口的接入以及数据通信,测试用例输入模块提供显示层测试时所需的案例数据,业务系统模块对软件显示层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件显示层的各项测试;
b、对应用层通过测试工具进行测试,服务接口模块实现软件应用层的服务接口的接入以及数据通信,测试用例输入模块提供应用层测试时所需的案例数据,业务系统模块对软件应用层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件应用层的各项测试;
c、对领域层通过测试工具进行测试,服务接口模块实现软件领域层的服务接口的接入以及数据通信,测试用例输入模块提供领域层测试时所需的案例数据,业务系统模块对软件领域层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件领域层的各项测试;
d、对持久层通过测试工具进行测试,服务接口模块实现软件持久层的服务接口的接入以及数据通信,测试用例输入模块提供持久层测试时所需的案例数据,业务系统模块对软件持久层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件持久层的各项测试。
本发明较现有技术相比,具有以下优点及有益效果:
本发明将各种服务接口的测试过程概括成能覆盖绝大部分测试用例的测试模型,测试模型包括关键字,专用的动作指令和测试工具,测试工具负责解析并创建测试用例,执行测试过程并记录测试结果。
附图说明
图1为本发明软件自动测试系统的结构示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明:
实施例
如图1所示,一种分层架构的软件自动测试系统,包括测试工具,所述测试工具包括服务接口模块、测试用例输入模块、业务系统模块、业务数据输入模块和测试结果输出模块,所述服务接口模块用于实现软件的服务接口的接入以及数据通信,所述测试用例输入模块用于提供测试时所需的案例数据,所述业务系统模块用于对软件中的业务系统进行测试,所述业务数据输入模块用于向业务系统模块输入业务数据并进行测试,所述测试结果输出模块用于实现测试结果数据的输出,所述测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件的各项测试。
一种分层架构的软件自动测试方法,其方法步骤如下:
a、将待测试的软件分成显示层、控制层、应用层、领域层、持久层五个层架构,对显示层通过测试工具进行测试,测试工具包括服务接口模块、测试用例输入模块、业务系统模块、业务数据输入模块和测试结果输出模块;服务接口模块实现软件显示层的服务接口的接入以及数据通信,测试用例输入模块提供显示层测试时所需的案例数据,业务系统模块对软件显示层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件显示层的各项测试;
b、对应用层通过测试工具进行测试,服务接口模块实现软件应用层的服务接口的接入以及数据通信,测试用例输入模块提供应用层测试时所需的案例数据,业务系统模块对软件应用层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件应用层的各项测试;
c、对领域层通过测试工具进行测试,服务接口模块实现软件领域层的服务接口的接入以及数据通信,测试用例输入模块提供领域层测试时所需的案例数据,业务系统模块对软件领域层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件领域层的各项测试;
d、对持久层通过测试工具进行测试,服务接口模块实现软件持久层的服务接口的接入以及数据通信,测试用例输入模块提供持久层测试时所需的案例数据,业务系统模块对软件持久层中的业务系统进行测试,业务数据输入模块向业务系统模块输入业务数据并进行测试,测试结果输出模块实现测试结果数据的输出,测试用例输入模块、业务系统模块、业务数据输入模块三者共同实现软件持久层的各项测试。
本发明将各种服务接口的测试过程概括成能覆盖绝大部分测试用例的测试模型,测试模型包括关键字,专用的动作指令和测试工具,测试工具负责解析并创建测试用例,执行测试过程并记录测试结果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。