APP功能测试要点

APP测试功能要点

1、理解应用程序如何工作,它的接口看起来怎样?它实现了哪些功能?
2、强迫软件展现其全部能力
3、找到缺陷
漫游测试将软件特性分成了互相重叠的“区域”,分别是商业区、历史区、旅游区、娱乐区、旅馆区和破旧区。

1、多分辨率、多系统测试

2、用户不同使用习惯

2.1 权限问题

再Android系统下的项目工程中往往需要为应用获取各种权限,比如,需要通过短信验证的应用需要有短信的使用权限,只能拨号联系人需要有系统联系人(Contact)的权限使用,拍照美图软件需要有照相机(camera)的使用权限等。添加权限需要再项目工程中的AndroidManifest.xml中设置。

2.2 操作习惯

应用中的Back键的时间是否重写了?再各个功能界面中点击Back键会有什么反馈?
用户在应用各个界面点击Home键后,再次打开应用的反馈:应用是默认处于后台的状态还是有结束生命周期?
应用是否使用到菜单键,切不可遗漏这个键和应用的交互?
应用在任何状态下,系统进入待机或者关机。当系统被重新唤醒以后,应用处于什么状态,是否有正确的反馈?
应用被用户手动关闭后,是否可以再次正确启动?

功能测试不仅限于以上几点,但是用户常见的这些习惯要时刻贯彻在测试过程中。有一部分测试工程师过于专注在自动化测试和业务测试上,而忽略掉真正的用户是怎么使用产品这个很重要的测试点。

2.3 数据移动或清空

用户会在软件没有响应或者出现重大bug的时候,点击强制停止按钮,或者在应用数据很大的时候选择清空数据来释放自己机器的空间。这些都是我们测试过程中需要去验证的,不能忽略。

3、网络不稳定性

用户最长碰到的一个场景是,原本流畅的信号突然变弱,然后有一个断开瞬间,再重新连到网上。从网络本身的变化而言,这个过程非常复杂,但用户看到的就只是信号变弱,然后断开,马上又连接上了。对于应用,断开的过程中可能会用到一个连接超时设置,会有多次请求的策略等,只不过这些用户都不知道也无须知道而已。
这里还需要提到一点是,一些在线即时通信的应用或游戏都会使用长连接的方式来达到让应用更稳定的目的。

4、安装/卸载测试

应用安卓后,需要查看以下几点:
不联网的情况下是否能够正常运行,会不会崩溃?
在线下载数据不完整,能否再次启动?
是否支持断点续传?
下载完整之后,再次启动。
安装成功后,检查版本号以及相关数据。

5、升级测试

升级功能不全,等同于给一个人断粮断水,稍不小心就会断送应用的生命,因而需要额外注意。
一个应用升级有几个必要条件:
旧版本的应用和新版本的应用拥有相同的签名
旧版本的应用和新版本的应用拥有相同的包名
旧版本的应用和新版本的应用需要有一个标识符来区分(一般使用应用版本号作为标识符)

5.1 增量升级

增量升级有一个明显的好处,就是不必再下载一个完成的apk进行安装。
但是缺陷是:
1. 如果一款应用有多个版本,并且每个版本都有用户在使用,那么增量升级就变得非常麻烦。虽然差分的补丁(Patch)容量很小,但是只能针对单一的旧版本应用。也就是说,必须对发布的所有旧版本和最新版本做差分。虽然补丁可以由脚本生成,但是依旧很麻烦。
2. 如果一部分系统没有拿到内置应用的权限,那么就没有办法进行增量升级。直到现在,我们依然没有看到增量升级有比较广泛的运用,也许就是因为有这样那样的不稳定因素所导致的吧。

5.2 内置应用升级

如果应用有.so文件的话,往往内置系统之后,应用的.so文件一般会保存在/system级的目录下,也就是说无论用户还是应用都没有访问的权限。但是应用的其余一些资源却可以进行升级。那么测试工程师需要注意每次升级之后的应用是否与内置在系统中的.so文件匹配,如果不匹配可能导致应用崩溃。

6、并发测试

6.1 弹窗提示

闹钟、低电量、短信提示等等,无论在何种应用程序中,这类提示都会出现。
此类提示会让当前正在运行的应用进入暂停(PAUSE)状态,待用户响应操作完毕后才会继续运行。测试工程师需要关注应用是否能够在暂停之后正常操作运行。

6.2 另一个应用启动

比如正在使用一个应用,此时有一个来电,或是用户按下快捷启动相机等操作,出现这类情况对于智能机来说再正常不过了,一般这类场景需要特别注意应用集中常见的特殊状态:
1. 应用正在播放视频
2. 应用正在想服务器发出或接受请求
3. 应用正在下载数据或升级
4. 用户正在输入
应用处于这些状态时,很容易出现不可预见的问题,需要特别注意。

6.3 关机或开机

测试人员不仅需要关注在关机重启后应用的功能是否正常,还要关注应用数据是否因为关机和待机而丢失。

6.4 功能冲突

最常见的功能冲突就是音乐和语音功能冲突。当正在播放音乐或视频的时候,使用应用的这些功能必须强制现在播放的视频或音频暂停。对这类功能的测试不仅仅需要确保应用自身的正确性,还要考虑到其他被暂停的应用是否能够正常继续工作。

6.5 可存储设备

许多应用的功能会涉及到读取系统中的资源,在正常情况下,哟农户获取资源是不会出问题的,但是智能机不仅是一个系统,有时候还是一个移动存储设备。当智能机当作移动存储设备使用时,很容易导致应用程序的崩溃。

7、推送功能

推送是企业推广自己和保持用户粘性的不二选择,推送不仅满足了用户的虚荣心(被别人关注的心理),甚至能让一些应用死而复活,继而“推送”本身也被广大用户熟知。
在测试推送的时候,需要注意以下几点:
1.智能机在关机、待机、打开等状态下执行推送的功能、消息显示以及推送跳转等是否正确?
2.应用在打开、未打开状态,应用启动且在后台运行等情况下,查看推送的功能、消息显示以及推送跳转是否正确?
3.推送本身分为主动推送和被动触发(某些业务的场景触发的回调推送)。很多测试人员在测试的时候,为了方便,会让服务器直接发送推送从而测试这个功能,其实即使通过这样的测试,依然无法确认回调的推送就是正确的,这一点需要注意。
4.推送的消息在阅读前后,其标识消息数量的数字是否改变?
5.单条或多条推送的文字显示以及跳转界面是否正确?
6.多语言系统环境下,推送的本地化翻译信息是否显示正确?

8、分享跳转

你可能感兴趣的:(测试相关)