01- APP移动端测试怎么测试?APP测试方法大全。
由于智能手机时代来临,很多产品都有了APP,作为一个测试人员掌握APP测试是必要的。
在展开APP测试之前,首先了解一下几个点:
1.基于软件测试框架之上。复习下软件测试框架。
2.框架的内容贯穿于APP测试(以及其他的测试)始终。
3.软件测试用例的设计,软件的熟悉程度软件测试思维的锻炼,是所有测试的关键和基本。
学习更多测试点击:更多测试学习
目录
如何学习手机APP测试
了解手机行业
了解APP行业
熟悉手机
熟悉流行的APP
先从业务入手,熟悉基本测试点,测试技巧与方法。
在深入到架构
先从功能和思维入手
再说性能和自动化
移动端测试技术概述
广义的将包括手机,笔记本,平板电脑,pos机甚至包括车载电话。但是大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。
APP测试涉及技术:
功能性测试(手动/云测)
兼容性测试(Fiddler)
稳定性测试 (Monkey)
安全性测试
性能测试(GT)
H5测试
手机操作系统
智能手机组成部分:主要可以分为两部分,硬件和软件。硬件就是处理器、手机屏幕、电池、相机传感器等电子元器件。软件就是系统、框架和各类应用程序了。
智能手机硬件组成:SoC、RAM、ROM、电池、屏幕、传感器等。
智能手机操作系统:
ISO:Cisco的网际操作系统(iOS)是一个为网际互连优化的操作系统--类似一个局域操作系统(NOS)。
Android:Android是一种以linux为基础的开发源代码操作系统。
安卓手机的架构:
1.applications:日历;联系人,邮件等,用java编写。
2.应用程序框架:开发人员可以访问框架api。
3.系统运行库:为开发者提供服务。
4.linux内核
掌握了手机与APP的结构以后下面来看APP测试的几种测试方法。
功能测试:
-根据软件说明或者用户需求验证APP的各个功能实现:
1.根据需求,提炼APP的用户使用场景,验证功能。
2.根据相关测试标准,验证功能。
3.根据被测功能点的特性采用特定的方法进行测试。
4.在测试过程中,及时修正业务或需求理解错误。
常见的功能缺陷
1.功能不起作用(菜单,按钮,连接,控件失效)
2.功能错误(与预期的功能不一致,计算结果错误,显示结果错误)
3.功能缺少(缺少应该具备的菜单,按钮,选项等)
4.执行功能以后系统瘫痪(崩溃,CPU不足)
5.执行功能以后当前功能无法继续操作。
APP UI测试:
UI user interface (用户界面)
确保用户界面符合公司或行业标准。包括用户友好性,人性化,易操作性测试。地域性。
-UI测试的目标是确保用户通过界面能够正确,快速,有效的使用软件的各项功能。
测试用户界面包括:
1.页面是否美观。
2.文字是否正确:操作手机,帮助文档等。
3.文字图片组合是否完美,操作是否友好。
4.菜单,对话框,窗口,控件布局,风格是否满足客户需求。
UI测试的目标是确保用户通过界面能够正确,快速,有效的使用软件的各项功能。确保用户界面符合公司或行业的标准。包括用户友好型,人性化。UI界面对比。图片对比。
APP兼容性测试:
1.操作系统版本。
2.屏幕分辨率。
APP弱网测试:
1.测试软件在2g 3g 4g wifiwifi(100m,200m)网络下应用运行的速度。
2.一般测试环境都是公司的内网进行测试,到外网环境下进行操作是否有异常,(测试环境,正式环境,验收环境)
3.网络不好或者很差的时候,进行数据提交,数据是否交换失败。(曾把网络速度设置为0,提交数据,一直在转圈,友好提示/anr)
4.有网到无网再到有网环境时,数据是否可以自动恢复,正常加载。
APP稳定性测试:
1.在保证基本功能正确的基础上,APP的稳定性就显得特别重要了。如果一个APP应用经常出现闪退或者卡顿,用户体验很差,在有竞品的情况下,很容易造成用户流失。
2.稳定性的问题,可以通过黑盒测试,灰度内测,以及用户的反馈得以发现而修改。
灰度内测:指有没有限制的内测。但是还是会限制用户身份,即只有资格的用户才可以获得内测软件。
稳定性测试工具:Monkey
APP安全性测试:
app的安全性不言而喻,安全性涉及到权限设置,敏感信息存储,日志中的敏感信息,第三方键盘是否恶意劫持信息。密码显示,密码输入,修改密码,动态验证码。
1.APP软件因为涉及到用户隐私,因为安全性测试很重要,比如iOS出现iCloud艳照门这样的事件,感兴趣的百度一下“好莱坞艳照门”,起因是黑客使用了Apple公司的find my iphone 服务的漏洞,进行暴力破解。所以用户对于APP安全性的要求更高了。
2.权限问题,我们需要对APP申请某些特定权限的必要性进行检查,列如访问图库,对于没有必要的权限,我们直接建议开发删除。评估增加的新权限。
3.数据库中敏感信息问题,现在大部分移动APP都会用到数据库,一旦手机被他人获取,就可能造成用户的隐私泄露,在跑完一个包含数据库的测试用例后,我们可以直接查看数据库里的数据,观察是否有敏感信息存储在内。一般来说,这些敏感信息需要在用户进行注销操作后删除。
4.八项基本原则:目的明确,最少够用,公开告知,个人同意,质量保证,安装保证,诚信履行,和责任明确。划分了手机,加工,转移,删除四个环节。
5.日志中包含敏感信息。开发人员在写程序的过程中都会加入日志帮助调试,在日志中写入一些敏感信息。通常在应用发布版本不会使用日志,但也不排除一些特殊情况。对于发布版本中包含日志的应用,在测试的时候我们也需要关注日志是否存在敏感信息
APP性能测试:
APP端的性能也是影响用户体验的非常重要的方面,例如cpu和内存的使用情况,应用的响应时间,页面渲染时间都是我们需要考虑的问题。
性能测试:
1.测试APP在不同网络速度下操作的流畅程度。可以通过测试人员在使用APP时直观的感受来验证APP性能带给用户的体验。
2.测试APP操作数据库的性能。APP在本地存储和读取数据时,如果操作的数据量很大,例如对APP对短信的读取。就可能引起APP的性能问题。读写电子邮件和照片也可能出现类似问题。
3.压力测试:返回/长期操作,系统资源是否战友异常(monkey)
4.资源消耗(CPU,内存,流量,功耗)
example:
内存使用过高,以及内存不够而导致的崩溃。
软件启动时要求CPU<20%,实际结果是>20%,那么就是fail。
H5测试
h5就是超本文编辑语言,h5测试和web端测试很类似,包括功能测试,浏览器兼容性测试,前端性能测试等。
example:微信>我的>钱包>腾讯公益。这就是h5页面,是对这种界面的测试。
以上就是APP测试的几种方法。掌握这几个方法后,基本上APP测试所覆盖的点基本上就比较全面了。下面介绍一下APP测试中的常见问题。
APP测试主要术语
分辨率 :手机>设置>关于手机>我的设备>分辨率
色深
像素
APP测试为什么以安卓为主?
1.用户量大
2.Android碎片化严重。
3.iOS相对于Android是封闭式系统
4.APP在Android手机上屏幕尺寸,分辨率兼容较高,比如有很多牌子的安卓手机,苹果只有一个。
android与iOS分别用什么语言写的?
iOS:object-c
android:java