一种测试处理方法及装置的制造方法_2

文档序号:9691590阅读:来源:国知局
理方法的详细流程,包括:
[0035]步骤S210:修改build脚本,对class文件进行插桩。
[0036]修改build脚本是为了插桩做准备工作,修改build脚本使代码变成应用文件,build脚本会告诉build工具要把插桩的代码包含进去。以一个【具体实施方式】为例,在build, xml 中插入一个 antcall target, target 为 aspect j 单独放在 build_aspect j.xml。
[0037]图3a和图3b分别示出了根据本发明实施例的修改build脚本的情景。
[0038]如图3a所不,在build, xml中插入一个antcall target, antcall用于调用本脚本文件中的target。
[0039]如图3b 所不,target 为 aspectj 单独放在 build_aspect j.xml, aspect j 用来生成class文件。
[0040]class文件即为测试程序内部的网络类型文件,对网络类型文件进行插桩,也就是对class文件进行插桩,插入的是与待测试网络的类型相对应的文件。
[0041]步骤S220:编译插桩后的class文件,形成测试程序。
[0042]如果是安卓系统,编译后形成的是apk格式的测试程序,如果是1s系统,编译后形成的是ipa格式的测试程序。
[0043]步骤S230:启动测试程序,获取应用程序当前接入网络的类型信息和待测试网络的类型信息。
[0044]应用程序当前接入网络的类型信息包括应用程序当前接入网络的类型和代表当前接入的网络类型的第二网络类型返回值。
[0045]获取当前接入网络的类型信息的方式可以使用系统提供API的方式获取,提供的API包括:
[0046]android, net.Networklnf0.getType ()、
[0047]android, net.Networklnf0.getSubType ()、
[0048]android, telephony.TelephonyManager.getNetworkType()。
[0049]通过上述的API接口就能获取测试程序当前接入的网络类型和表示该网络类型的第二网络类型返回值。
[0050]待测试网络的类型信息是通过在测试程序内部的网络类型文件中插入与待测试网络的类型相对应的文件获取的,而与待测试网络的类型相对应的文件是通过配置文件方式或socket通信方式生成的。
[0051]与待测试网络的类型相对应的文件即为预设的网络配置文件,也就是用户设置的网络配置文件,网络配置文件包括待测试网络的类型和第一网络类型返回值两方面内容,预设的网络类型就是待测试网络的类型,也就是需要用户设置的网络类型,第一网络类型返回值代表待测试网络的类型,也是通过用户设置的。
[0052]因此,通过在测试程序内部的网络类型文件中插入与待测试网络的类型相对应的文件获取的待测试网络的类型信息包括待测试的网络类型和表示该网络类型的第一网络类型返回值,都是通过用户设置的网络配置文件获取的。
[0053]上述获取当前接入网络的类型信息和待测试网络的类型信息是不分先后顺序的,既可以先获取待测试网络的类型信息,也可以先获取当前接入网络的类型信息。
[0054]图4示出了根据本发明实施例的网络类型与网络类型返回值的对照图,其中,wifi网络类型对应的网络类型返回值为0*99999999,GPRS网络类型对应的网络类型返回值为0*000000001,其它网络类型与其相对应的网络类型返回值参考图4。
[0055]步骤S240:判断测试程序当前接入网络的类型与待测试网络的类型是否相同;如果相同,执行步骤S260 ;如果不相同,执行步骤S250。
[0056]步骤S250:将第二网络类型返回值替换为第一网络类型返回值。
[0057]在将第二网络类型返回值替换为第一网络类型返回值后,测试程序当前接入网络的类型会虚拟成待测试网络的类型,此时,已完成虚拟待测试网络类型的工作,测试程序可以根据虚拟的待测试网络进行测试。
[0058]步骤S260:按照默认方式处理。
[0059]默认方式指的是不进行第一网络类型返回值和第二网络类型返回值的替换,由于待测试网络的类型与测试程序当前接入的网络类型相同,不需要改变网络类型即可测试,因此,无需进行第一网络类型返回值和第二网络类型返回值的替换。
[0060]为了进一步体现发明效果,将采用本发明取得的效果与传统测试方法取得的效果进行比较,下面进行了两组测试:
[0061]第一组,测试“当网络从wifi切换到移动网络时,浏览器会自动切换到极速模式”
[0062]按照传统测试方法,需要覆盖的场景非常多,如wif1、GPRS、WCDMA等等移动网络,在wifi网络和上述那些网络之间互相切换,并且,在切换网络之后不一定能正确切换到极速模式。而国外网络,除了需要特定的手机卡之外,又需要特殊的手机设备,实际上测试起来非常麻烦。
[0063]而使用本发明提供的测试处理方法,只需要在程序代码中插桩,通过修改与网络类型相对应的网络类型返回值,即可伪装成对应的网络,不需要真实地使用特殊手机卡和手机设备即可测试,而测试效果与传统测试方法相同。
[0064]第二组,测试“某照片类app,当用户在wifi环境下时,自动下载云端数据,并预上传用户本地照片;而当在mobile网络下时,不做自动下载和预上传”逻辑的正确性。
[0065]传统测试方法,使用特定mobile网络卡+相应的手机设备,然后在这种网络环境下验证逻辑的正确性。然后在mobile网络下上传和下载速度比wifi都慢很多,而逻辑的验证本身和网络速度并没有联系。
[0066]使用本发明提供的测试处理方法,是在测试过程中使用插桩的方法模拟了 mobile网络,并不真正需要特定mobile网络卡+相应的手机设备,整个过程使用的全是wifi网络,这种测试方案易实现、低成本、低耗时,且对结果不造成任何干扰。
[0067]与上述测试处理方法相对应,本发明提供一种测试处理装置。图5示出了根据本发明实施例的测试处理装置的逻辑结构。
[0068]如图5所示,本发明实施例提供的测试处理装置500,包括文件插桩单元510、待测试网络类型信息获取单元520、当前网络类型信息获取单元530和返回值替换单元540。
[0069]其中,文件插桩单元510用于在测试程序内部的网络类型文件中插入与待测试网络的类型相对应的文件。
[0070]待测试网络类型信息获取单元520,用于通过插入的与待测试网络的类型相对应的文件,获取待测试网络的类型信息;其中,待测试网络的类型信息包括待测试网络的类型和表示待测试网络的类型的第一网络类型返回值;
[0071]当前网络类型信息获取单元530,用于获取测试程序当前接入网络的类型信息;其中,测试程序当前接入网络的类型信息包括测试程序当前接入网络的类型和表示测试程序当前接入网络的类型的第二网络类型返回值;
[0072]返回值替换单元540,用于在测试程序当前接入网络的类型与待测试网络的类型不同时,将第二网络类型返回值替换为第一网络类型返回值,使测试程序当前接入网络的类型变为接入待测试网络的类型。
[0073]图6示出了根据本发明实施例的测试处理装置的一个【具体实施方式】的逻辑结构。
[0074]如图6所示,测试处理装置500还包括网络类型判断单元550,用于在获取待测试网络的类型信息和测试程序当前接入网络的类型信息后,判断测试程序当前接入网络的类型与待测试网络的类型是否相同;如果相同,不进行第二网络类型返回值与第一网络类型返回值的替换;如果不相同,返回值替换单元540将第二网络类型返回值替换为第一网络类型返
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1