【技术实现步骤摘要】
一种基于用例与源码双向追溯的测试装置及方法
本专利技术涉及一种测装置及方法,主要用于软件测试,具体涉及一种基于用例与源码双向追溯的测试装置及方法。
技术介绍
目前软件测试过程中,开发和测试人员之间很难充分的互动和协作,并且在测试人员执行黑盒测试时,由于无法知道程序内部运行的结构和情况,从而导致测试人员以及开发人员都无法知道自己的用例是否充分。此外,一方面,由于开发人员通常不会给测试人员讲解详细的程序逻辑,导致测试人员无法设计完整的测试用例,难以完成充分的测试;而另一方面,测试人员通常也不会给开发人员详细介绍测试情况,从而导致开发人员并不清楚测试用例具体对应的程序执行逻辑。这种开发与测试人员之间的信息鸿沟,导致开发时产生的很多低级错误使测试人员对于版本质量失去信心也会给测试工作带来非常大的障碍。使得测试的效率和质量得不到保障,甚至为后的软件应用过程埋下巨大隐患。
技术实现思路
本专利技术主要是解决现有技术所存在的“开发人员与测试人员信息孤立而导致测试不充分”的技术问题,提供了一种基于用例与源码双向追溯的测试装置及方法。采用该装置及方法,可以将测试关心的开发细节以及开发关心的测试细节完全的可视化和共享;同时还能记录并显示程序内部的各个逻辑块、条件及其组合的执行结果;并且能将单元测试,功能测试、集成测试、系统测试等各阶段进行穿线关联。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于用例与源码双向追溯的测试装置,包括:源码分块装置,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块 ...
【技术保护点】
一种基于用例与源码双向追溯的测试装置,其特征在于,包括:源码分块装置,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表;双向关联装置,调用测试用例执行待测试程序,记录程序运行中产生的含有块标识的测试信息,利用该测试信息建立代码块和测试用例的执行数据关联表;关系呈现装置,根据用户选择呈现测试用例与所执行的测试程序之间的关联信息。
【技术特征摘要】
1.一种基于用例与源码双向追溯的测试装置,其特征在于,包括:源码分块装置,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表;双向关联装置,调用测试用例执行待测试程序,记录程序运行中产生的含有块标识的测试信息,利用该测试信息建立代码块和测试用例的执行数据关联表;关系呈现装置,根据用户选择呈现测试用例与所执行的测试程序之间的关联信息;所述源码分块装置包括:词法分析模块,对待测试程序的字符流进行扫描然后识别单词和语句,并将程序语句标记为分支语句、非分支语句和结束语句;类型分类模块,根据词法分析模块输出的语句类型,将程序代码分割成多个代码块,所述代码块包括连续块和分支块,其中:所述连续块是一组没有分支判断的连续代码语句,所述分支块是分支判断语句的节点;结构标识模块,分析所述类型分类模块输出的连续块以及分支块在程序代码中的逻辑位置,在块结构代码中添加用于表示程序代码逻辑结构的标识;结构校正模块,校正结构标识模块分析得到的所述块结构逻辑位置,生成描述程序逻辑结构的块编码表。2.根据权利要求1所述的一种基于用例与源码双向追溯的测试装置,其特征在于,还包括根据所述代码块之间的关系基于层次布局算法将所述代码块进行整体性布图并呈现的逻辑呈现装置。3.根据权利要求1所述的一种基于用例与源码双向追溯的测试装置,其特征在于,所述类型分类模块包括:中间类型存储单元,存储中间类型语句;中间类型合并单元,若词法分析模块输出的语句是非分支语句和非结束语句,则将该语句与中间类型存储单元中的中间类型语句合并;连续块确认单元,若中间类型存储单元中的中间类型语句不为空,并且词法分析模块输出的语句是分支语句或结束语句,则将该中间类型语句标记为一个连续块,并清空中间类型存储单元;分支块确认单元,若中间类型存储单元中的中间类型语句为空,并且词法分析模块输出的语句是分支语句,则将该语句标记为一个分支块。4.根据权利要求1所述的一种基于用例与源码双向追溯的测试装置,其特征在于,所述双向关联装置包括:代码插桩模块,在源码分块装置处理后的程序代码块中植入探针,所述探针在程序运行时能够生成记录有探针所在代码块的标识的测试信息;用例调用模块,调用测试用例执行待测试程序,记录探针产生的测试信息;代码关联模块,根据测试信息中的代码块标识信息建立记录测试用例与代码块关联关系的测试用例与块关联表。5....
【专利技术属性】
技术研发人员:赵明,
申请(专利权)人:上海零一拼装信息技术有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。