CN100543700C - 一种软件执行过程中定制提取运行信息的方法及装置 - Google Patents
一种软件执行过程中定制提取运行信息的方法及装置 Download PDFInfo
- Publication number
- CN100543700C CN100543700C CNB2007103023700A CN200710302370A CN100543700C CN 100543700 C CN100543700 C CN 100543700C CN B2007103023700 A CNB2007103023700 A CN B2007103023700A CN 200710302370 A CN200710302370 A CN 200710302370A CN 100543700 C CN100543700 C CN 100543700C
- Authority
- CN
- China
- Prior art keywords
- information
- information extraction
- software
- script
- extraction
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件执行过程中定制提取运行信息的方法及装置,该方法包括:软件运行信息提取点获取步骤,用于将软件代码中需得到的运行信息出现的相应位置作为信息提取位置,然后根据该信息提取位置及要显示的内容得出信息提取点;运行信息定制提取步骤,用于根据所述信息提取点编辑信息提取脚本,当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述信息提取脚本进行运行信息的获取显示。本发明的应用克服了现有技术在软件执行过程中获取运行信息不够系统灵活的缺陷,提高了软件的可探测性。
Description
技术领域
本发明涉及软件的测试技术,特别涉及一种在软件执行过程中定制提取运行信息的方法及装置。
背景技术
在软件执行过程中对于其中的运行信息进行观察获取是使用者关心的部分,既可及时获得运行状态,又可用来进行故障分析定位。这属于软件可探测性范畴,一般常规方法是直接在代码中加入打印语句,具体提取信息固化在代码中,这也是代码编写人员最常用的方式,最有针对性,但是比较随意,大多在调试版本中使用;一种改进方法为系统中统一定义信息节点,定义统一的信息上报接口,各业务代码进行调用,将定好的信息内容按接口上报,这样做比较系统,但是灵活性较,每次增加新的跟踪内容就需要做系统级的调整。
综上,现有的软件执行过程获取运行信息的方法不够系统灵活。
发明内容
本发明所要解决的技术问题在于,提供一种软件执行过程中定制提取运行信息的方法及装置,克服了现有技术在软件执行过程中获取运行信息不够系统灵活的缺陷,提高了软件的可探测性。
为达到上述目的,本发明提供的软件执行过程中定制提取运行信息的方法,包括:
软件运行信息提取点获取步骤:确认所需得到的运行信息;将软件代码中需得到的运行信息出现的相应位置作为信息提取位置,然后根据该信息提取位置及要显示的内容得出信息提取点;
运行信息定制提取步骤:在所述软件代码中信息提取位置加入信息提取宏;根据所述信息提取点进行信息提取脚本编写;将所述信息提取脚本下载到运行环境中;当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述信息提取脚本获取运行信息并进行显示。
上述软件执行过程中定制提取运行信息的方法,所述软件运行信息提取点获取步骤,进一步包括:将可以合并的信息提取位置及内容归为一个信息提取点,在程序中形成系统的信息提取点分布。
上述软件执行过程中定制提取运行信息的方法,所述
信息提取脚本是针对所述信息提取点编写反映显示内容的脚本;
上述软件执行过程中定制提取运行信息的方法,所述运行信息内容包括:软件执行过程中所关注的输入信息、软件执行过程中所关注的输出信息、或/和软件执行过程中所关注内部处理中的过程信息。
上述软件执行过程中定制提取运行信息的方法,所述信息提取脚本下载到运行环境中具体包括:
步骤51,启动带有信息提取点的软件版本;
步骤52,选择要执行的信息提取点,定制相对应的信息提取脚本;
步骤53,将定制好的全部脚本汇总生成信息提取用例,通过后台下载到运行环境中。
上述软件执行过程中定制提取运行信息的方法,所述满足提取条件是由信息提取函数判断是否满足提取条件;
上述软件执行过程中定制提取运行信息的方法,所述信息提取脚本中针对同一信息提取点根据要显示内容的不同编写不同脚本代码。
上述软件执行过程中定制提取运行信息的方法,在所述信息提取位置加入的信息提取宏带入包含信息的数据,用于在所述软件代码运行时作为信息提取宏的输入参数使用。
上述软件执行过程中定制提取运行信息的方法,所述软件执行过程中所关注的输入信息:消息是否收到、消息中的数据信息;所述软件执行过程中所关注的输出信息:消息是否发出、消息中的数据信息;所述软件执行过程中所关注内部处理中的过程信息包括:处理步骤是否执行、局部/全局变量取值信息。
上述软件执行过程中定制提取运行信息的方法,所述步骤52中的定制相对应的信息提取脚本是所述信息提取脚本编写步骤中已经保存好的脚本或者是在该已经保存好的脚本上根据需要有针对性修改的脚本。
上述软件执行过程中定制提取运行信息的方法,所述提取条件为是否对此信息提取点定制了信息提取脚本。
本发明还提供了一种采用上述软件执行过程中定制提取运行信息的方法的装置,包括:
软件运行信息提取点获取模块,用于将软件代码中需得到的运行信息出现的相应位置作为信息提取位置,然后根据该信息提取位置及要显示的内容得出信息提取点;
运行信息定制提取模块,用于根据所述信息提取点编辑信息提取脚本,当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述信息提取脚本进行运行信息的获取显示;所述运行信息定制提取模块进一步包括:
信息提取点插入模块,用于在所述信息提取位置加入信息提取宏;
信息提取脚本编写模块,用于针对所述信息提取点编写反映显示内容的脚本;
信息提取脚本下载模块,用于在所述软件正式运行前将所选择的信息提取脚本下载到运行环境中,供该软件运行时调用;
运行信息的获取模块,用于当所述软件正式运行至所述信息提取位置处并满足提取条件时,转入相对应的信息提取脚本中进行运行信息的获取显示。
与现有技术相比,本发明提供的软件执行过程中定制提取运行信息的方法,通过在软件中插入系统定义好的信息提取点,做到系统部署;在具体代码中插入时格式统一,只是一个函数宏。各信息提取脚本以文件形式保存,可以同信息提取规程一同关联,便于管理,增强系统性;
本发明将软件运行中要获取的信息以脚本的形式进行定制提取,基于脚本变化灵活,不用与源程序一同编译运行,具有随时修改随时下载,即时启用的特点,在同一信息提取点位置可以改变脚本代码显示不同信息,大大提高信息提取的灵活性。
综上,本发明的应用既保证系统性又保证灵活性,并且采用此软件运行信息提取方法对提高软件可探测性方面有直接促进作用,要求在软件设计过程中就考虑运行流程中需要获取信息的布局,利于后期信息提取及问题定位。
附图说明
图1是本发明软件执行过程中定制提取运行信息的方法流程图;
图2是本发明方法实施例中信息提取脚本下载的具体执行流程图;
图3是本发明方法实施例中运行信息获取显示的具体执行流程图;
图4是本发明实施例中信息提取脚本的工作机制示意图;
图5是本发明采用上述软件执行过程中定制提取运行信息的方法的装置示意图;
图6是本发明装置应用原理图。
具体实施方式
下面结合附图和具体实施例对本发明技术方案进行详细的描述,以更进一步了解本发明之目的、方案及功效,但并非作为对本发明所附权利要求保护范围的限制。
图1示出了本发明软件执行过程中定制提取运行信息的方法流程;参考图1,该软件执行过程中定制提取运行信息的方法包括如下步骤:
步骤S10:软件运行信息提取点获取步骤,用于将软件代码中想得到的执行信息在相应出现的位置作为信息提取位置进行布局,然后综合分析,根据信息提取位置及要显示的各种内容得出信息提取点;该步骤是根据软件运行流程定制提取信息的前提,相当于提取信息用例设计。
步骤S20:运行信息定制提取步骤,用于根据所述信息提取点编辑脚本,当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述脚本进行运行信息的获取显示。
上述步骤S10进一步包括:
步骤S101,确认所需得到的运行信息;在该步骤中,所述需要得到的运行信息,及需要显示的内容包括:
(1)软件执行过程中所关注输入信息的提取:如嵌入式软件基于消息异步处理机制下对所收到的消息进行获取,显示内容包括消息是否收到,消息某些数据信息;列出相应的信息提取位置及要显示内容;
(2)软件执行过程中所关注输出信息的提取:如嵌入式软件基于消息异常处理机制下对本模块所发送出去的消息进行获取,显示内容包括消息是否发出,消息某些数据信息;列出相应的信息提取位置及要显示内容;
(3)软件执行过程中所关注内部处理中的过程信息:如嵌入式软件基于消息异常处理机制下对本模块从接收激励消息开始处理到发出响应消息之间的运算步骤相关的局部信息的获取,显示内容包括某些处理步骤是否执行,某些局部/全局变量取值信息;列出相应的信息提取位置及要显示内容;
步骤S102,综合上述步骤S101中运行信息的提取位置及要显示的内容,将可以合并的信息提取位置及内容归为一个信息提取点,在程序中形成系统的信息提取点分布。
上述步骤S20进一步包括以下步骤:
步骤S201:信息提取点插入步骤,用于在软件码中插入信息提取点,根据第一步所得出分析结果,在代码相应信息提取位置加入信息提取宏,带入包含信息的数据,以便运行时做为信息提取宏的输入参数使用;
步骤S202:信息提取脚本编写步骤,用于针对信息提取点编写脚本,脚本反映要显示的内容,即同一信息提取点根据要显示内容的不同可编写不同脚本代码;
步骤S203:信息提取脚本下载,在软件正式运行前要将所选择的信息提取脚本下载到运行环境中,以便运行时调用;
步骤S204:运行信息的获取显示,当软件正式运行时流程运行至信息提取点处,当提取条件满足时会转入相对应信息提取脚本中做信息显示,如信令跟踪或打印显示。
参考图2:上述步骤S203进一步包括:
步骤S231:正常启动带有信息提取点的软件版本;
步骤S232:选择要执行的信息提取点,定制相对应的信息提取脚本,内容可以是前述步骤已保存好的脚本或在其上按需要有针对性的修改;定制了信息提取脚本的信息提取点将在软件运行到时被处理;
步骤S233:将定制好的全部脚本汇总生成信息提取用例,通过后台下载到运行环境中,如嵌入式系统中软件所运行的前台单板。
参考图3,上述步骤S204进一步包括:
步骤S241:执行测试流程,执行过程可以是实际的系统操作也可以仿真机制进行,作用于被测软件时都应按一致流程执行。
步骤S242:软件代码在执行过程中运行至信息提取宏处由信息提取函数做判断,如果满足提取条件则转入信息提取脚本处理;提取条件为是否对此信息提取点定制了信息提取脚本。
上述步骤S242中,转入脚本处理时,信息提取函数带入包含信息的数据,包括消息名,消息内容等,这些数据将按脚本代码的要求进行处理,如进行信令跟踪或打印输出。
图4是本方法中所采用的脚本工作机制说明,包括脚本的静态编辑步骤S401和动态运行步骤S402两阶段。首先是提取软件中的消息结构信息,即脚本中所处理的对象都是以消息及对应数据结构为基础的。根据信息提取内容选择出要用到的消息结构,以列表的形式生成用例静态区,即脚本数据描述区域。然后用户使用脚本所提供的各种操作原语来描述处理的逻辑步骤,以文本的形式生成用例动态区,即运行逻辑描述区域。两个区域内容统一保存在文本文件中,生成测试用例文件,至此完成静态编辑过程。接下需要实际运行用例时,脚本处理内核读入用例文件,通过解析转化生成内存中二进制信息,然后通过数据下载处理将这些信息传输到前台脚本执行体,最后在脚本执行体中启动用例运行,按照要执行的信息提取点传入的数据进行对应脚本处理,直到退出用例,从而完成动态运行阶段。
本发明方法在具体软件运行过程中可以动态调整信息提取脚本内容及下载,用于获取不同信息提取点的不同信息提取内容。即一方面可实现在需要的提取点位置才执行信息提取,另一方面可对同一提取点按不同脚本内容获取不同相关信息。
参考图5,本发明还公开了一种采用上述软件执行过程中定制提取运行信息的方法的装置,包括:软件运行信息提取点获取模块501,用于将软件代码中需得到的运行信息出现的相应位置作为信息提取位置,然后根据该信息提取位置及要显示的内容得出信息提取点;运行信息定制提取模块502,用于根据所述信息提取点编辑脚本,当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述脚本进行运行信息的获取显示。所述运行信息定制提取模块502进一步包括:信息提取点插入模块521,用于在所述信息提取位置加入信息提取宏;信息提取脚本编写模块522,用于针对所述信息提取点编写反映显示内容的脚本;信息提取脚本下载模块523,用于在所述软件正式运行前将所选择的信息提取脚本下载到运行环境中,供该软件运行时调用;运行信息的获取模块524,用于当所述软件正式运行至所述信息提取位置处并满足提取条件时,转入相对应的信息提取脚本中进行运行信息的获取显示。
图6示出了本发明装置应用原理图。参考图6,该结构是针对嵌入式软件系统设计的运行模式,即所有业务实现以进程的形式运行在嵌入式操作系统平台上,以消息激励的方式进行交互处理。运行信息定制提取模块中,被测进程驻留在操作系统支撑层之上,操作函数InfoProc为全局函数,可定义为信息提取宏供被测进程在信息提取点调用,实现正常代码处理过程中对所需运行信息的定制提取,从而构成信息提取点插入模块521;信息提取脚本编写模块522作为后台程序,用于编辑脚本用例,控制下载运行,显示运行信息;信息提取脚本下载模块523由辅助进程配合后台下载控制部分构成,用于接收下载脚本;运行信息获取模块524由带脚本指令区的脚本执行体构成,通过函数Infoproc的入参传入消息体指针和消息号等信息,根据脚本指令对消息体的内容进行显示操作,以信令跟踪及打印显示的方式输出。
本发明在进行系统级信息节点设计的基础上,插入信息跟踪的调用宏,传入基本参数,但具体要跟踪显示哪些内容则由脚本来定制,如进行信令跟踪或打印显示,同时具体跟踪系统中哪些位置的信息也由对应脚本定义的有无来控制,更加方便对信息点的提取。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
1、一种软件执行过程中定制提取运行信息的方法,其特征在于,包括:
软件运行信息提取点获取步骤:确认所需得到的运行信息;将软件代码中需得到的运行信息出现的相应位置作为信息提取位置,然后根据该信息提取位置及要显示的内容得出信息提取点;
运行信息定制提取步骤:在所述软件代码中信息提取位置加入信息提取宏;根据所述信息提取点进行信息提取脚本编写;将所述信息提取脚本下载到运行环境中;当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述信息提取脚本获取运行信息并显示。
2、根据权利要求1所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述软件运行信息提取点获取步骤,进一步包括:
将可以合并的信息提取位置及内容归为一个信息提取点,在程序中形成系统的信息提取点分布。
3、根据权利要求1所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述信息提取脚本是针对所述信息提取点编写反映显示内容的脚本。
4、根据权利要求2所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述运行信息内容包括:软件执行过程中所关注的输入信息、软件执行过程中所关注的输出信息、或/和软件执行过程中所关注内部处理中的过程信息。
5、根据权利要求2所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述信息提取脚本下载到运行环境中具体包括:
步骤51,启动带有信息提取点的软件版本;
步骤52,选择要执行的信息提取点,定制相对应的信息提取脚本;
步骤53,将定制好的全部脚本汇总生成信息提取用例,通过后台下载到运行环境中。
6、根据权利要求2所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述满足提取条件是由信息提取函数判断。
7、根据权利要求2所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述信息提取脚本编写中针对同一信息提取点根据要显示内容的不同编写不同脚本代码。
8、根据权利要求2所述的软件执行过程中定制提取运行信息的方法,其特征在于,在所述信息提取位置加入的信息提取宏带入包含信息的数据,用于在所述软件代码运行时作为信息提取宏的输入参数使用。
9、根据权利要求4所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述软件执行过程中所关注的输入信息包括:消息是否收到、消息中的数据信息;所述软件执行过程中所关注的输出信息包括:消息是否发出、消息中的数据信息;所述软件执行过程中所关注内部处理中的过程信息包括:处理步骤是否执行、局部/全局变量取值信息。
10、根据权利要求5所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述步骤52中的定制相对应的信息提取脚本是所述信息提取脚本编写中已经保存好的脚本或者是在该已经保存好的脚本上根据需要有针对性修改的脚本。
11、根据权利要求6所述的软件执行过程中定制提取运行信息的方法,其特征在于,所述提取条件为是否对此信息提取点定制了信息提取脚本。
12、一种采用上述权利要求1~11中任一项所述软件执行过程中定制提取运行信息的方法的装置,其特征在于,包括:
软件运行信息提取点获取模块,用于将软件代码中需得到的运行信息出现的相应位置作为信息提取位置,然后根据该信息提取位置及要显示的内容得出信息提取点;
运行信息定制提取模块,用于根据所述信息提取点编辑信息提取脚本,当所述软件正式运行至所述信息提取位置处并满足提取条件时,通过所述信息提取脚本进行运行信息的获取显示;所述运行信息定制提取模块进一步包括:
信息提取点插入模块,用于在所述信息提取位置加入信息提取宏;信息提取脚本编写模块,用于针对所述信息提取点编写反映显示内容的脚本;
信息提取脚本下载模块,用于在所述软件正式运行前将所选择的信息提取脚本下载到运行环境中,供该软件运行时调用;
运行信息的获取模块,用于当所述软件正式运行至所述信息提取位置处并满足提取条件时,转入相对应的信息提取脚本中进行运行信息的获取显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007103023700A CN100543700C (zh) | 2007-12-25 | 2007-12-25 | 一种软件执行过程中定制提取运行信息的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007103023700A CN100543700C (zh) | 2007-12-25 | 2007-12-25 | 一种软件执行过程中定制提取运行信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101183334A CN101183334A (zh) | 2008-05-21 |
CN100543700C true CN100543700C (zh) | 2009-09-23 |
Family
ID=39448621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007103023700A Expired - Fee Related CN100543700C (zh) | 2007-12-25 | 2007-12-25 | 一种软件执行过程中定制提取运行信息的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100543700C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697144A (zh) * | 2009-10-28 | 2010-04-21 | 中兴通讯股份有限公司 | 一种软件测试方法及测试装置 |
CN101833708B (zh) * | 2010-05-07 | 2012-08-29 | 山东中创软件工程股份有限公司 | 一种生成预警消息的方法和装置 |
CN102508771B (zh) * | 2011-10-12 | 2015-01-07 | 山东中创软件商用中间件股份有限公司 | 一种软件运行状态评价方法 |
-
2007
- 2007-12-25 CN CNB2007103023700A patent/CN100543700C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101183334A (zh) | 2008-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100543701C (zh) | 一种实现嵌入式软件异常测试的方法及系统 | |
KR101130525B1 (ko) | 서식 유형들을 사용하여 서식을 생성하기 위한 방법 및장치 | |
US10540262B2 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
US20100313182A1 (en) | Extensible user interface generation | |
CN102789382A (zh) | 用于表单生成和运行的系统及方法 | |
CN104798067B (zh) | 辞典系统以及辞典调用方法 | |
CN112256296A (zh) | 基于Weex的快递服务APP更新方法、装置、设备及存储介质 | |
CN104123157A (zh) | 一种移动终端的跨平台业务逻辑定制方法和装置 | |
US11669332B1 (en) | Systems and methods for modernizing legacy applications | |
CN110275704A (zh) | 页面数据处理方法和装置,存储介质和电子设备 | |
Powers et al. | Microsoft visual studio 2008 Unleashed | |
Zapata | Android Studio 2 Essentials | |
CN104123155A (zh) | 一种基于web的业务系统页面层开发平台及方法 | |
Oliveira Junior et al. | SMartySPEM: a SPEM-based approach for variability management in software process lines | |
CN100543700C (zh) | 一种软件执行过程中定制提取运行信息的方法及装置 | |
JPH10254689A (ja) | クライアント・サーバシステムのアプリケーション構成設計支援方式 | |
Wagner | Professional flash mobile development: Creating android and iphone applications | |
CN114564199A (zh) | 一种生成使用页面的方法、装置、设备及可读存储介质 | |
Mainkar | Expert Android Programming: Master skills to build enterprise grade Android applications | |
US20080201691A1 (en) | Version resiliency for a host application and custom code | |
CN108563475A (zh) | 应用程序的运行方法、装置及存储介质 | |
Gill | Using React Native for mobile software development | |
CN114047915A (zh) | 一种组态应用的展示方法、装置、电子设备及存储介质 | |
JP4925514B2 (ja) | 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体 | |
Noble et al. | Flex 4 Cookbook: Real-world recipes for developing Rich Internet Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090923 Termination date: 20141225 |
|
EXPY | Termination of patent right or utility model |