边做移动测试边看“示波器”--ThreadingTest带给你不一样的移动测试体验
一.移动黑盒测试的缺点:
随着移动设备的地位不断上升,移动设备上的应用质量已经成为了各大企业最关注的问题,在过去几年的移动测试中,移动测试基本是以黑盒的测试方法进行,用人数来点击出应用上的BUG,但是观察以往PC黑盒测试的经验,黑盒测试带来的不足处也将体现出来。
黑盒测试的优缺点
(A) 能最直观和直接地反映出所设计的软件是否满足需求;
(B) 即使没有任何测试工具支援,也能靠人工测试的方法完成;
其不足之处是:
(A) 这种测试方法难以找出某些特殊类型的错误。例如:当对应于某组输入该被测软件并不提供任何输出信息时 – 可能只是改变了某种工作状态,如果其中的源代码处理部分有错误, 就比较难找出来;
(B) 无法确定哪些测试用例有效或者无效 (所谓无效, 并不是说单独使用某个测试用例时不能收到任何测试效果, 而是在于它和前面已经使用过的测试用例一起使用时, 毫无贡献, 只是重复了前面的测试用例已经完成的测试);
(C) 具有无可避免的盲目性:当软件被修改后,由于不知道哪些测试用例能测试到被直接修改过的模块或者受修改过的模块影响的模块, 于是只好将所有测试用例再从头运行一遍, 而且是动态运行,非常费时费力。
二.Threading Test示波器展示的方式:
Threading Test(简称TT)是一款基于程序源代码的白盒测试工具,其产品中的Android版更是能测试现今Android设备上的各类应用和游戏,TT和以往PC上的白盒测试工具不同,它率先引入了测试示波器的概念,在实际测试的过程中,测试员可以看到类似于心电图的数据获取模式。
下图为运行植物大战僵尸时,示波器实时获取的数据图。
可以看到在运行游戏过程中,示波器会把游戏运行的块、条件、函数的数量以心电图的形式显示出来。
TT示波器新增的Console模式,让测试人员在测试过程中显示获取的函数名称(显示前50条)。并可以按自己需求以3秒-1分钟的自动刷新或手动刷新获取函数的列表。
上图中(1)为自动时间和手动刷新条。
(2)为获取的函数所在类名、函数名、函数的参数。
三.示波器心电图展示方式和Console模式带来的优点:
(1)观察程序是否正常运行,每个功能点的测试数据量是否正确,当示波器出现一根横线时,说明程序停止运行或者出现异常崩溃。
(2)当示波器心电图出现很高的波峰时,说明程序在高频率运行(如:我们激烈的摇晃着跑步机这款应用时)如出现很低的波谷时,说明程序在低速运行,或者有可能潜在的并发性问题以及瓶颈,这有利于测试人员通过示波器的跳动来观察程序的整体运行状况,而不是以前黑盒测试那样,只能凭借测试人员的经验来分析。
(3)在console中能看到最近的函数运行堆栈,当程序死锁或者崩溃时,可以显示奔溃前50个函数信息,记录详尽错误现场,这有利于抓住很难复现的程序错误的执行场景,大大缩短了测试人员和开发人员排查这些错误的时间。
(4)当测试同一个用例时,测试人员可以通过示波器的跳动规律进行查看,保证跳动规律精确一致,当出现不同时,测试人员可以通过Console进行快速的定位以便排查。
(5)应用性能的查看,通常被测程序运行的硬件环境配置越高,示波器显示的图形所处区域也更高,这有利于测试人员在多环境中测试时,分析程序的兼容性。
三. 大型网站抓取数据展示:
下图为大型网站Liferay的测试示波器图,我们可以看到在测试这种大型网站的过程中,示波器的引入,能让我们更加的了解该网站的函数信息,使以前的黑盒子测试(仅能看到功能的反馈无法看到程序内部的反馈)进行更加透明化的分析和查看。