CN114265769A - 一种基于python脚本测试用例的测试系统及方法 - Google Patents
一种基于python脚本测试用例的测试系统及方法 Download PDFInfo
- Publication number
- CN114265769A CN114265769A CN202111507242.6A CN202111507242A CN114265769A CN 114265769 A CN114265769 A CN 114265769A CN 202111507242 A CN202111507242 A CN 202111507242A CN 114265769 A CN114265769 A CN 114265769A
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- execution
- module
- scene
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 404
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims description 68
- 230000003993 interaction Effects 0.000 claims description 41
- 238000012544 monitoring process Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 19
- 238000013522 software testing Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 47
- 238000005516 engineering process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000001556 precipitation Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及软件测试技术领域,公开了一种基于python脚本测试用例的测试系统及方法,该测试系统,包括依次通信相连的工程管理模块、用例管理模块、测试用例执行与监控模块,所述工程管理模块用以生成、编辑及输出工程信息,所述用例管理模块用以与被测件交互字节流数据并生成测试用例,所述测试用例执行与监控模块用以自动执行测试用例生成测试用例执行结果,并存储、更新、监控测试用例执行结果。本发明解决了现有技术存在的测试自动化程度、测试效率及测试质量亟待进一步提高等问题。
Description
技术领域
本发明涉及软件测试技术领域,具体是一种基于python脚本测试用例的测试系统及方法。
背景技术
随着计算机技术的迅猛发展,软件在各个领域的需求均愈发迫切,导致软件研制周期大幅缩减,而软件测试作为研制末端的质量控制活动,其周期更是被大幅压缩。如何有效提高软件测试的效率,已成为软件研制过程亟须解决的重要问题。
目前,为解决测试效率等问题,最常用的手段为自动化测试,但现有的自动化测试技术更关注将人工执行转化为软件自动执行的技术,缺乏对测试的管理,有关测试状态的监控,测试用例的复用、共享等管理工作仍然依赖人工开展。而现有的测试管理系统仅能对测试用例、数据进行静态管理,无法支持测试用例动态执行及测试结果自动获取等自动化测试功能。由此可见,现有自动化技术与测试管理技术功能单一,无法有效衔接与兼顾,导致测试管理与自动化测试执行过程中仍需要大量人工工作,影响测试效率与质量的提升。
发明内容
为克服现有技术的不足,本发明提供了一种基于python脚本测试用例的测试系统及方法,解决现有技术存在的测试自动化程度、测试效率及测试质量亟待进一步提高等问题。
本发明解决上述问题所采用的技术方案是:
一种基于python脚本测试用例的测试系统,包括依次通信相连的工程管理模块、用例管理模块、测试用例执行与监控模块,所述工程管理模块用以生成、编辑及输出工程信息,所述用例管理模块用以与被测件交互字节流数据并生成测试用例,所述测试用例执行与监控模块用以自动执行测试用例生成测试用例执行结果,并存储、更新、监控测试用例执行结果。
作为一种优选的技术方案,所述用例管理模块用以生成包含有依次通信连接的通信层文件、场景层文件、交互层文件的测试用例框架,所述通信层文件用以与被测件的通信连接建立测试数据交互,所述场景层文件用以生成测试数据及判定测试用例执行通过或未通过结果,所述交互层文件用以同测试用例执行与监控模块进行信息交互,将实现测试用例执行通过或未通过结果及过程数据上报至测试用例执行与监控模块。
作为一种优选的技术方案,通信层文件中存储有测试用例与被测件的通信连接类型信息及通信参数信息。
作为一种优选的技术方案,场景层文件中存储有测试场景通用信息及测试人员自定义测试场景信息。
作为一种优选的技术方案,交互层文件通过进程间管道通信的方式同测试用例执行与监控模块进行信息交互。
作为一种优选的技术方案,首先测试用例执行与监控模块能具体用以:根据用户选择,获取测试用例主文件名称;然后调用subprocess.Popen()函数以子进程方式运行测试用例主文件,从主文件中动态获取用户自定义场景并加载至测试用例中;再按照测试用例逻辑关系,调用通信层、场景层、交互层,与被测件建立通信连接进行测试数据交互。
作为一种优选的技术方案,还包括与所述用例管理模块通信相连的测试知识库模块,所述测试知识库模块用以存储典型测试用例及共性测试用例,以供测试复用。
作为一种优选的技术方案,还包括同测试用例执行与监控模块通信相连的一键式问题复现模块,所述一键式问题复现模块用以执行需要复现的测试用例。
作为一种优选的技术方案,还包括同测试用例执行与监控模块通信相连的回归测试模块,所述回归测试模块用以自动化批量对测试用例进行回归测试。
一种基于python脚本测试用例的方法,基于所述的一种基于python脚本测试用例的测试系统,包括以下步骤:
S1,利用工程管理模块生成、编辑及输出工程信息;
S2,利用用例管理模块与被测件交互字节流数据并生成测试用例;
S3,利用测试用例执行与监控模块自动执行测试用例生成测试用例执行结果,并存储、更新、监控测试用例执行结果。
本发明相比于现有技术,具有以下有益效果:
(1)本发明结合测试管理与自动化测试技术,实现测试工程管理、测试用例管理、测试用例自动执行与监控、一键式问题复现、自动化回归测试、测试知识库等功能,解决了因现有测试管理及自动化测试技术无法有机结合与兼顾导致的测试效率低的问题,减少测试管理及执行过程中的人工工作量,提高软件测试质量与效率;
(2)本发明能够减少测试执行过程中人工干预,实现测试及回归的全自动化,显著提高测试效率,同时减少测试执行过程中由于人工干预不当引起的错误;
(3)本发明通过对测试用例的统一管理,实现对典型、共性测试知识的沉淀与优化,进一步提高测试人员测试设计能力,保障测试质量和效率。
附图说明
图1为本发明所述一种基于python脚本测试用例的测试系统及其与外界通信的框架结构示意图;
图2为测试工程的数据库建模结构示意图;
图3为工程管理模块工作流程示意图;
图4为测试用例框架结构示意图;
图5为用例管理模块的工作原理示意图;
图6为新增及编辑测试用例的流程示意图;
图7为导入测试用例的流程示意图;
图8为测试用例执行与监控模块的工作原理示意图;
图9为测试工程管理操作界面示意图;
图10为一键式问题复现模块操作界面示意图之一;
图11为一键式问题复现模块操作界面示意图之二。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1至图11所示,为解决背景技术中所指出来的问题,本发明公开了一种基于python脚本测试用例的测试系统,对自动化技术与测试管理技术进行有机结合。在测试设计和执行方面,具备python自动化测试用例的框架生成、测试用例执行、测试批量回归、问题复现能力,在测试管理方面,具备测试工程管理、测试问题和测试记录管理,以及测试用例状态显示等能力。技术上本系统采用python语言,基于pyqt5库、pymongo库和mongoDB数据库实现。
该系统由工程管理模块、用例管理模块、测试用例执行与监控模块、一键式问题复现模块、批量自动化回归、测试知识库模块组成,具体见图1所示。
1、工程管理模块;
工程管理模块实现配置项测试或系统测试的测试工程维护,支持新建工程、打开已有工程、编辑或删除工程等,测试工程包括软件负责人、测试人员、项目代号等要素,测试用例、测试问题、测试记录等信息均基于测试工程进行管理。测试工程MongoDB数据建模见图2。
工程管理模块中工程新建时,由测试人员填入工程具体信息,确定后保存至MongoDB;
工程编辑时,由测试人员编辑工程信息,确定后保存至MongoDB。详细实现流程见图3。
2、用例管理模块;
用例管理模块包括对测试用例的维护与管理,支持通过本系统新建、知识库导入、本地导入3种方式生成测试用例。
为实现对测试用例的高效管理、快速复用以及自动执行,本系统针对测试用例定义统一框架,并基于测试用例框架自动生成一组python脚本程序集合,作为测试用例进行统一管理。
本系统生成的测试用例有以下特点:能够同本自动化测试管理系统交互测试用例执行结果;能够独立同被测件建立通信连接交互字节流数据;能够支持测试人员自定义数据收发和执行结果判定场景设计,且自定义部分同测试用例其他功能独立。
测试用例包括测试用例框架及自定义模块,测试用例设计如下。
测试用例框架分为交互层、场景层、通信层(交互层、场景层、通信层为包含有数据的文件,也可分别称为交互层文件、场景层文件、通信层文件),各个层内紧耦合,层之间通过pyqt5消息通信,测试用例框架结构见图4,测试用例逻辑关系见图5,具体特征如下:
1)、通信层:
完成同被测件的通信连接建立、测试数据交互;支持的链路类型包括TCP客户端、TCP服务端、UDP点对点、UDP组播、UDP广播;链路基础信息包含端口、本地ip、对端ip等,不同类型的通信链路,对应系统内封装的链路类型python程序,新建测试用例时,将封装好的python程序导出至项目指定路径下。
2)、场景层:
完成测试数据生成、执行结果判定,并与通信层及交互层进行信息交互;由于不同的用例所涉及测试数据及执行结果判定准则具有差异,系统定义场景层基类SceneBaseClass,供用户继承及调用,实现自定义测试场景的快速构建;基类SceneBaseClass提供的接口包括:
1)测试用例初始化时的场景加载接口Scene_LoadInit函数,完成场景必要的初始化;
2)场景运行接口Scene_Run函数,启动场景;
3)场景层中测试用例执行成功回调接口Scene_CaseRunPass函数内发送Pyqt5消息至交互层InterAct_CaseRunPass函数,进而同本管理系统交互测试用例执行通过结果;
4)场景层中测试用例执行失败回调接口Scene_CaseRunFailed函数内发送Pyqt5消息至交互层InterAct_CaseRunFailed函数,进而同本管理系统交互测试用例执行未通过结果;
5)同通信层的字节流发送接口Scene_SendData2Link函数,该函数内发送pyqt5消息至通信层,通信层接收后消息后发送数据至被测件;
6)同通信层的字节流接收回调函数Scene_RecvDataFromLink函数,该函数内发送pyqt5消息至场景层;
7)测试用例ID(python中UUID模块生成的全局唯一ID,长度36字节)。
3)、交互层:
负责同测试用例执行与监控模块进行执行结果交互,通过进程间管道通信的技术方式(python中Popen模块)实现测试执行结果及过程数据上报至测试用例执行与监控模块。
测试执行结果上报时的通信协议为:
类型:字符串;
长度:46字节;
协议:1~36字节,由python基础模块uuid1生成的全局唯一id,字符串形式,长度为36字节;37字节为“%”,38~46字节为运行结果,运行成功为字符串RUNPASSED,运行失败为字符串RUNFAILED。
测试用例执行过程数据上报时的通信协议为:
类型:字符串;
长度:不定长;
协议:1~36字节,由python基础模块uuid1生成的全局唯一id,字符串形式,长度为36字节;37字节为“%”,当前字符串剩余所有的长度为当前测试用例的执行输出。
基于测试框架自动生成测试用例的步骤为:
a、根据测试人员输入的通信类型、通信配置参数,以及平台固有的通信链路模型文件,调整部分参数后,自动生成所选通信类型的通信协议py文件,协议文件列表如下:
tcp_client.py(tcp客户端)
tcp_server.py(tcp服务端)
udp_peer_to_peer.py(点对点)
udp_multicast.py(组播)
udp_broadcast.py(广播)
b、自动生成场景层通用基类SubDataScene.py文件;
c、自动生成交互层通用类SubInterAct.py文件
d、根据测试人员输入的测试用例名称,自动生成测试用例主文件,如:TestCase_Demo.py,该文件是测试用例的入口,主要初始化通信层、加载用户自定义场景,并运行场景;
e、使用python新建类,并继承SubDataScene类后,自定义场景收发数据和执行结果判定逻辑,并将自定义文件存放在测试用例路径下,详细流程见图6。
从测试知识库或本地导入测试用例的特征如下:在软件界面中,支持从测试知识库或本地导入至用例管理模块。选择从知识库导入时,首先列表显示知识库中全部测试用例,选择后将库中数据拷贝至本地测试工程目标下,然后将文件、路径信息保存至当前测试工程数据库中。选择从本地导入时,将本地测试用例拷贝至当前测试工程路径下后保存路径信息至数据库。详细流程见图7。
3、测试用例执行与监控模块;
为实现测试用例自动执行,提高测试用例执行效率,采用python的subprocess进程管理与通信技术,控制测试用例自动执行,详细流程见图8。
测试用例自动执行及控制:根据用户选择,获取测试用例主文件名称,调用subprocess.Popen(),以子进程方式运行测试用例主文件,主文件中,动态获取用户自定义场景,并加载至测试用例中,按照测试用例逻辑关系,
依次调用通信层、场景层、交互层相关函数,包括Link_Ini()、Scene_Run()、Scene_SendData2Link()、Scene_RecvDataFromLink()、Scene_CaseRunPass、Scene_CaseRunFailed:与被测件建立通信连接,进行测试数据交互,以实现测试用例的自动执行,并自动接收测试用例执行结果,更新测试执行状态。
测试用例执行状态维护:维护测试用例的执行状态,并支持人工添加执行记录,具体步骤如下:
测试用例开始执行后记录测试用例名称以及测试用例执行时间,并存入数据库;
接收测试用例执行结果,并更新测试用例执行状态图标,绿色表示执行通过,红色表示执行不通过;
根据测试结果,人工在测试用例列表中,点击右键,人工添加测试问题单,录入问题单、问题名称、问题描述等具体内容,以及执行记录。添加问题单时,平台内采用python通用数据结构字典dictCaseName2WTIDs保存问题编号和所属测试用例的对应关系,字典的key值为测试用例名称,字典value为该测试用例下挂接的所有测试问题编号,如dictCaseName2WTIDs[‘TestCase_Demo’]=[‘wt_001’,‘wt_002’];
添加测试问题单及执行记录后,在列表中显示相应测试问题和测试执行记录。
4、一键式问题复现模块;
鉴于开发人员在修改问题时往往需要通过问题复现来进行问题定位,为提高问题复现的便捷性,减少测试过程不必要的沟通,进一步提高测试效率,本系统提供一键式问题复现功能,支持2种方式进行问题复现,分别为从测试用例视图,选中问题后点击右键-运行测试用例。也可从软件问题单中,直接点击问题复现。
启动问题复现后,从测试用例名称-测试问题单列表字典dictCaseName2WTIDs中提取所选问题对应的测试用例,先停止所有测试用例执行后,再控制测试用例开始执行,进行问题复现。
5、回归测试模块。
回归测试模块具备以下功能:
回归测试策略处理:支持对所选自动化测试用例或测试问题,按照问题关重等级、问题类别等不同策略,调度测试用例执行。选择关重等级策略时,先执行有问题的测试用例,且在有问题的测试用例中,按照关键、重要、一般、轻微排序执行,最后执行未发现问题的测试用例;选择问题类别优先时,先执行有问题的测试用例,且在有问题的测试用例中,按照性能问题、功能问题、接口问题、其他问题排序执行,最后执行未发现问题的测试用例。
回归测试执行监控:支持判断测试用例执行进度,包括:超时、执行完成、执行中,支持判断测试用例执行结果,包括:执行通过、执行未通过、执行超时。支持显示测试用例开始执行时间、累计执行时间、超时时间等。
回归测试结果处理:测试用例执行成功后,自动将测试用例挂接的软件测试问题的状态设置为已经解决,并更新验证时间等基础信息。
6、知识库模块
所述的测试知识库模块,能够存储及管理典型、共性测试用例,供测试复用。为保证知识的质量,增加对知识入库审核,仅通过审核的用例能够存入知识库。
发明能实现以下技术效果:
本发明实现的软件自动化测试与管理系统,将测试管理技术与测试自动化技术相结合,一方面能够减少测试执行过程中人工干预,实现测试及回归的全自动化,显著提高测试效率,同时减少测试执行过程中由于人工干预不当引起的错误,另一方面通过对测试用例的统一管理,实现对典型、共性测试知识的沉淀与优化,进一步提高测试人员测试设计能力,保障测试质量和效率。
本系统的发明,能够有效解决因现有测试管理及自动化测试技术无法有机结合与兼顾而导致的测试效率低的问题,减少测试管理及执行过程中的人工干预,提高软件测试质量与效率。
实施例2
如图1至图11所示,作为实施例1的进一步优化,本实施例包含了实施例1的全部技术特征,除此之外,本实施例还包括以下技术特征:
一种基于python脚本测试用例的测试系统由工程管理模块、用例管理模块、测试用例执行与监控模块、一键式问题复现模块、批量自动化回归、测试知识库模块组成,如图1所示。
工程管理模块:
提供测试工程新建/打开界面,根据测试人员输入的测试工程信息(包括:软件负责人、测试人员、项目代号等基础信息),新建测试工程或打开已有工程并在界面显示,同时支持对测试工程的编辑、删除等维护操作。
用例管理模块:
针对测试用例定义统一框架,并基于测试用例框架自动生成一组python脚本程序集合,作为测试用例进行统一管理;
测试用例包含3层结构,分别为交互层、场景层、通信层,其中通信层完成同被测件的通信连接建立、测试数据交互;场景层由测试人员根据本系统生成的模板自定义,生成测试数据和接收被测件的输出结果,并进行执行结果判定;交互层负责同本管理系统交互,交互内容包括测试用例执行成功或执行失败;测试用例三层结构的具体设计如下:
1、通信层:通信层包含了测试用例同被测件的通信连接类型,和通信参数,具体如下:
1)链路类型:包含TCP客户端、TCP服务端、UDP点对点、UDP组播、UDP广播等;
2)链路基础信息:包含端口、本地ip、对端ip等;
新建测试用例时,本系统根据用户选择的链路类型和输入的链路基础信息,自动生成与之对应的python脚本。其中,每个链路类型对应一个python文件(包括:tcp_client.py、tcp_server.py、udp_peer_to_peer.py、udp_multicast.py、udp_broadcast.py),文件均含有Link_Init初始化函数、Link_SendData发送数据函数,Link_RecvData接收数据函数。
2、场景层:测试用例中场景层分两部分,具体为:
1)通用部分。新建测试用例时,自动生成SceneBaseClass.py,该文件内包含SceneBaseClass基类,类内定义了以下接口,需要在自定义场景时继承。
A)测试用例初始化时的场景加载接口Scene_LoadInit函数,完成场景必要的初始化;
B)场景运行接口Scene_Run函数,启动场景;
C)同交互层的测试用例执行成功回调接口Scene_CaseRunPass函数,该函数内调用交互层用例执行成功接口InterAct_CaseRunPass函数,进而同本平台交互;
D)同交互层的测试用例执行失败回调接口Scene_CaseRunFailed函数,该函数内调用交互层用例执行成功接口InterAct_CaseRunFailed函数,进而同本平台交互;
E)同通信层的字节流发送接口Scene_SendData2Link函数;
F)同通信层的字节流接收回调函数Scene_RecvDataFromLink函数
G)测试用例ID(python中UUID模块生成的全局唯一ID,长度36字节)。
2)测试人员自定义场景文件。该部分由测试人员,根据被测软件业务需要,继承SceneBaseClass基类,自行实现场景中发送数据的格式和内容、接收数据的内容,以及测试执行结果的判定,并调用Scene_CaseRunFailed或Scene_CaseRunPass同平台交互用例执行结果。
3、交互层:测试用例中交互层(SubInterAct.py)以进程间管道通信的技术方式(python中Popen模块)实现以下内容:
1)测试执行结果上报(InterAct_ReportCaseRst函数)至本平台,如测试用例执行通过、测试用例执行未通过;
运行于平台中的py格式测试用例,是平台的子进程,测试用例执行结果同平台的交互,采用进程管道通信方式,通信协议描述如下:
类型:字符串;
长度:46字节;
协议:1~36字节,由python基础模块uuid1生成的全局唯一id,字符串形式,长度为36字节;37字节为“%”,38~46字节为运行结果,运行成功为字符串RUNPASSED,运行失败为字符串RUNFAILED。
2)测试用例执行过程数据上报至本平台(InterAct_ReportCaseProcessData函数),如测试用例场景层中的中间数据输出。该部分同用例执行结果接口一致,采用管道通信方式,具体协议如下:
类型:字符串;
长度:不定长;
协议:1~36字节,由python基础模块uuid1生成的全局唯一id,字符串形式,长度为36字节;37字节为“%”,当前字符串剩余所有的长度为当前测试用例的执行输出。
新建测试用例时,根据测试人员输入的测试用例名称,会生成测试用例主文件,如:TestCase_Demo.py,该文件是测试用例的入口,主要初始化通信层、加载用户自定义场景,并运行场景。
测试用例执行与监控模块:
1、采用python的subprocess进程管理与通信技术,控制测试用例自动执行,具体包括:
1)在测试用例列表中,选中某测试用例,点击执行;
在平台内,采用
subprocess.Popen('TestCase_Demo.py',stdout=subprocess.PIPE,stderr=subprocess.STDOUT,shell=False)方式,运行测试用例子进程,运行后记录测试用例名称、ID,测试开始之间等基础信息;
2)TestCase_Demo.py开始运行后,调用通信层的tcp_client.py中Link_Init函数,完成通信链路初始化,建立同被测软件的通信连接;
3)在TestCase_Demo.py所在路径,找到测试人员自定义的场景文件(.py),并动态加载至TestCase_Demo.py中,调用Scene_Run函数,启动测试用例中的场景运行;
4)场景运行后,按照测试人员自定义行为接收(Scene_SendData2Link函数)或发送数据(Scene_RecvDataFromLink函数)至被测软件,并按照测试人员自定义的判定逻辑进行测试用例执行结果判定,判定执行成功,则调用Scene_CaseRunPass、判定失败,则调用Scene_CaseRunFailed函数,进而通知交互层该测试用例的执行结果;
5)场景层通过Scene_CaseRunPass或Scene_CaseRunFailed两个函数,发送测试用例执行结果至交互层InterAct_ReportCaseRst函数,该函数内,按照测试用例ID,采用进程间管道通信技术,同本平台交互具体测试用例执行结果;
6)接收执行结果后,停止该测试用例执行;
2、维护测试用例的执行状态,并支持人工添加执行记录,具体步骤如下:
1)测试用例开始执行后记录测试用例名称以及测试用例执行时间,并存入数据库;
2)接收测试用例执行结果,并更新测试用例执行状态图标,绿色表示执行通过,红色表示执行不通过;
3)根据测试结果,人工在测试用例列表中,点击右键,人工添加测试问题单,录入问题单、问题名称、问题描述等具体内容,以及执行记录。添加问题单时,平台内采用python通用数据结构字典dictCaseName2WTIDs保存问题编号和所属测试用例的对应关系,字典的key值为测试用例名称,字典value为该测试用例下挂接的所有测试问题编号,如dictCaseName2WTIDs[‘TestCase_Demo’]=[‘wt_001’,‘wt_002’];
4)添加测试问题单及执行记录后,在列表中显示相应测试问题和测试执行记录。
一键式问题复现模块:
支持2种方式进行问题复现,分别为从测试用例视图,选中问题后点击右键-运行测试用例。也可从软件问题单中,直接点击问题复现。如下图所示。
进行问题复现时,首先从测试用例名称-测试问题单列表字典dictCaseName2WTIDs中提取所选问题对应的测试用例;然后再停止所有测试用例执行后,再控制测试用例开始执行,进而实现对问题的复现。
回归测试模块:
包含对回归测试策略处理、回归测试执行监控以及回归测试结果处理,具体流程见图4,包括以下步骤:
1)测试人员在平台中点击批量回归按钮,并选择筛选回归策略,回归策略包含关重等级优先、和问题类别优先。选择关重等级策略时,先执行有问题的测试用例,且在有问题的测试用例中,按照关键、重要、一般、轻微排序执行,最后执行未发现问题的测试用例;选择问题类别优先时,先执行有问题的测试用例,且在有问题的测试用例中,按照性能问题、功能问题、接口问题排序执行,最后执行未发现问题的测试用例。
2)软件中,筛选出当前项目的所有测试用例,并按照步骤去中选择的策略排序,显示载批量回归测试用例列表中;
3)支持人工剔除不需要执行的测试用例;
4)在列表中,依次设置测试用例的执行超时时间后点击开始批量回归;
5)按照流程,依次执行测试用例,并监控执行时间,当超时后自动停止执行测试用例,并设置状态为执行超时;
6)当测试用例执行成功后,若当前测试用例下有挂接的测试问题,则在数据库中检索,并修改该问题编号的问题状态为“已经修改”并显示测试用例状态为“执行未通过”;
7)当测试用例执行未通过后,显示测试用例状态为“执行未通过”;
测试知识库模块:
支持测试人员选择典型、共性的测试用例,发起知识库入库请求,本模块接收入库请求后,提取出相应的测试用例信息发起管理员审核,若审核通过,则执行入库操作,将相应的测试用例保存至知识库,并显示入库结果,若审核未通过,则不执行入库操作,直接反馈入库失败的结果及原因;支持所有授权用户对知识库的访问,以列表的形式展示知识库中所有用例信息。
如上所述,可较好地实现本发明。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (10)
1.一种基于python脚本测试用例的测试系统,其特征在于,包括依次通信相连的工程管理模块、用例管理模块、测试用例执行与监控模块,所述工程管理模块用以生成、编辑及输出工程信息,所述用例管理模块用以与被测件交互字节流数据并生成测试用例,所述测试用例执行与监控模块用以自动执行测试用例生成测试用例执行结果,并存储、更新、监控测试用例执行结果。
2.根据权利要求1所述的一种基于python脚本测试用例的测试系统,其特征在于,所述用例管理模块用以生成包含有依次通信连接的通信层文件、场景层文件、交互层文件的测试用例框架,所述通信层文件用以与被测件的通信连接建立测试数据交互,所述场景层文件用以生成测试数据及测试用例执行通过或未通过结果,所述交互层文件用以同测试用例执行与监控模块进行信息交互,将实现测试用例执行通过或未通过结果及过程数据上报至测试用例执行与监控模块。
3.根据权利要求2所述的一种基于python脚本测试用例的测试系统,其特征在于,通信层文件中存储有测试用例与被测件的通信连接类型信息及通信参数信息。
4.根据权利要求3所述的一种基于python脚本测试用例的测试系统,其特征在于,场景层文件中存储有测试场景通用信息及测试人员自定义测试场景信息。
5.根据权利要求4所述的一种基于python脚本测试用例的测试系统,其特征在于,交互层文件通过进程间管道通信的方式同测试用例执行与监控模块进行信息交互。
6.根据权利要求5所述的一种基于python脚本测试用例的测试系统,其特征在于,首先测试用例执行与监控模块能具体用以:根据用户选择,获取测试用例主文件名称;然后调用subprocess.Popen()函数以子进程方式运行测试用例主文件,从主文件中动态获取用户自定义场景并加载至测试用例中;再按照测试用例逻辑关系,调用通信层、场景层、交互层,与被测件建立通信连接进行测试数据交互。
7.根据权利要求1至6任一项所述的一种基于python脚本测试用例的测试系统,其特征在于,还包括与所述用例管理模块通信相连的测试知识库模块,所述测试知识库模块用以存储典型测试用例及共性测试用例,以供测试复用。
8.根据权利要求7所述的一种基于python脚本测试用例的测试系统,其特征在于,还包括同测试用例执行与监控模块通信相连的一键式问题复现模块,所述一键式问题复现模块用以执行需要复现的测试用例。
9.根据权利要求8所述的一种基于python脚本测试用例的测试系统,其特征在于,还包括同测试用例执行与监控模块通信相连的回归测试模块,所述回归测试模块用以自动化批量对测试用例进行回归测试。
10.一种基于python脚本测试用例的方法,其特征在于,基于权利要求1至9任一项所述的一种基于python脚本测试用例的测试系统,包括以下步骤:
S1,利用工程管理模块生成、编辑及输出工程信息;
S2,利用用例管理模块与被测件交互字节流数据并生成测试用例;
S3,利用测试用例执行与监控模块自动执行测试用例生成测试用例执行结果,并存储、更新、监控测试用例执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111507242.6A CN114265769A (zh) | 2021-12-10 | 2021-12-10 | 一种基于python脚本测试用例的测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111507242.6A CN114265769A (zh) | 2021-12-10 | 2021-12-10 | 一种基于python脚本测试用例的测试系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114265769A true CN114265769A (zh) | 2022-04-01 |
Family
ID=80826883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111507242.6A Pending CN114265769A (zh) | 2021-12-10 | 2021-12-10 | 一种基于python脚本测试用例的测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114265769A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637691A (zh) * | 2022-05-17 | 2022-06-17 | 云账户技术(天津)有限公司 | 一种测试用例的管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657262A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 高实时自动化测试系统和测试方法 |
CN105068809A (zh) * | 2015-08-13 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 基于PyQt实现自动化项目管理及用例执行的平台 |
CN111831546A (zh) * | 2020-05-29 | 2020-10-27 | 大数金科网络技术有限公司 | 同时兼容移动端和pc端的ui测试框架方法 |
CN112783794A (zh) * | 2021-02-10 | 2021-05-11 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 航空通信电台软件测试系统 |
-
2021
- 2021-12-10 CN CN202111507242.6A patent/CN114265769A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657262A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 高实时自动化测试系统和测试方法 |
CN105068809A (zh) * | 2015-08-13 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 基于PyQt实现自动化项目管理及用例执行的平台 |
CN111831546A (zh) * | 2020-05-29 | 2020-10-27 | 大数金科网络技术有限公司 | 同时兼容移动端和pc端的ui测试框架方法 |
CN112783794A (zh) * | 2021-02-10 | 2021-05-11 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 航空通信电台软件测试系统 |
Non-Patent Citations (1)
Title |
---|
文婷 等: "基于python的软件测试平台研究与应用" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637691A (zh) * | 2022-05-17 | 2022-06-17 | 云账户技术(天津)有限公司 | 一种测试用例的管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9477583B2 (en) | Automating functionality test cases | |
US7165191B1 (en) | Automated verification of user interface tests on low-end emulators and devices | |
US9477581B2 (en) | Integrated system and method for validating the functionality and performance of software applications | |
US7673179B2 (en) | Online testing unification system with remote test automation technology | |
CN111459821B (zh) | 一种基于TestNG的软件自动化单元测试方法 | |
US6182246B1 (en) | Protocol acknowledgment between homogeneous system | |
US7620856B2 (en) | Framework for automated testing of enterprise computer systems | |
US8839107B2 (en) | Context based script generation | |
US20040153837A1 (en) | Automated testing | |
US7426729B2 (en) | Distributed processing framework system | |
EP1276050A2 (en) | Registry service for use in a distributed processing framework system and methods for implementing the same | |
US20050204298A1 (en) | Method, system and program product for determining differences between an existing graphical user interface (GUI) mapping file and a current GUI | |
US20090307763A1 (en) | Automated Test Management System and Method | |
US7130881B2 (en) | Remote execution model for distributed application launch and control | |
US6393490B1 (en) | Method and system for a programmatic feedback process for end-user support | |
CN108845940A (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
US20110137820A1 (en) | Graphical model-based debugging for business processes | |
CN111309609B (zh) | 软件处理系统 | |
CN102833120B (zh) | 一种快速自动化测试中处理网管服务器异常的方法及系统 | |
WO2000043880A1 (en) | A system and method for testing and validating devices having an embedded operating system | |
CN112559212A (zh) | 基于自研框架的服务调用链实现方法 | |
CN112099919A (zh) | 一种基于云计算api的应用服务可视化快速部署方法 | |
CN114265769A (zh) | 一种基于python脚本测试用例的测试系统及方法 | |
CN108833005B (zh) | 光网络通信设备及其组网业务的自动化测试工具包及方法 | |
CN113672502A (zh) | 程序多系统测试方法及其相应的装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220401 |