51Testing软件测试论坛

标题: ThreadingTest延用方法,打破结果,展现测试新理念(一) [打印本页]

作者: threadingtest    时间: 2014-10-7 11:46
标题: ThreadingTest延用方法,打破结果,展现测试新理念(一)
现今移动测试业态

作为现今APP最多的平台,移动业务已经渗透到了每个人的生活中,这意味着对移动平台上的测试需求也在逐年递增,各大测试工具开发商根据市场需求也相继推出了各自的测试工具和平台。

移动黑盒方法,测试人员的苦恼

作为整个程序最后一道屏障,测试人员的测试方法起到了决定性的作用。在移动平台中,测试人员往往会通过在真机上的点点点的方式进行,虽然有Testin、DevStoreAndroid SDK Emulator等云平台或自动工具的帮助,但测试人员还是期盼着想要一套简便、直观、易上手的工具,来量化自身的工作量。

国内的测试工具和云平台

观摩如今国内的移动测试工具和平台,基本是以原有的黑盒测试工具为衍生,与传统的白盒测试工具相比,除大大降低了成本外,还能最直观的反映出软件存在的问题。但它的劣势也较为明显,比如,难以找出某些特殊类型的错误,当软件被修改后,必须重新检测,盲目性较为严重。


全球首款纯软件类的商用级别的移动端白盒测试工具

ThradingTest产品宣传手册内容提纲



ThreadingTest

ThreadingTest(简称“TT”)是由上海零一拼装有限公司研发的一款白盒测试工具,它的设计基于创新性的测试理念-“穿线测试”。TT通过一系列的发明专利技术以及产品设计,首次将黑盒测试与白盒测试过程以及方法进行完美的融合,以黑盒的测试过程及方法,产生白盒测试的数据。同时TT也是全球首款纯软件类的商用级别的移动端白盒测试工具,可以对各种类型的移动类应用进行测试。TT是一款真正对软件测试过程和结果进行深度量化分析的智能测试工具。

“穿线测试”理念\\

穿线测试名字属于象形命名,表示它对于开发以及测试各阶段产出物间的串联作用;穿线测试的地位处于类似于行业内的DevOPS概念,它建立开发与测试之间的联系,打破二者之间的信息鸿沟;通过一套自动且非管理化的技术手段,来实现开发与测试以及QA 三者之间的紧密关系,进而大幅度提高测试的质量、大型软件的维护效率,并且降低成本。

穿线测试通过自动化的插装技术、数据传输技术、时间戳技术,完成全自动的建立海量数据间的关联、多版本间的对比、覆盖率的合并以及测试过程中,自动化的建立源码和测试用例之间的关联,实现整个测试过程的穿线。

穿线测试是继黑盒测试、白盒测试理论后,对于测试理论的新的贡献,且商用化产品ThreadingTest(个人免费)跟随理论同步发布。

第五代白盒测试技术

ThreadingTest作为新一代白盒测试技术,对比之前几代白盒测试技术,集成了很多新的功能点:

1.    累计覆盖率技术:如果存在多个被测程序版本的覆盖率结果,TT可以实现对多个版本的覆盖率进行合并,并且在一个视图中展示。

2.     无需监管的覆盖率搜集:覆盖率的统计完全可以由后台程序运行搜集,对测试人员实现透明化。

3.     覆盖率结果和程序结构展示:TT支持9种覆盖率、6中复杂度结果可视化,支持在函数调用图、控制流程图等多种图形上显示覆盖率,测试以及开发人员可以从多个视角清晰的看到程序的覆盖率情况。

4.     分布式测试:多个测试人员访问系统产生的覆盖率,可以在统一视图中显示。

5.     实现DO-178B MC/DC白盒结构测试技术: 实现100%覆盖率,可视化复杂条件组合,使产品质量大幅提升。

6.     覆盖率计算可视化:TT支持对以上各种覆盖的计算的可视化,对每种覆盖率的计算结果给出可视化的直观结果展示,覆盖率可视化界面对以函数为单位的模块进行覆盖数据和应统计数据给出图形化展示,用户通过界面的统计数据可以直观得出覆盖率的计算值。


1.     引导团队完善测试用例:通过第五代白盒测试技术,可以在控制流程图上看到每个判断语句的复合条件的任意子条件的覆盖情况,整个开发以及测试团队可以实时看到每个用例的覆盖率对整体测试的贡献程度。根据覆盖率的生长等指标对整个测试进程进行动态调整,同时可以引导对于累计覆盖率偏低的关键模块补充用例。


可视化的测试

ThreadingTest 针对代码级别的编译分析和运行插桩后的程序,通过一静一动的代码分析,TT提供了丰富的可视化界面包括函数调用图、控制流程图、覆盖率可视化视图、累计覆盖率视图、多版本对比视图、版本测试数据报表视图等。通过每种视图进行有针对性的信息挖掘,达到问题快速定位。


函数调用图:

可以给用户展示一系列关于软件系统的整体信息。如:类或者函数以及类的成员函数的总数目,调用关系或者类的继承关系的深度、层次结构、语句总行数和总体复杂度,整体的测试覆盖率(分累积的结果和最后一次运行的结果,可选择语句、分支和MC/DC测试覆盖率标准)、整体的性能分析结果以及各模块所占的用时比例、以及全局变量和静态变量的分析结果等;同时,又给出了各个模块具体的信息,包括:各模块的源码行数和复杂度、测试覆盖率分析结果、扇入扇出信息,高亮显示一个模块及其所有相关的模块,或者以任何一个模块为根生成局部子树等。

函数调用图的特性:

1.    支持百万图元级别的超高速图形绘制技术。

2.    支持全屏以及超平滑的放大与缩小技术、平滑的移动技术。


3    支持按照类分组聚集布图以及按照函数调用关系布图,层次数量可自由定义。

4.    支持逐级的子树展开和下钻功能。

5.    支持在函数图元上覆盖率显示,以及覆盖率与函数相关信息的显示。

6.    可追溯:函数调用图是“活”的,不是静止不动的,可以选择图中任何一个模块而追溯所有调用它的路径和相关模块以及被他调用的模块,用于修改模块不一致性缺陷的预防等。

7.    可交互操作,例如高亮显示一个模块及其相关模块,或者单独绘制一个模块的调用关系。

8.    可选取函数调用图中任何一个模块为根生成局部子图,并且生成子图的相关信息,使得团队的各个组群或者个人可以方便的得到相关的局部信息。

9.    实现各模块与逻辑框图的链接:完成宏观(函数调用图)与微观视图(控制流程图)的结合,发挥更好的可视化效果



函数调用聚集图:

以类对函数进行分组,通过图表把同一类的函数聚集在一起进行展示。



类继承图:

显示的是当前项目所有类的集成和派生关系。



控制流程图

通过函数的if-else,while,for,do-while,switch-case等控制语句结构绘制组成的流程关系的展示图;配合下方的源代码展示界面,显示能清晰查看函数内部运行逻辑和结构、条件的真假运行状况、MC/DC的满足率等。

特性:

1.    可视化的控制流程图,对主要的控制逻辑语句对应有清晰的图元显示,支持嵌套显示以及串联显示。

2.    点击控制流图的每个图元可以看到对应的代码段以及代码段的执行次数、覆盖率情况。

3.    在控制流图的代码段,当条件语句成为选中热点后,可以看到条件语句的各个子条件的各种组合执行的真假情况。

4.    支持缩略图的显示,可平滑的进行缩放以及全屏显示。

5.    可以与函数调用图相互自动链接、追溯、转换。










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2