在我们的测试工作中,对于某个APP的测试其实有很多东西都是类似的可以抽象出来的,所以针对APP的测试过程和重点关注内容,做以下梳理和总结。

  一、首先是测试资源确认及准备  

  1.1 

  产品需求文档、产品原型图、接口说明文档以及设计说明文档等应齐全;

  1.2  

   测试设备及工具的准备:IOS和andriod不同版本的真机,以及相关测试工具的准备。

  二、测试用例的设计与评审

  (1)根据产品需求文档、产品原型图等文档,设计客户端的一般功能测试用例;

  (2)测试用例评审、修改与完善,评审通过后着手进入正式测试阶段。

  三、UI测试

  (1)确保手头的原型图与效果图为当前最新版本,符合产品经理及用户要求;

  (2)测试过程中一切以效果图为准,若有用户体验方面的建议,可以先以邮件的形式与产品经理确认,确认通过后,可以正式向开发提出用户体验方面的问题;

  (3)由于测试环境中的数据为模拟数据,测试时必须预先考虑到正式环境中可能出现的数据类型。

  四、功能测试

  (1)功能测试时主要依据编写的功能测试用例进行软件功能的遍历;

  (2)涉及的测试主要包括基本功能测试,安装、卸载、运行测试,异常处理(包括网络突然断开或者网速过慢、机器内存不足等异常情况的处理)测试。

  五、中断测试

  (1)软件运行过程中接电话、收短信、锁屏、闹铃、充电,收到通知提醒后再使用软件,软件应仍可正常运行使用;

  (2)软件运行时,由前台切换到后台,再切回前台后,应仍可正常运行使用。

  六、兼容性及适配测试

  (1)硬件的适配:不同手机厂商、硬件性能,不同屏幕大小的适配;

  (2)OS版本的兼容:IOS6-9;Andriod3以上等,如果用了一些新的API在老的系统上不支持会导致crash;

  (3)不同分辨率屏幕的适配:移动设备的分辨率多种多样,如果APP没有做比较合适的处理就可能会显示不好,甚至影响功能的操作。

  (4)兼容性测试必须在一定数量的真机上进行,由于真机类型过多,尤其Android在做兼容性测试时,可以选取典型的几种运用较多的真机,进行兼容性测试;

  (5)另外可以借助开源测试testin云测,进行更多机型的兼容性测试,testin云测提供基本的运行情况和一些截图,以及简单的测试报告,有助于扩大测试的范围。

  七、性能测试

  (1)客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的CPU、内存、流量、耗电量等,以及与同类产品相比较是否有优势;

  (2)其中页面加载时间可以利用Android调试工具DDMS获取到,在DDMS里面搜索Displayed关键字就可以看到页面加载时间;

  (3)运行过程中主要功能占用的CPU、内存、流量等可以借助开源工具emmagee(适用于Android)获取到;

  (4)至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事物通过率等,可以视同工具loadrunner、jmeter进行测试。

  八、稳定性测试 

  8.1

  安卓APP的稳定性常常使用monkey命令进行测试,通过随机事件流模拟人的操作,对检查程序的内存溢出、空指针有很大的作用。

  8.2

  Monkey主要用来检测系统ANR及Crash等问题

  九、测试分析及测试报告输出

  以上各项测试结束后,应该形成完整的分析及报告文档(包括buglist、性能及稳定性结果分析,版本上线风险分析等内容),输出给各项相关人员。

  十、移动端测试用例的实践经验

  每种测试方法其实都有一个最佳测试时间,如在版本测试阶段,我们应当要先做基本功能测试,边界分析测试和中断,交互功能测试,快速发现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.写在后面的话

  在管理团队的过程中,经常有测试人员会跟我抱怨开发人员不重视我们,测试地位很低等等。其实这个现象挺正常的,当我们基础的测试工作没有做好,线上漏测多,测试结论经常被推翻时,我们在测试方向上的专业性就会受到质疑,人家都不相信你了怎样还能重视你?

转载于:https://www.cnblogs.com/lfj0702/p/8433177.html

APP移动测试用例总结相关推荐

  1. 移动App兼容性测试用例怎么设计

    之前我有写过一篇<为什么兼容性测试如此重要>,从不一样角度阐述了兼容性测试重要性,今天我在分享一下,移动App兼容性测试用例怎么设计,也是干货满满.废话不多说,进入我们正题. 兼容性测试是 ...

  2. 软件测试-微信点赞和APP功能测试用例

    通常说来,我们考虑一个测试对象的时候至少从以下六方面来考虑: 功能性 易用性 可靠性 性能 安全 兼容性 比如下面的两个测试对象 1.微信点赞功能测试用例? 点赞和取消点赞功能 点赞是否按时间顺序显示 ...

  3. APP移动测试用例总结,总有你要用到的

    目录 前言 一.首先是测试资源确认及准备 二.测试用例的设计与评审 三.UI测试 四.功能测试 五.中断测试 六.兼容性及适配测试 七.性能测试 八.稳定性测试 九.测试分析及测试报告输出 十.移动端 ...

  4. APP android 测试用例手册

    一.客户端程序安全测试 1.检查apk的信息 java -jar GetApkInfo.jar  tfkj.apk 2.数字签名检查 C:\Program Files\Java\jdk1.8.0_11 ...

  5. 嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!

    ------·今天距2020年87天·------ 这是ITester小栈第49次推文 大家好,我是coco小锦鲤 经过之前的APP系列 我们知道了APP的测试流程 也列举了APP通用测试用例 还解答 ...

  6. (附源码)springboot校园购物网站APP 毕业设计041037

    springboot校园购物网站APP 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  7. APP+spring boot校园购物网站 毕业设计-附源码041037

    springboot校园购物网站APP 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  8. 软件测试之黑盒测试方法介绍及测试用例练习

    一.因果图法 1. 概念 因果图是一种逻辑图,表示:恒等.与.或.非 当输入有很多时,不同输入的组合对应不同的输出,用因果图来分析不同输入组合和不同输出组合之间的关系 恒等:在恒等关系中,要求程序有1 ...

  9. 【吊打面试官系列】APP测试常见面试题解析

    App测试 1.什么是手机测试?什么是手机软件测试? 手机测试:指对手机硬件.软件和结构等多方面的测试. 手机软件测试:就是对手机上的软件App进行测试的一个过程,他是符合多种网络,不同系统不同分辨率 ...

最新文章

  1. Linux C编程学习--main()函数简析
  2. WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法
  3. 全排列(去除重复)Permutations II
  4. 2017.7.27 bill的挑战 失败总结
  5. 一个html数据编辑模板
  6. 修改手游服务器端数据库,手游服务端框架之配置与玩家数据库设计
  7. VS错误的解决办法:error LNK2019: 无法解析的外部符号
  8. JavaScript JSON 格式操作
  9. 香港拼音--汉字对照表
  10. 计算机科学与技术审核评估专家,中国农业大学 业务动态 审核评估专家Sir Timothy深度走访网络技术中心...
  11. 【Qbot】1.ChatGPT简介与Q群机器人部署教程
  12. #10019. 「一本通 1.3 例 2」生日蛋糕
  13. 【报告分享】2019短视频平台数据报告-抖音快手.pdf(附下载链接)
  14. 为什么写论文时一定要引用论文?
  15. 手机版本考试系统载图
  16. 自动驾驶发展_自动驾驶网络及其发展
  17. python语法糖的本质_科学网—Python语法糖之:列表解析、集合解析和字典解析 - 陈同的博文...
  18. 一、了解Scrapy
  19. [#####][领域]一、幼儿园教育
  20. 欧洲计算机视觉国际会议ECCR20最新论文整理分享

热门文章

  1. Tornado web开发之简单文件上传
  2. mysql5.6 load_MySQL 5.6 dump/load buffer pool实验
  3. 【Flink】This YARN version does not support getSchedulerResourceTypes
  4. 【netty】netty HashedWheelTimer 延时队列
  5. 【Java】java Arrays.asList 在idea 下 debug 不同结果的表现 非常诡异 胆小勿入
  6. 【Kafka】kafka 1.0.0 查询订阅某topic的所有consumer group
  7. 【Elasticsearch】Elasticsearch 索引策略
  8. Xcode 9.2下载地址
  9. Spring : Spring kafka 入门Demo
  10. 95-130-022-源码-source-基于socket的source源码分析SocketTextStreamFunction