二、无需源代码的测试过程
TTC拥有国家级专利技术的TT测试示波器,它如同一个完美的中间件,把测试与代码两者隔离开来。应用程序实施测试时,只需要开发工程师提供编译后的文件,测试工程师不需源码即可获得相关统计类和指标类的数据。我们通过TT 示波器,可以非常直观的看到各种程序逻辑执行的速率、频率等信息。如果需要结合源代码显示更为详细的测试信息,可以选择开通相应的权限,进行动态关联、读取详细信息。 TTC示波器也是快速定位隐藏极深的BUG的有力武器。它在接收数据过程中可以对接收的函数进行时间排序,这个功能为测试人员快速定位BUG起到决定性的作用。在传统的黑盒测试中出现一个BUG时,测试人员需要描述测试场景、截图或视频、日志等,然后寻找开发进行分析和定位,但是由于有些缺陷很难复现、或因人工误操作描述不详细等错误,往往使得开发人员花费大量的精力进行Debug。而通过TTC测试,当应用程序出现崩溃点和错误时,测试或开发人员可以通过TT最后接收的函数信息,结合测试人员最后运行的场景,快速发现测试人员操作轨迹,并加以定位,大大缩短因BUG产生的额外工作量。(参见图3) TTC示波器可以辅助进行等价类判断。为了确保软件具有更高的可靠性,测试用例往往需要反复执行。在传统黑盒测试中,测试人员进行等价类测试只能通过最后的输出结果加以判断不同的输入是否为等价类,条件不够充分。TT示波器可以对每一步操作施行数字化的转换,从而对不同输入的测试指标进行精准对比,辅助进行等价类判断等。 TTC示波器可以进行程序行为变更的分析。通过对比示波器记录的用例上次运行指标和本次的运行指标(参见图4),可以判断对应的功能逻辑是否发生变化,并进行重点分析和回归测试,确保程序行为的变化可以被有效跟踪并对因此而可能产生的缺陷进行有效预防。 TTC 的Wild Testing适用于多种测试场景。由于TT示波器支持各种真机和模拟器等移动设备、WIFI、蓝牙、USB等多种通讯方式,因此应用程序不管在室内封闭的测试环境中还是在户外的移动环境中,测试人员都能通过TTC进行有效测试。TTC的示波器诞生不仅让原先枯燥的测试变的生动有趣,也为TTC奠定了它可以在行业内施行新型测试技术大推广的坚实基础。 图3-TTC示波器
三、TTC在企业授权后,面向工程师实施代码与测试用例的双向追溯什么是代码与测试用例的双向追溯?即:在TTC中运行一个测试用例后,通过程序,它可以自动回溯到这个测试用例执行的代码。反之,如果测试用户关注某一些代码行,它可以追溯出哪些测试用例在运行过程中跑过这段代码,并高亮显示出来给使用者。
正向追溯技术:
通过点击某个测试用例,追溯到该用例所对应的函数控制图,并展示其测试的逻辑和结构,点击其中某个函数,可以进行该函数的覆盖率、复杂度、代码、控制流程图等信息查看,帮助测试人员通过简单查看发现测试遗漏,有利于开发人员直接定位测试发现的缺陷,实现测试和开发之间的高效互动。因此,即使核心开发工程师离职时,整个应用程序的设计与开发思路依然清晰的保留在TTC里。交接者通过TT的正向追溯,可以快速了解测试用例所展现的程序逻辑和结构等信息,快速理解和掌握程序的开发思路。
逆向追溯技术:
通过点击函数列表的某个函数,追溯到该函数所对应的函数调用图、控制流程图以及源码,点击其中的源码,反向追溯到该源码所执行过的测试用例列表。通常情况下,当应用程序需要进行快速迭代时,测试人员往往无法精确判断代码变更后的影响面,只能对程序进行大量的回归测试,耗神费力。但通过逆向追溯,测试人员可以清晰的看到由于代码变更而影响到的测试用例表,从而进行一致性修改。
我们知道软件开发的两大核心阵营是开发和测试,两大阵营要求的技术专长各不相同。长久以来,开发和测试之间的交流途径基本凭口头描述或EXCEL表格进行人工核对。由于缺乏合适工具造成的信息不对称,极大影响了双方的工作效率,是IT领域里苦无良医的恶疾。即使是CMMI体系,也只是提出概念,并无实实在在的工具落实。
TTC的”源码与测试用例的双向追溯“专利技术,使开发和测试界跨过了这条沟通鸿沟,“天堑变通途”。双向追溯技术如同全景调试器一样,记录了每个测试用例对应的程序内部的执行细节,细致到每个条件,分支,语句块的执行情况。开发人员可以通过双向追溯的结果去理解程序逻辑,进行软件维护以及进行可一致性的修改,优雅而轻松地解决了开发和测试最头痛的缺陷复现难题,大大提升了测试和开发的交流效率。
TTC把每个测试工程师的每个测试用例进行量化分析和统计。这些量化数据既可以用来对测试结果以及测试过程进行审核,也能帮助测试人员从数字化分析角度反观测试用例设计是否合理、执行的测试用例是否不足。极大的弥补了由于测试人员自身的经验、能力、精神状况等因素,影响到的测试质量。管理者们也可以对症下药,拟定有针对性的学习计划、快速培养,使梯队成员水准即使在有限的时间里,都可以得到大幅提高。(参见图4)
图4-代码与测试用例的双向追溯
|