一种多人协同的软件测试管理系统的制作方法

文档序号:16855439发布日期:2019-02-12 23:13阅读:239来源:国知局
一种多人协同的软件测试管理系统的制作方法
本发明涉及软件测试
技术领域
,具体地说是一种构建多人协同开展软件测试的管理技术。
背景技术
:软件测试是一种用于测试所设计软件程序有效性的过程,它可以为设计的软件进行质量检测与评估,在航天航空、智能监控、伺服控制等领域具有巨大的应用价值。而随着现在设计的软件系统越来越复杂,功能越来越多,甚至采用了多人、多地协作开发,功能交错,代码质量参差不齐,所以软件质量的控制也显得格外重要,同时也需要采用新的策略来应对当前软件测试管理所碰到的诸多问题,从而实现既能将软件设计、实现等问题通过软件测试过程检测出来,使得风险能够提前释放,又能够使得管理人员可以更高效的组织测试工作,加快测试进程。当前为了应对软件测试问题,出现了多种多样的测试方法与软件,但是这些软件要么是功能比较单一,要么是只做测试不做管理,要么是只做管理不做测试分析,适用性比较低,对于大型复杂的测试过程,不能够有效发挥不同地域、不同单位的测试人员协同工作,不能有效的分配工作量,也不能有效的监督各个测试人员的工作质量。技术实现要素:本发明的技术解决问题是:克服现有技术的不足,提供一种多人协同的软件测试管理系统。本发明的技术解决方案是:一种多人协同的软件测试管理系统,包括代码自动化分析工具、测试工作量自动化评估和分配工具、测试人员画像制定和工作量模型指定工具;所述的代码自动化分析工具,将当前待处理所有测试项目按文件,对每个文件内的代码按功能进行模型划分,统计各文件下包含的测试模型种类及数量,将统计结果发送至测试工作量自动化评估和分配工具;测试人员画像制定和工作量模型指定工具,根据已有测试项目,每个测试人员测试的模型所需的时间,拟合出每个测试人员的画像模型以及每个测试模型的工作量模型;将上述每个测试人员的画像模型以及每个测试模型的工作量模型输出至测试工作量自动化评估和分配工具;所述的每个测试人员的画像模型为每个测试人员针对测试模型所需的时间函数;测试工作量自动化评估和分配工具,根据接收的当前待处理所有测试项目下的测试模型及数量结合每个测试模型的工作量进行整体工作量评估,并根据当前测试人员画像模型,进行测试人员工作量分配;每个测试人员完成一个测试模型的测试后,通过测试人员画像制定和工作量模型指定工具对其画像模型进行更新。优选的,所述的代码自动化分析工具包括测试代码读入模块、代码分析模块以及模型库;测试代码读入模块读入待测试代码并进行健壮性分析,并确定代码执行过程中文件中各个子函数调用路径及关系;代码分析模块,根据接收的健壮性分析结果,消除健壮性不足的缺陷;然后根据各子函数调用路径及关系,将各子函数分别于模型库中的测试模型进行匹配,确定模型的种类并统计对应的数量;模型库中存储已有测试模型和自定义测试模型。优选的,所述的测试代码读入模块包括用于检测待读取工程类型的检查模块、用于读取待测试工程配置模块、自动读取整个待测试项目模块、用于检测反馈读取项目完善性分析模块;用于检测待读取工程类型的检测模块:根据配置的路径读取待测试项目,然后与系统预置的测试项目类型进行比对,判定待测试项目是否符合要求,如果符合要求,则触发用于读取待测试工程配置模块,否则则终止运行;用于读取待测试工程配置模块:读取待测试项目目录下的配置文件,分析待测试项目所包含的子目录、各个子目录下的子文件、项目运行所需的系统文件和第三方库文件,给出清单列表;自动读取整个待测试项目模块:根据所述的清单列表,自动读取对应的文件,根据载入的各个文件和所述检测模块检测的项目类型,寻找项目的入口函数,根据需要找到的入口函数,检测运行过程中的各个子函数,给出调用路径及关系,并对各子函数进行健壮性分析。优选的,还包括用于检测反馈读取工程完善性分析模块:该模块根据自动读取整个待测试项目模块的运行结果,给出分析报告,报告包括待测试工程的健壮性分析、调用路径和关系分析。优选的,测试工作量自动化评估和分配工具包括代码模型转换模块、工作量统计及分配模块、画像模型及工作量模型库;画像模型库,存储测试人员的画像模型,若新增测试人员,则初始化并存储新的测试人员的画像模型;工作量模型库,存储每个测试模型的工作量模型以及自定义的工作量模型;代码模型转换模块,根据选定的工作量模型,量化每个测试模型测试所需的工作时间,利用该平均工作时间将代码自动化分析工具输出的每类测试模型转化为代码模型,各代码模型记为m1,m2,m3,…,mn;工作量统计及分配模块,根据上述代码模型结合代码自动化分析工具输出的对应测试模型的数量,计算整个测试的工作量total;根据当前测试人员画像模型,进行最优化综合工作量分配输出;所述的最优化综合工作量分配输出包括按照最快完成时间、指定时间下最少测试人员、最优组合测试、自定义模式进行工作量分配。优选的,所述的指定时间下最少测试人员进行工作量分配即求在给定总测试时间t,总的测试模块n和总的工作量total下的最少测试人员的最优分配方案,其中p(x)函数为二值函数,当选中x时,p(x)=1,否则p(x)=0,通过对下述方程进行最优化求解,完成工作量分配:式中,fi(mj)为测试人员的画像模型,即第i个测试人员针对代码模型mj对应测试模型所需的时间;wt为第t个测试模型的权重即数量;p(fi)表示如果第i个测试人员被选中,p(fi)=1,否则p(fi)=0;p(mj)表示如果第j个测试模型被选中,p(mj)=1,否则p(mj)=0。优选的,所述的最优组合测试为各个测试人员有限分配其最擅长的测试模型模式开展测试工作,剩下的测试模型按照最快完成时间进行工作量分配。优选的,所述的按照最快完成时间进行工作量分配通过下述方式实现:假设当前总测试人员数量为k,测试模型的总数为n,p(x)函数为二值函数,当选中x时,p(x)=1,否则p(x)=0;通过进行下述方程的最优解,完成工作量分配:式中,fi(mj)为测试人员的画像模型,即第i个测试人员针对代码模型mj对应测试模型所需的时间;wt为第t个测试模型的权重即数量;p(fi)表示如果第i个测试人员被选中,p(fi)=1,否则p(fi)=0;p(mj)表示如果第j个测试模型被选中,p(mj)=1,否则p(mj)=0。优选的,所述的自定义模式根据外部输入为测试人员分配测试模型。优选的,所述的测试人员画像制定和工作量模型指定工具自动收集各个测试人员工作过程数据进行大数据分析,对测试人员画像模型和测试模型的工作量模型进行更新。优选的,包括中心服务器、本地子服务器、测试终端、管理终端;中心服务器上运行代码自动化分析工具、测试工作量自动化评估和分配工具、测试人员画像制定和工作量模型指定工具;本地子服务器与中心服务器保持同步与更新,将每个测试人员分配的测试模型发送至对应的测试终端,测试人员在测试终端上完成测试工作;管理人员通过管理终端完成自定义模式的输入以及测试人员的增减并输入至本地子服务器。本发明与现有技术相比有益效果为:(1)该系统可以自动化分析待测试工程,自动化评测工作量,根据条件自动化分配工作内容,还可以对测试过程进行监测,及时反馈软件测试效率和瓶颈,量化测试人员的测量效率和绩效;(2)该系统内置的测试人员画像模型和工作量模型可以动态的收集各个测试工程的中间数据,用于更加精准的分析获得测试人员画像和工作量,从而为下一次的测试过程开展提供更加精准的工作量评估和工作量最优化分配;(3)该系统可对测试过程数据和知识进行存档,以便随时进行回溯查阅,形成有效的知识反馈,促进软件测试团队效率提升,辅助培养新员工,突破测试瓶颈;(4)该测试模型还具备自动化修正模式,可以根据实际测试人员情况进行监测反馈修正测试模型,进一步为后续更加精准的测试提供辅助;(5)该系统还具备多地、不同时段的软件测试人员进行协同工作,提升测试效率;该系统方便管理人员对软件测试过程进行自动化管理、监测、反馈、绩效考核与考评等,减小了工作量,提升了工作效率;附图说明图1为本发明系统示意图;图2为本发明实例调用路径和关系图;图3为本发明测试人员画像制定和工作量模型指定工具处理流程;图4为本发明系统架构图。具体实施方式下面结合附图及实例对本发明作详细说明。如图1所示,一种多人协同的软件测试管理系统,包括代码自动化分析工具、测试工作量自动化评估和分配工具、测试人员画像制定和工作量模型指定工具;本发明通过内置的多种自动化处理工具,降低人工处理带来的管理、分析不准确等缺陷问题,提高自动化处理效率。本发明可为软件测试的管理设计提供指导性的作用,更进一步发挥软件测试的作用。具体如下:一、代码自动化分析工具代码自动化分析工具,将当前待处理所有测试项目按文件,对每个文件内的代码按功能进行模型划分,统计各文件下包含的测试模型种类及数量,将统计结果发送至测试工作量自动化评估和分配工具;代码自动化分析工具包括测试代码读入模块、代码分析模块以及模型库;测试代码读入模块读入待测试代码并进行健壮性分析,并确定代码执行过程中文件中各个子函数调用路径及关系;具体的,测试代码读入模块包括用于检测待读取工程类型的检查模块、用于读取待测试工程配置模块、自动读取整个待测试项目模块、用于检测反馈读取项目完善性分析模块;用于检测待读取工程类型的检测模块:根据配置的路径读取待测试项目,然后与系统预置的测试项目类型进行比对,判定待测试项目是否符合要求,如果符合要求,则触发用于读取待测试工程配置模块,否则终止运行;用于读取待测试工程配置模块:读取待测试项目目录下的配置文件,分析待测试项目所包含的子目录、各个子目录下的子文件、项目运行所需的系统文件和第三方库文件,给出清单列表;自动读取整个待测试项目模块:根据所述的清单列表,自动读取对应的文件,根据载入的各个文件和所述检测模块检测的项目类型,寻找项目的入口函数,根据需要找到的入口函数,检测运行过程中的各个子函数,给出调用路径及关系如图2所示,并对各子函数进行健壮性分析。代码分析模块,根据接收的健壮性分析结果,消除健壮性不足的缺陷;然后根据各子函数调用路径及关系,将各子函数分别于模型库中的测试模型进行匹配,确定模型的种类并统计对应的数量,见表1;实际设计时,可以对分析结果进行主观展示,具体形式可以是html显示,或者excel统计表,txt、xml文档等形式进行存储与展示。模型库中存储已有测试模型和自定义测试模型。表1为代码分析统计结果文件名测试模型1测试模型2测试模型3测试模型4测试模型5测试模型6main.cpp320000subfile_1.cpp040310subfile_2.cpp6001007二、测试人员画像制定和工作量模型指定工具测试人员画像制定和工作量模型指定工具根据已有测试项目,每个测试人员测试的模型所需的时间,拟合出每个测试人员的画像模型以及每个测试模型的工作量模型;将上述每个测试人员的画像模型以及每个测试模型的工作量模型输出至测试工作量自动化评估和分配工具;所述的每个测试人员的画像模型为每个测试人员针对测试模型所需的时间函数;该工具根据往期的测试过程数据进行分析,获得各个测试人员的画像模型,以及各个测试模块的工作量模型,其中测试人员的画像模型以综合函数f(m,t,c)形式展示,工作量模型以各个代码模型m1,m2,m3,…,mn的模块权重信息w1,w2,w3,…,wn进行展示。该工具的分析过程如图3所示。根据往期各个测试工程的记录结果,包括测试模块信息、测试进度数据、各个测试人员的测试结果数据、各个测试人员的测试进度数据等信息,获得测试各个测试过程信息,作为输入;对上述输入数据进行大数据分析,按照测试模型和测试人员进行划分:对测试模型分析而言,则会收集往期测试过程中所有该测试模型的测试过程信息,包括测试进度、测试数据案例、测试测试数据、测试结果等进行综合分析,分析该模块的测试工作量随测试人员、测试时间长度、测试工程类型等各个因素作用下的模型函数f(m),通过优化拟合获得相应的综合权重w,即每个测试模型所需时长,如表2所示;对于测试人员而言,则会收集该测试人员的所有测试过程信息数据,包括且不限于测试数据、测试反馈结果、测试周期等信息,综合分析优化拟合后获得综合函数f(m,t,c),m对应测试模型,t对应测试时间、c为测试类型。根据实际情况考虑着重点,上述函数可以增加可扩展项x,即f(m,t,c,x),表征其他影响因素。表2工作量模型的工作量示意(单位:天/人)模型类型测试模型1测试模型2测试模型3测试模型4测试模型5测试模型6工作量255316三、测试工作量自动化评估和分配工具测试工作量自动化评估和分配工具,根据接收的当前待处理所有测试项目下的测试模型及数量结合每个测试模型的工作量进行整体工作量评估,并根据当前测试人员画像模型,进行测试人员工作量分配;每个测试人员完成一个测试模型的测试后,通过测试人员画像制定和工作量模型指定工具对其画像模型进行更新。测试工作量自动化评估和分配工具包括代码模型转换模块、工作量统计及分配模块、画像模型及工作量模型库;画像模型库,存储测试人员的画像模型,若新增测试人员,则初始化并存储新的测试人员的画像模型;工作量模型库,存储每个测试模型的工作量模型以及自定义的工作量模型;代码模型转换模块,根据选定的工作量模型,量化每个测试模型测试所需的工作时间,利用该平均工作时间将代码自动化分析工具输出的每类测试模型转化为代码模型,各代码模型记为m1,m2,m3,…,mn;工作量统计及分配模块,根据上述代码模型结合代码自动化分析工具输出的对应测试模型的数量w1,w2,w3,…,wn,计算整个测试的工作量total;total=w1*m1+w2*m2+…+wn*mn;根据输入的待测试模块m1,m2,m3,…,mn,模块权重信息w1,w2,w3,…,wn,k个测试人员p1,p2,..,pk模型进行分析,进行最优化综合工作量分配输出,输出可以按照最快完成时间、指定时间下最少测试人员、最优组合测试、自定义等模式进行工作量分配。(a)最快完成时间模式:该模式以整个测试结束时间最快开展工作,即将n个测试模型分配给k个测试人员开展测试,n个测试模型不能进一步分割测试,且每个模型只能分配给一个测试人员,各个测试人员的测试时间函数为f(m,t,c,x),各个测试人员可至少分配一个测试模型:即求在给定总人数k,总的测试模块n和总的工作量total下的最少工作时间的最优分配方案,根据以上的约束,进行最优化求解,求解方程示意如下:公式解释:p(x)为二值化函数,当x被选中有效时,p(x)=1,否则p(x)=0.如p(fi)表示如果第i个测试人员被选中,p(fi)=1,否则p(fi)=0.p(mj)表示如果第j个模型被选中,p(mj)=1,否则p(mj)=0.p(fi)p(mj)fi(mj)表示如果第i个测试人员被选中且分配第j个模型,则p(fi)=1且p(mj)=1,同时,fi(mj)表示第i个测试人员做第j个模型的所需时间,那么p(fi)p(mj)fi(mj)表示当选中第i个测试人员做第j个模型所需要的时间,如果不是这种选中,则p(fi)=0或者p(m)=0.表示没有第i个测试人员于第j个模型的组合,这是一种最优化数学公式表示.公式(1-4)表示二值化选中公式;公式(1-3)表示所有测试人员分配的工作量总和不小于待分配的总工作量;公式(1-2)表示所有测试人员分配的总测试模型总和为待分配的总模型n;公式(1-1)的max表示满足公式(1-4)(1-3)(1-2)的一种分配模式下所需要的最长测试时间,因为各个测试人员是并行测试,所有一种分配下的总测试时间受限于测试时间最长的路径即可;min表示在所有满足(1-4)(1-3)(1-2)分配模式下的最少的测试时间.(b)指定时间下最少测试人员模式:该模式下总的测试结束时间已知为t,相当于使用最少测试人员开展工作,即将n个测试模型分配给kx个测试人员开展测试(kx<=k),n个测试模型不能进一步分割测试,且每个模型只能分配给一个测试人员,各个测试人员的测试时间函数为f(m,t,c,x),各个测试人员可至少分配一个测试模型。即求在给定总测试时间t,总的测试模块n和总的工作量total下的最少测试人员的最优分配方案,根据以上的约束,进行最优化求解,求解方程示意如下:公式解释:公式(2-5)表示二值化选中公式;公式(2-4)表示所有测试人员分配的工作量分配的工作量总和不小于待分配的总工作量.公式(2-3)表示在所选中的人员分配模式下,总消耗的测试时间不大于给定的总测试时间t;公式(2-2)表示所有测试人员分配的总测试模型总和为待分配的总模型n;公式(2-1)表示满足公式(2-4)(2-3)(2-2)(2-5)分配模式下所需要的最少的测试人员数量.(c)最优组合测试模式:该模式为各个测试人员有限分配其最擅长的测试模型模式开展测试工作,剩下的测试模型按照最快完成时间进行工作量分配。(d)自定义模式:可以根据外界的自定义输入进行各个测试人员的工作分配,测试分配由外界定义好格式输入,系统读取数据后给出分配报告,也可以临时更改各个测试人员的测试时间函数f(m,t,c,x),达到自定义输入模式。其中一种输入自定义模式为:f1=1,m2=1;//说明:1号测试人员测试m2模块f2=0,mx=0;//说明:2号测试人员不开展测试工作f3=1,m1=1;//说明:3号测试人员测试m1模块图4给出本发明的一种工程应用架构,包括中心服务器、本地子服务器、测试终端、管理终端;中心服务器上运行代码自动化分析工具、测试工作量自动化评估和分配工具、测试人员画像制定和工作量模型指定工具;本地子服务器与中心服务器保持同步与更新,将每个测试人员分配的测试模型发送至对应的测试终端,测试人员在测试终端上完成测试工作;管理人员通过管理终端完成自定义模式的输入以及测试人员的增减并输入至本地子服务器。本发明未详细说明部分属于本领域技术人员公知常识。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1