函数列表: 针对整个程序的所有函数,按照各种覆盖率、复杂度进行排序,帮助用户能快速的定位查看所有的函数信息,并通过和函数调用图、控制流程图、覆盖率可视化图以及累计覆盖率图的快速切换,使得用户在查看和解决实际问题上提供了方便。
覆盖率计算过程可视化: ThreadingTest采用最新的覆盖率算法可视化的方式来进行引导,使测试人员在测试过程中,能清晰地看到每个被测函数块的覆盖率值所对应的代码算法,避免盲目测试和反复测试,从而快速补全测试用例,并附有学习性。
测试用例与代码的双向自动关联与追溯
通过ThreadingTest运行测试用例,采用TT百万图元级别的超高速图形绘制技术展示图,对各种大、中、小型软件进行功能逻辑实现分析,实现测试用例与被测源码间相互追溯。该追溯技术方便了用户查看和设计测试用例,通过基于双向追溯的实测用例分析,测试人员可以快速追踪修改代码的波及范围,针对已修改的模块和波及到的模块有针对性的补充测试用例,把回归测试的成本降至最低。 正向追溯: 通过点击某个测试用例,追溯到该用例所对应的函数控制图,并展示其测试的逻辑和结构,点击其中某个函数,可以进行该函数的覆盖率、复杂度、代码、控制流程图等信息查看,帮助测试人员通过简单查看发现测试遗漏,并且有利于开发人员直接定位测试发现的缺陷,测试和开发之间的高效互动。想象下,当一个核心工程师离职时,他所带走的是对整个程序的理解及开发思路,交接的工程师需要花费大量的时间去理解,TT通过正向追溯,可以使交接的工程师能通过测试用例所展现的程序逻辑和结构等信息,快速的掌握和理解程序的开发思路。
逆向追溯: 通过点击函数列表的某个函数,追溯到该函数所对应的函数调用图、控制流程图以及源码,点击其中的源码,反向追溯到该源码所执行过的测试用例列表。想象下当一个程序需要进行频繁更改升级时,这时对测试人员的压力是无比巨大的,测试人员无法精确到开发人员所更改的代码是否影响到其它的功能,只能对程序进行重新的测试,但通过逆向追溯,测试人员很明确的看到更改的代码所影响到的测试用例表,通过累积覆盖率技术,大大缩短了回归测试的时间。
※ 上海零一拼装信息技术有限公司拥有“一种基于用例与源码双向追溯的测试装置及方法”的专利
实时的被测应用示波器
ThreadingTest率先将引入的测试示波器概念,在实际测试的过程中,可以实时的看到从程序中各种逻辑执行的速率、频率等信息,测试人员可以从传统的对被测应用的黑盒子测试(仅能看到功能的反馈无法看到程序内部的反馈)进而转换成为类似于对于硬件测试的示波器一样,能够对整个测试过程的关键测试数据进行实时的分析和查看。
示波器功能体现: 1. 实时记录被测程序的运行信息:块,函数,条件,运行堆栈 2. 实时记录测试用例对应的程序执行逻辑: 3. 支持源码分离的测试模式 4. 支持分布式的实时记录被测程序的运行信息 5. 可视化观察程序运行情况。波形可直观反应程序行为。 6. 通过波形分析程序在各种硬件平台上的运行性能。 7. 支持真机、模拟器等各类设备的接入 8. 支持各种自动化操作和单元测试所产生的测试数据的记录 9. 支持USB、WIFI、蓝牙等各种设备的连接方式 代码分离测试ThreadingTest的技术特性非常适合于做移动智能类产品的测试,例如对于智驾系统。TT通过自己的专利技术,能够通过TT的示波器专利技术,测试人员甚至可以边在行驶过程中操作智能驾驶系统的同时,通过TT的软件示波器即时的获得测试数据和测试结果。测试人员可以在移动的车上进行测试后,然后将一整天获得的测试数据拿到实验室或者研发中心的软件平台中进行分析。同时TT支持离线测试的方式,是对源代码的最好的保护方式,即在户外进行测试的时候并不需要系统的源代码,而需要进行数据展示的时候,仅需要将测试获得的数据拿回到研发实验室进行关联展示和分析即可。
※ 上海零一拼装信息技术有限公司拥有“一种用于软件测试数据分析的示波器及方法”的专利 版本的对比和累积覆盖率技术软件开发过程中由于多次的迭代和增量开发而不可避免的产生多个版本,相对应的也会产生多次的版本测试。针对多版本的情况ThreadingTest提供了多版本的函数级比较和测试覆盖率合并功能 函数级比较多版本对比以函数为单位,列出了所有函数的增加、修改、删除等一系列状态的对比演化过程(也可以说是一种版本追溯机制),结合函数调用图和控制流程图,使用户可以快速定位不同版本之间函数的区别、某一模块的修改对其他模块产生的影响,提高缺陷的预防能力。 测试工程师,通过多版本的比较,可以有针对性的修改各版本中的测试用例,进行测试对比,找出升级版本带来的隐藏问题。
可持续测试
多版本对比的另一大特性是覆盖率合并,对于多个版本实现智能覆盖率合并,以前述的函数级多版本对比为基础,通过覆盖率合并算法,准确统计出当前最新版本的累积覆盖率,从而极大减少测试工程师的重复测试工作。
|