一种基于linux平台测试进度自动化统计方法与流程

文档序号:14911041发布日期:2018-07-10 23:25阅读:233来源:国知局

本发明涉及项目测试领域,具体的说是一种基于linux平台测试进度自动化统计方法。



背景技术:

在项目测试过程中,测试进度的实时状态的管控,便于对项目资源,人力的合理调配,使得项目能够在有限的时间内,使用项目资源最优化状态下进行并完成,测试的状态的管控至关重要。在目前的项目测试过程中,针对测试进度的管控,还处于一种“问询->反馈”或者“定期反馈”的状态。而这两种方式都存在一定的弊端。

方式1:“问询->反馈”:显而易见的,这种方式非常的原始且机械化。在整个事件中,参与人数为2人,信息获取方式是被动性的,信息的获取为随机性的,无条理性,信息的反馈存在延时性(信息反馈人需要对所问询的问题进行一个数据归纳整理过程)。

方式2:“定期反馈”:这种方式较方式1有所优化,但存在信息反馈的时效性及准确性。在整个事件中,参与人数由“2人”减少为“1人”,信息获取方式由“被动性”变更为“主动性”,信息的获取变由“随机性”变更为“定期性”和“规律性”。但是,存在的一个问题,我们我们对所馈的信息的精确性,有效性无从判断,如,所反馈的完成度计算性方式是否有效;所反馈的占用时间可能是一个综述不够细化;项目测试比较耗时的测试项是哪些。没有一个完整的数据统计,不利于项目的资源调试。



技术实现要素:

为了解决上述问题,本发明提供了一种基于linux平台测试进度自动化统计方法,使得测试工具具有人工的智能反馈功能,可以完成背景技术方式2中的功能,并且能够达成实时反馈,使得测试项目进度实时的反馈出来,同时也可以将反馈信息变得更细化,更具有可视性,整体提升工作效率和体验。

本发明的技术任务是按以下方式实现的,一种基于linux平台测试进度自动化统计方法,包括以下步骤:

S1,通过脚本记录项目测试状态信息;

S2,汇总项目测试状态信息,并输出格式化文件finish.txt;

S3,读写finish.txt,实时获取项目测试状态进度,自动化统计项目测试进度;

S4,将项目测试进度实时反馈到控制中心服务器。

进一步的,步骤S1中记录项目测试状态的过程包括:输入测试项名称、记录开始时间和结束时间、记录测试人员姓名。

进一步的,步骤S1中测试项名称通过交互方式按照脚本提示信息输入,测试项名称输入包括索引数字输入和类别输入两种方式。

进一步的,步骤S1中记录开始时间和结束时间的具体实现过程为:

1)测试脚本开始执行,通过date命令将当前开始时间写入记录文件;

2)每隔60s记录一次当前的时间,得到脚本持续运行时间;

3)测试脚本执行完毕,通过date命令记录脚本结束时间。

进一步的,步骤S3的具体实现过程为:

1)测试脚本将执行完成的时间写入文件finish.txt;

2)通过if判断当前是否已生成测试完成的文件“finish.txt”,若是,则直接整合开始时间和结束时间,若否,则整合开始时间和程序当前的运行时间。

进一步的,步骤S3执行的同时打开另一个终端,每隔10s读取一次测试程序的实时状态。

进一步的,步骤S4中实时反馈的具体实现过程为:若当脚本执行未完成时,每次获取测试进度均为“Start Time”+“Now Time”组合,且“Now Time”实时变化,然后将当前获取的项目测试状态进度测试进度反馈到控制中心服务器,当脚本执行完成时,每次获取的测试进度均为“Start Time”+“Finish Time”组合,且“Finish Time”为脚本实际的完成时间,然后将当前获取的项目测试状态进度测试进度反馈到控制中心服务器,至此完成测试进度的自动化统计。

本发明的有益效果是:

1、本发明通过脚本对信息的获取收集,以及信息的格式化输出形式,来显示项目的测试进度,实现了测试项目进度的实时的获取功能。同时,我们获取到的信息更为精准,解决了人员汇报时,多项测试内容混淆不清的问题。

2、通过本发明提供的方案,免去了与测试人员沟通的过程,减少了由于沟通的时间成本。当我们有多项测试项在进行的时候,可节省的沟通时间成本就愈为明显。

附图说明

图1是本发明方法流程图;

图2是本发明步骤S1中记录时间方法流程图;

图3是本发明步骤S3方法流程图。

具体实施方式

以下结合附图详细说明本发明的具体实施方式,下文的公开提供了具体实施方式用来实现本发明的装置及方法,使本领域的技术人员更清楚地理解如何实现本发明。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。应当理解,尽管本发明描述了其优选的具体实施方案,然而这些只是对实施方案的阐述,而不是限制本发明的范围。

本方法是基于linux平台,通过脚本监控测试项测试进度并统计的一种方法。主要实现逻辑分为记录测试状态信息,汇总信息显示,实时进度查看,并自动反馈到一个控制中心服务器上,达到测试进度自动化统计的目的。

如图1所示,本发明提供的基于linux平台测试进度自动化统计方法包括以下步骤:

S1,通过脚本记录项目测试状态信息。其中脚本记录项目测试状态信息主要有测试项名称、开始时间、结束时间、测试人员。

S2,汇总项目测试状态信息,并输出格式化文件finish.txt。上面为一个则试程序开始时的一个信息收集过程,当如上信息收集完成之后,便开始了正式的测试进度获取过程。

S3,读写finish.txt,实时获取项目测试状态进度,自动化统计项目测试进度。

S4,将项目测试进度实时反馈到控制中心服务器。

测试项名称通过交互方式在测试的时候按照脚本的提示信息输入,设计思路为对测试项名称进行分类,首先判断测试部位类别,如CPU、MEM、HDD、NETWORK CARD等。然后判断测试种类,判断测试种类具体包含有:Function(功能)、Performance(性能)、Stress(压力)、Stability(稳定性)。

测试项名称输入支持索引数字输入和类别输入两种方式。例如,当输入非指定分类测试项名称字条时,会要求重新输入,直到输入的内容为测试项名称列表中给定的内容时为止。输入支持索引数字输入如,1,2,3,4,也支持类别输入,大小写均支持如:stress和STRESS都可以识别为“STRESS”,最终可以获取的测试类别为:HDD STRESS。测试时,通过read-p命令读入测试人员姓名。

步骤S1中记录测试时间的具体实现过程如图2所示:

1)测试脚本开始执行,通过date命令将当前开始时间写入记录文件;

2)每隔60s记录一次当前的时间,得到脚本持续运行时间;

3)测试脚本执行完毕,通过date命令记录脚本结束时间。

步骤S2中生成的部分信息会单独存放到文件中做为一个记录。而实时获取脚本进度的需求为:当脚本还在执行过程中的时候,我们需要在上述信息(测试项名称、开始时间、测试人员)显示完成后,还需要增加当前的时间,通过当前时间与脚本开始时间来判断脚本一共运行了多长时间。而当脚本运行结束之后,我们只需要显示脚本开始时间和脚本结束时间,而不需要显示当前时间。且当脚本测试完成后,多次的执行获取实时进度时,都应该显示的是脚本的开始时间和结束时间。

步骤S3的具体实现过程为:

1)测试脚本将执行完成的时间写入文件finish.txt;

2)通过if判断当前是否已生成测试完成的文件“finish.txt”,若是,则直接整合开始时间、结束时间、测试项名称和测试人员,若否,则整合开始时间、程序当前的运行时间、测试项名称和测试人员。

举例如下:测试程序使用一个每隔6s循环输出数字的代码段为例,如下,测试程序开始时,提示信息为“------Test ongoing-------”,然后下面为具体测试程序执行过程,本例为循环打印{1..10}的集合中的元素。测试程序执行完成后的提示信息为“------Test Finished-------”。此时程序也同时将执行完成的时间写入了finish.txt文件。

在上面程序在执行的同时,打开另外一个终端,并每隔10s去执行了一次测试程序的实时状态,执行代码为:for i in{1..10};do date+'%F%T';./get_status.sh;sleep 10;done。这部分代码表示,每隔10秒钟,显示一下当前的时间,并获取上一步测试程序的测试进度,一共循环执行10次上动作。

步骤S4中实时反馈的具体实现过程为中,若当脚未完成时,每次获取测试进度均为“Start Time”+“Now Time”组合,且“Now Time”实时变化。当脚本执行完成时,每次获取的测试进度均为“Start Time”+“Finish Time”组合,且“Finish Time”为脚本实际的完成时间,至此完成测试进度的自动化统计。

此外,本发明的应用范围不局限于说明书中描述的特定实施例的工艺、机构、制造、物质组成、手段、方法及步骤。从本发明的公开内容,作为本领域的普通技术人员将容易地理解,对于目前已存在或者以后即将开发出的工艺、机构、制造、物质组成、手段、方法或步骤,其中它们执行与本发明描述的对应实施方式大体相同的功能或者获得大体相同的结果,依照本发明可以对它们进行应用。因此,本发明所附权利要求旨在将这些工艺、机构、制造、物质组成、手段、方法或步骤包含在其保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1