搜索
您的当前位置:首页移动端测试用例设计总结-笔记

移动端测试用例设计总结-笔记

来源:乌哈旅游
移动端测试⽤例设计总结-笔记

此⽂来源于公开课笔记!!!

⼀、前⾔

  作为移动互联⽹产品『最后⼀公⾥的守护者』,我们必须要清楚的知道⾃⼰该做什么、怎么做。但从版本迭代速度、需求量级、测试⼈员不断变动等⽅⾯综合来看,我们很多⼈都没有做好充分的准备。测试⽅法落后、测试⽤例覆盖不全、测试效率低下,使得测试将要成为阻碍产品质量进⼀步提升的另⼀瓶颈。

  因此,沉淀⼀下⾃⼰的⼯作⼼得,希望能帮助更多的⼈完善测试设计,提升⾃我测试能⼒。

⼆、提⾼测试⽤例质量

  测试⽤例的存在,能对复杂需求的功能质量提升,以及⾃⾝测试效率的提升,起到⾮常基本的促进作⽤。因为测试⽤例本⾝就是通过对需求点的梳理,找出潜在的测试点,避免测试点的遗漏。

  那么问题来了:为什么要强调提升测试⽤例质量呢?

  测试⽤例设计能⼒的好坏,直接关系到各⾓⾊peer,尤其是开发⼈员对测试⼈员的印象的好坏。就如同测试⼈员去评价⼀位优秀的开发⼈员:代码规范、Bug少;思维严谨、效率⾼;沟通顺畅、责任⼼强…

  同样的,开发⼈员去评价⼀名优秀的测试⼈员,也⽆⾮这⼏个⽅⾯:case覆盖全、漏测少;思维严谨、效率⾼;沟通顺畅、责任⼼强。  从这就可以看出,就像开发⼈员写不出好代码⼀样,测试⼈员测试⽤例设计的不好,其实是⼀件挺丢⾯⼉的事。

  此外,好的测试⽤例,对测试质量和测试效率,有着很⼤的影响。因为好的测试⽤例的设计,是需要在层层剖析功能需求,以及对开发设计逻辑深⼊理解的情况下构造出来的。因⽽,需求点挖的越深,测试点覆盖的就会越全⾯,漏测的⼏率也就越低。同时,在梳理测试点的过程中,我们能够很清楚的找出各个测试点之间的各种关系:互斥、前后关联、相互影响等,通过对这种测试点之间相互关系的认识,⼜能够帮助测试⼈员有效地设计测试⽤例的执⾏顺序,省去了在执⾏阶段费⼼构造设计的时间,⾃然⽽然地提⾼了测试⼈员的测试效率。

三、好的测试⽤例的特点

  不同的测试⼈员,可能存在这不同的测试⽤例设计风格。但也不外乎以下⼏种共性:  合理的组织结构。⽤良好的测试⽤例结构框架,聚焦到不同的关注模块,清晰且可延展。  精简的⽤例条例。⽤较少的测试⽤例,描述清楚测试点的覆盖,全⾯⽽不冗余。  稳定的测试⽅法。在⼀定的执⾏条件、顺序下,有明确的执⾏结果。

  在进⾏测试⽤例设计的时候,建议像写论⽂⼀样,由提纲契领到逐步细化。在基本功能点的基础上逐步增加细节,不要过早陷⼊细节描述。同时,测试⽤例的粒度,要根据测试效率和效果来综合评估。

四、移动端测试设计⽅法

  考虑到移动端平台及系统的多样化、功能需求的复杂化,使⽤传统的⽤例组织⽅式(例如等价类划分、边界值分析、因果分析等)⽽将测试仅仅停留在基本功能上,⽬前看来已经远远不够,测试⼈员还需要从⾯向问题发现的⾓度来组织测试⽤例。即由Bug可能的分布点来考虑测试内容。  因此,在实际的项⽬中,移动端测试⼤致分为以下⼏点:

  基础测试:基本功能、数据交互(边界值、异常数据等)基本功能测试,可以通过功能分析、因果分析⽅法,将功能分层,逐级细化,先画出框架、草图,再⽂字细化。这⼀部分在⼀轮完整的测试后,通常即可保证该功能基本是完备的,之后的问题⼀般是出现在基本功能之上的特殊状况中。因此,这⼀环节中,可以暂不考虑功能实现的好坏、特殊场景及特殊操作的影响,也就将基本功能测试点和其他特殊测试内容进⾏了分离。这样组织,也有利于裁剪测试⽤例,将更多的精⼒放在容易发⽣问题的部分,⽽这⼀部分的基本功能则可以通过特殊状况的检验⽽覆盖到。

  数据交互测试,主要是在基本功能的基础上,考虑各种输⼊输出。⼀般基本功能容易在边界附近出现问题。这⾥可以根据梳理初的基本功能草图,确定哪些部分可能存在相应的问题,然后加以构造。例如,输⼊的数值范围、字符长短、内容缺失、字符/数字类型是否⽀持等。  性能测试:响应速度、资源占⽤(CPU、电量等)、流量消耗、稳定性

  测试⼈员在进⾏产品测试过程中,对于响应速度、资源占⽤、流量消耗、CPU占⽤的测试,会有明确的⽤户主管感受。⽽判断产品性能是否符合预期,不能只凭主管感受,需要对合适的竞品进⾏分析,从竞品的核⼼⽤例得出⼀个benchmark。因此,⽴项初期,测试⼈员对预期的⽬标应该有⼀个清晰的认识。

  异常测试:中断测试(来电、短信、闹钟、⽇历、锁屏、弹窗等)、应⽤交互(资源抢夺、应⽤切换等)、⼿势测试(快速连续点击、多触屏点点击、滑动⼿势等)、硬件异常(存储空间不⾜等)

  在设备平台强⼤的功能背景下,应⽤于应⽤之间,会存在执⾏状态被打断的情况,例如:来电、短信、闹钟、⽇历、锁屏、弹窗等;⽽在应⽤层更低⼀层的资源层⾯,也会存在这资源抢夺及公⽤的情况,例如:⾳频资源、摄像资源、内存占⽤等。

  兼容测试:⽹络兼容、操作系统兼容、分辨率兼容、版本兼容、硬件设备兼容(蓝⽛、存储卡等)、第三⽅应⽤兼容(输⼊法等)  兼容测试是指新开发的软件在某⼀特定环境(例如:特定硬件平台、特定操作系统)下,与各应⽤软件之间的能够很好的运⾏。

五、测试⽤例设计结合实践

  上⽂中提到了多个测试点,但每个测试其实都有⼀个最佳的测试时间。例如在版本开发测试阶段,测试⼈员应将重点集中在基础测试上,快速发现问题并推动修复,保证主体功能得到快速实现,⽽⾮在初始就纠结性能、压⼒、兼容性,避免研发⼈员在改动⼤量代码之后,还需要再重新执⾏⼀遍性能、压⼒、兼容相关测试,降低测试效率。所以,在设定测试计划时,就要明确不同测试阶段需要进⾏的⼯作。⼀般可按照以下阶段进⾏:  基础测试、异常测试——版本开发测试阶段;  兼容测试——回归测试阶段;

  性能测试——回归测试阶段,待功能稳定后进⾏;  稳定性测试——建议在整个测试阶段,每晚进⾏;

  以移动APP NA页⾯为例,提炼出⼀些移动端常见功能的测试⽤例设计点:  1.UE/UI体验

  (1)布局与交互图保持是否⼀致

  (2)真机效果与UE图没有视觉上的严重偏差,如字号,字体⼤⼩,加粗,字体颜⾊,⾏⾼,⾏间距,按钮摆放位置,间隔,尺⼨等。  (3)资源图正确使⽤,没有不必要的拉伸,压缩或其他效果。  (4)各种提⽰,⽂字通顺不产⽣歧义,展⽰符合⽤户使⽤习惯。  (5)动画效果不卡顿,正常展现。  2.数据交互

  (1)页⾯是否有缓存,缓存机制是怎样的,缓存的内容有哪些

  (2)在提交页⾯数据失败后是否有重试机制,重试的接⼝参数是否保持不变

  (3)在页⾯操作过程中,异步接⼝返回的内容,是否对⽤户透明(客户端兼容忽略请求返回msg)  (4)在页⾯操作过程中,对于接⼝返回的异常数据,客户端需兼容,保证程序不crash。  3.⼿势/操作

  (1)是否有防重复点击,即连续快速点击不会出现多个页⾯或弹窗  (2)单指滑动,单指单击,单指双击,单指长按,单指缩放,多指点击  (3)摇⼀摇,横竖屏切换,前后台切换  (4)长时间使⽤,长时间放在后台  4.场景⼲扰

  (1)不同⽹络,弱⽹下的页⾯跳转,点击响应的展现效果

  (2)修改本地参数后的页⾯操作展现效果,如修改⽇期,时间,时区,语⾔,键盘等

  (3)修改系统权限后的页⾯操作展现效果,如打开关闭定位,摄像,照⽚,通讯录等的授权等

  (4)页⾯操作过程中有系统打断,如来电,短信,闹钟提醒,⽇历提醒,蓝⽛提醒,插拔数据线,插拔⽿机,待机,锁屏,低电量提醒等  (5)页⾯操作过程中进⾏前后台切换,如当页⾯数据交换时,有弹窗,提⽰框的时机进⾏切换容易发现问题。 (6)针对⾮主线程调⽤的接⼝,前端要对异常及⽆⽹络情况做异步处理,不提⽰异常且不影响主线程操作。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top