测试工作的理解和认知
-
没做测试前
测试很简单,不就是拿手机测测Bug啊,哪里出问题就告诉程序员改,让他们自己改去吧; -
做测试后
测试不容易啊!测试不仅要找出代码的Bug,还要对不是很好的产品设计进行提出改进意见,同时对出现的Bug等级要进行细分:有紧急的,重要的,中,轻微...;还要对Bug出现的原因,以及对出现Bug的操作进行详细描述然后告诉研发。这期间你还需要和研发沟通,而研发又有客户端研发和服务端研发,你需要将Bug出现的原因区分,然后对应的去找研发沟通,对于研发已经解决的问题测试还需要再复测一遍。最后复测通过了才算解决问题。如果版本更新了,测试人员有时间还是需要复测之前测通过的功能,因为研发开发新功能可能导致旧的功能会出现问题,为了确保我们软件的健壮性,这些都需要我们测试人员去做好! -
根据测试场景进行测试
- 这是最简单的,也是最基础的。需要的就是你对着测试场景去用不同的手机进行测试,然后在Bug提交工具(redmine)上提交。在这块提交是有技巧的,不能乱提交。
- 提交Bug单需要分清Bug的来源,Bug的紧急,同时还要对Bug进行描述,截图,复现后和开发进行沟通交流。
- 通过和开发的交流反馈,然后开发进行调整打出一个新的包,我们再进行复测,直到没有问题,然后在redmine上清理Bug单。
-
UI测试:这块是最考验测试人员的耐心和细心的。有时候你需要将多个分辨率的手机打开一个页面同时观察某个模块的UI展示是否正常。
-
功能测试:需要对用户使用我们的软件尽可能出现的情况进行测试,例如:有网、无网、网好网坏以及一些操作。对于不同版本系统的手机需要都需要测试,特别是低版本的手机。
-
内存测试:内存测试需要掌握方法,测试一项操作时需要连续测试然后取平均值。同时在没有源码时测试人员需要学习工具(GT或者emmagee)的使用,有了源码可以使用AS自带的工具测试Memory Monitor进行测试。
内存测试我们主要关心PSS(proportional set size)值。PSS是按比例包含了其所使用的共享库大小;例如,三个进程使用同一个占用30内存页的共享库。对于三个进程中的任何一个,PSS将只包括其中的10个内存页。PSS是一个非常有用的数字,因为系统中全部进程以整体的方式被统计,对于系统中的整体内存使用是一个很好的描述。如果一个进程被终止,其PSS中所使用的共享库大小将会重新按比例分配给剩下的并且仍在使用该共享库的进程。
VSS————是单个进程全部可访问的地址空间,其大小包括可能还尚未在内存中驻留的部分。VSS 用处不大。
RSS————是单个进程实际占用的内存大小,RSS 易被误导的原因在于, 它包括了该进程所使用的所有共享库的全部内存大小。RSS也不是一个精确的描述。
USS————是单个进程的全部私有内存大小,亦即全部被该进程独占的内存大小;
USS是一个非常非常有用的数字,因为它揭示了运行一个特定进程的真实的内存增量大小,如果进程被终止,USS就是实际被返还给系统的内存大小。USS 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字
- GT
GT(随身调)是APP的随身调测平台,它是直接运行在手机上的“集成调测环境”(IDTE, Integrated Debug Environment)。利用GT,仅凭一部手机,无需连接电脑,您即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。如果您觉得GT提供的功能还不够满足您的需要,您还可以利用GT提供的基础API自行开发有特殊功能的GT插件,帮助您解决更加复杂的APP调试问题。
GT支持iOS和Android两个手机平台,其中:
iOS版是一个Framework包,必须嵌入APP工程,编译出带GT的APP才能使用;iPhone和iPad应用都能支持。
Android版由一个可直接安装的GT控制台APP和GT SDK组成,GT控制台可以独立安装使用,SDK需嵌入被调测的应用、并利用GT控制台进行信息展示和参数修改。 - Emmagee
Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,并最终生成一份性能统计文件。 - 综合比较了二者我选择了Emmagee。为什么使用Emmagee?
1、开源
2、使用方便
3、可以监控单个应用性能
4、浮窗显示实时展示数据
5、CSV格式保存性能数据,方便转换为其它格式
6、用户自定义采集性能数据频率
7、不用源码也能测试内存占用率
客户端、服务端、产品、测试配合沟通中出现的问题或者工作不顺利的地方
-
测试与客户端的情与仇
- 测试过程中写不好Bug的紧急情况会影响Bug的修复时间
- 测试过程中对于出现的Bug要能进行复现后再去找研发,否则会耽误大家时间。
- 测试在提交redmine一定要截图,因为测试人员有时候会描述不清问题。
-
测试与服务端的爱与恨
- 测试在测功能时最好能把接口也一并测试,这样就会省去先测功能,再测接口的过程。
- 积极和服务端沟通,因为服务端人员相对较少,处理问题上时间跟不上。
-
测试与产品的猫抓老鼠游戏
- 有时候测试出Bug,但是产品会觉得有些问题就是这么设计的。因此在进行测试时需要产品给出产品的设计文档,省时省力!
- 测试和产品沟通还是不够。
in a word,要做好测试,需要不断学习。需要细心和耐心!同时测试需要培养的是大局观,需要分清哪个Bug对于当前任务是紧急的。finally,沟通和文档很重要!