4. 移动端测试设计的实践经验
  上文我们通过全面测试的指导思想提出了多种测试设计方法,但是每种测试方法其实都有一个佳测试时间,如在版本测试阶段,我们应当要先做基本功能测试,边界分析测试和中断,交互功能测试,快速发现bug提单给开发去快速修复,保证主体功能可以尽快得到保证,而不是一开始先纠结与性能,压力和兼容测试。一方面这类测试往往所消耗的时间会很长,降低了发现bug的速度,另一方面先做这部分测试后,再去发现主体功能的bug,那么在开发人员动了大量代码之后,还是要再执行一遍性能,压力和兼容测试的相关用例,不仅劳命伤财,效果还事倍功半。
  所以在实际项目测试中,当前我们的项目将测试内容分为功能测试,兼容性测试,性能测试,稳定性测试四项,分别在不同的测试阶段进行(具体排期在测试计划时确定):
  (1)功能测试 —— 版本测试阶段
  (2)兼容性测试 —— 回归测试阶段前期
  (3)性能测试 —— 回归测试阶段,版本功能稳定后执行
  (4)稳定性测试 —— 贯穿整个测试阶段,每晚执行monkey
  因此我们的功能用例更多的会使用『基本功能测试』,『边界分析测试』『中断功能测试』『交互功能测试』这几类测试用例设计方法。具体大家在做项目测试时,也建议通过实际情况做调整。
  荀子曰,”不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之,学至于行止矣。”上文讲的方法论,只有通过大量的坚持实践和不断的总结积累,才能打破固有思维,提升自己的测试用例设计能力。因此我们也提炼了一些移动客户端的常见功能的测试用例设计点,这里提供下我们总结的APP页面类型功能的测试点,大致如下:
  1. UE体验
  (1)布局与交互图保持一致
  (2)真机效果与UE图没有视觉上的严重偏差,如字号,字体大小,加粗,字体颜色,行高,行间距,按钮摆放位置,间隔,尺寸等。
  (3)资源图正确使用,没有不必要的拉伸,压缩或其他效果。
  (4)各种提示,文字通顺不产生歧义,展示符合用户使用习惯。
  (5)动画效果不卡顿,正常展现。
  2. 页面操作
  (1)是否有防重复点击,即连续快速点击不会出现多个页面或弹窗
  (2)单指滑动,单指单击,单指双击,单指长按,单指缩放,多指点击
  (3)摇一摇,横竖屏切换,前后台切换
  (4)长时间使用,长时间放在后台
  3. 不同场景下的页面操作
  (1)不同网络,弱网下的页面跳转,点击响应的展现效果
  (2)修改本地参数后的页面操作展现效果,如修改日期,时间,时区,语言,键盘等
  (3)修改系统权限后的页面操作展现效果,如打开关闭定位,摄像,照片,通讯录等的授权等
  (4)页面操作过程中有系统打断,如来电,短信,闹钟提醒,日历提醒,蓝牙提醒,插拔数据线,插拔耳机,待机,锁屏,低电量提醒等
  (5)页面操作过程中进行前后台切换,如当页面数据交换时,有弹窗,提示框的时机进行切换容易发现问题。
  (6)针对非主线程调用的接口,前端要对异常及无网络情况做异步处理,不提示异常且不影响主线程操作。
  4. 页面数据获取和展现
  (1)页面是否有缓存,缓存机制是怎样的,缓存的内容有哪些
  (2)在提交页面数据失败后是否有重试机制,重试的接口参数是否保持不变
  (3)在页面操作过程中,异步接口返回的内容,是否对用户透明(客户端兼容忽略请求返回msg)
  (4)在页面操作过程中,对于接口返回的异常数据,客户端需兼容,保证程序不crash。
  5.写在后面的话
  在管理团队的过程中,经常有测试人员会跟我抱怨开发人员不重视我们,测试地位很低等等。其实这个现象挺正常的,当我们基础的测试工作没有做好,线上漏测多,测试结论经常被推翻时,我们在测试方向上的专业性会受到质疑,人家都不相信你了怎样还能重视你?
  有办法改变现状吗?
  有的,先从做好测试用例设计开始。
  地基打稳了,才有拔地而起的高楼大厦!
  转自:http://www.jianshu.com/p/3e5fa338aec7