一种用于软件测试数据分析的示波器及方法技术

技术编号:10475577 阅读:223 留言:0更新日期:2014-09-25 13:50
本发明专利技术涉及一种软件测试数据分析装置和方法,主要用于软件白盒测试,具体涉及一种用于软件测试数据分析的示波器及方法。包括:代码运行监控装置、测试信息传递装置、运行状态分析装置、运行状况显示装置。因此,本发明专利技术具有如下优点:1.将软件运行状态以波形的形式呈现,能反映软件运行的实时状态;2.通过不同的探针植入单元进行插桩操作,从而能监控软件执行中的每一个动作,给予测试人员更清晰准确的数据支持;3.只对有限的程序结构进行插桩,减少程序的膨胀性,提高效率。

【技术实现步骤摘要】

本专利技术涉及一种软件测试数据分析装置和方法,主要用于软件白盒测试,具体涉 及。
技术介绍
白盒测试又称结构测试或逻辑驱动测试,是把测试对象看作一个打开的盒子。利 用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件 广品的功能。 白盒测试全面了解程序内部逻辑结构,对所有逻辑路径进行测试,是穷举路径测 试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测 试数据。由于贯穿程序的独立路径巨大,所以白盒测试是工作量巨大并且枯燥的工作。但 是目前的白盒测试工作存在以下问题: 1.人为因素影响较大,测试的主观性较强。目前的测试领域中对软件测试做功能 测试时,软件运行的内部状态,软件执行的每一个动作,主要靠测试人员的经验判断。并且 测试人员在做测试时具有盲目性和不确定性的缺陷,没有额外的工具来支持测试人员对于 整个工程的运行状态参照,从而使得测试的主观性较强。 2.测试进程和结果不直观,测试效率低下。对于软件执行过程中的异常运行动作 往往凭经验分析,造成成本、时间的增加,在软件出现异常时不能直观、准确的捕捉到,并且 由于开发人员与测试人员之间的信息鸿沟,导致在测试人员在测试时对于错误不能迅速判 定并定位,进而造成时间和精力的浪费。
技术实现思路
本专利技术主要是解决现有技术所存在的人为因素影响较大,测试的主观性较强以 及测试进程和结果不直观,异常信息难以捕捉等技术问题,提供了一种用于软件测试数 据分析的示波器及方法。采用示波器及方法,能够监控软件执行中的每一个动作,反映软件 运行的实时状态,从而给予测试人员更清晰准确的数据支持。 本专利技术的上述技术问题主要是通过下述技术方案得以解决的: -种用于软件测试数据分析的示波器,包括: 代码运行监控装置,调用测试用例执行被植入探针的待测试程序代码并记录所述 探针的运行信息; 测试信息传递装置,将所述代码运行监控装置记录的探针运行信息传递至运行状 态分析装置; 运行状态分析装置,分析接收到的探针运行信息并生成波形信号; 运行状况显示装置,显示运行状态分析装置生成的波形信号; 所述代码运行监控装置包括:用于对待测试代码进行词法分析和语法分析并且在 待测试程序代码的程序结构中植入探针的插桩模块;分析并记录所述探针的运行信息的信 息记录模块;其中,所述插桩模块进一步包括: 起始探针植入单元,在待测试程序代码的顺序代码块开始处插入探针; 条件探针植入单元,在待测试程序代码的判断条件语句以及判断条件组合语句处 插入探针; 结束探针植入单元,在待测试程序代码的结束语句前插入探针; 所述运行状态分析装置包括: 信息统计模块,接收所述信息记录模块记录的探针运行信息,根据所述探针运行 信息统计单位时间内所述待测试程序代码中代码单元运行次数; 波形生成模块,以横坐标为时间,纵坐标为所述代码单元运行次数,生成波形。 优化的,上述的一种用于软件测试数据分析的示波器,所述信息统计模块统计的 代码单元包括:块级代码单元、条件级单元、函数级单元中的一种或多种; 所述信息记录模块记录的探针运行信息包括:块运行消息、条件运行消息中的一 种或多种;其中:所述块运行消息记录待测试程序代码中程序块的运行状态;所述条件运 行消息记录待测试程序代码中条件表达式包含的单个条件运行状态以及所述单个条件的 各种组合的运行状态; 所述信息统计模块包括:块级统计单元,统计单位时间内接收到的块运行消息次 数,并将所述块运行消息次数作为块级代码单元运行次数;条件级统计单元,统计单位时间 内接收到的条件级运行消息次数,并将所述条件级运行消息次数作为条件级代码单元运行 次数;函数级统计单元,统计单位时间内接收到的所述块运行消息对应的程序块是函数入 口的次数,并将该次数作为函数代码单元运行次数; 所述波形生成模块根据不同类型的代码单元运行次数分别生成:块级波形、条件 级波形、函数级波形中的一种或多种。 优化的,上述的一种用于软件测试数据分析的示波器,所述信息统计模块以每0.5 秒为一个时间单位,统计所述时间单位内的代码单元运行次数;所述波形生成模块以横坐 标为时间,纵坐标为所述代码单元运行次数,并且每0.5秒向右移动一个时间单位,从而形 成波形图。 优化的,上述的一种用于软件测试数据分析的示波器,所述信息传递装置基于ZMQ 消息队列实现。 优化的,上述的一种用于软件测试数据分析的示波器,所述运行状态分析装置还 包括记录代码运行监控装置当前正在运行的待测试程序代码中的函数以及该函数之前的 一个以上已运行函数的相关信息的现场记录模块;所述运行状况显示装置还包括当程序死 锁或者崩溃时显示所述现场记录模块保存的函数信息的函数显示模块。 -种用于软件测试数据分析的方法,包括: -个探针植入步骤,对待测试代码进行词法分析和语法分析并且在待测试程序代 码的程序结构中植入探针,所述探针植入步骤进一步包括: 起始探针植入子步骤,在待测试程序代码的顺序代码块开始处插入探针;其中,顺 序代码表示该段代码不会出现执行上的分支; 条件探针植入子步骤,在待测试程序代码的判断条件语句以及判断条件组合语句 处插入探针; 结束探针植入子步骤,在待测试程序代码的结束语句前插入探针; -个代码运行监控步骤,调用测试用例执行被植入探针的待测试程序代码并记录 所述探针的运行信息; -个运行状态分析步骤,分析代码运行监控步骤记录的探针运行信息并生成相应 波形信号;所述运行状态分析步骤进一步包括: 信息统计子步骤,接收信息记录模块记录的探针运行信息,根据所述探针运行信 息统计单位时间内所述待测试程序代码中代码单元运行次数; 波形生成子步骤,以横坐标为时间,纵坐标为所述代码单元运行次数,生成波形。 一个运行状况显示步骤,显示运行状态分析步骤生成的波形信号。 优化的,上述的一种用于软件测试数据分析的方法,所述信息统计子步骤中的所 述代码单元包括块级、条件级、函数级中的一种或多种; 所述代码运行监控步骤中记录的探针运行信息包括:块运行消息、条件运行消息 中的一种或多种;其中:所述块运行消息记录待测试程序代码中程序块的运行状态;所述 条件运行消息记录待测试程序代码中条件表达式包含的单个条件运行状态以及所述单个 条件的各种组合的运行状态; 所述信息统计子步骤统计单位时间内接收到的块运行消息次数N1、条件级运行消 息次数N2,所接收到的块运行消息对应的程序块是函数入口的次数N3,并将N1、N2、N3分别 作为块级代码单元运行次数、条件级代码单元运行次数、函数级代码单元运行次数; 所述波形生成子步骤根据代码单元运行次数分别生成块级波形、条件级波形、函 数级波形中的一种或多种。 优化的,上述的一种用于软件测试数据分析的方法, 所述运行状态分析步骤还记录代码运行监控步骤当前正在运行的待测试程序代 码中的函数以及该函数之前的一个以上已运行函数的相关信息; 所述运行状况显示步骤在程序死锁或者崩溃时,显示所述运行状态分析步骤保存 的函数信息。 因本文档来自技高网...

【技术保护点】
一种用于软件测试数据分析的示波器,包括:代码运行监控装置,调用测试用例执行被植入探针的待测试程序代码并记录所述探针的运行信息;测试信息传递装置,将所述代码运行监控装置记录的探针运行信息传递至运行状态分析装置;运行状态分析装置,分析接收到的探针运行信息并生成波形信号;运行状况显示装置,显示运行状态分析装置生成的波形信号;其特征在于,所述代码运行监控装置包括:用于对待测试代码进行词法分析和语法分析并且在待测试程序代码的程序结构中植入探针的插桩模块;分析并记录所述探针的运行信息的信息记录模块;其中,所述插桩模块进一步包括:起始探针植入单元,在待测试程序代码的顺序代码块开始处插入探针;条件探针植入单元,在待测试程序代码的判断条件语句以及判断条件组合语句处插入探针;结束探针植入单元,在待测试程序代码的结束语句前插入探针;所述运行状态分析装置包括:信息统计模块,接收所述信息记录模块记录的探针运行信息,根据所述探针运行信息统计单位时间内所述待测试程序代码中代码单元运行次数;波形生成模块,以横坐标为时间,纵坐标为所述代码单元运行次数,生成波形。

【技术特征摘要】
1. 一种用于软件测试数据分析的示波器,包括: 代码运行监控装置,调用测试用例执行被植入探针的待测试程序代码并记录所述探针 的运行信息; 测试信息传递装置,将所述代码运行监控装置记录的探针运行信息传递至运行状态分 析装置; 运行状态分析装置,分析接收到的探针运行信息并生成波形信号; 运行状况显示装置,显示运行状态分析装置生成的波形信号; 其特征在于,所述代码运行监控装置包括:用于对待测试代码进行词法分析和语法分 析并且在待测试程序代码的程序结构中植入探针的插桩模块;分析并记录所述探针的运行 信息的信息记录模块;其中,所述插桩模块进一步包括: 起始探针植入单元,在待测试程序代码的顺序代码块开始处插入探针; 条件探针植入单元,在待测试程序代码的判断条件语句以及判断条件组合语句处插入 探针;结束探针植入单元,在待测试程序代码的结束语句前插入探针; 所述运行状态分析装置包括: 信息统计模块,接收所述信息记录模块记录的探针运行信息,根据所述探针运行信息 统计单位时间内所述待测试程序代码中代码单元运行次数; 波形生成模块,以横坐标为时间,纵坐标为所述代码单元运行次数,生成波形。2. 根据权利要求1所述的一种用于软件测试数据分析的示波器,其特征在于,所述信 息统计模块统计的代码单元包括:块级代码单元、条件级单元、函数级单元中的一种或多 种; 所述信息记录模块记录的探针运行信息包括:块运行消息、条件运行消息中的一种或 多种;其中:所述块运行消息记录待测试程序代码中程序块的运行状态;所述条件运行消 息记录待测试程序代码中条件表达式包含的单个条件运行状态以及所述单个条件的各种 组合的运行状态; 所述信息统计模块包括:块级统计单元,统计单位时间内接收到的块运行消息次数, 并将所述块运行消息次数作为块级代码单元运行次数;条件级统计单元,统计单位时间内 接收到的条件级运行消息次数,并将所述条件级运行消息次数作为条件级代码单元运行次 数;函数级统计单元,统计单位时间内接收到的所述块运行消息对应的程序块是函数入口 的次数,并将该次数作为函数代码单元运行次数; 所述波形生成模块根据不同类型的代码单元运行次数分别生成:块级波形、条件级波 形、函数级波形中的一种或多种。3. 根据权利要求1所述的一种用于软件测试数据分析的示波器,其特征在于,所述信 息统计模块以每〇. 5秒为一个时间单位,统计所述时间单位内的代码单元运行次数;所述 波形生成模块以横坐标为时间,纵坐标为所述代码单元运行次数,并且每0. 5秒向右移动 一个时间单位,从而形成波形图。4. 根据权利要求1所述的一种用于软件测试数据分析的示波器,其特征在于,所述信 息传递...

【专利技术属性】
技术研发人员:赵明
申请(专利权)人:上海零一拼装信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1