软件测试—APP测试面试题

APP测试的测试内容有哪些,常见的Bug分类介绍

功能模块测试、兼容性测试,安装和卸载测试、软件更新测试、性能测试,用户体验性测试、交叉事件测试、权限测试,边界测试,用户界面测试,系统测试,安全测试等。

常见的功能类缺陷

1、APP崩溃

这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:

1)验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的APP行为;

2)用新发布的操作系统版本验证APP的行为;

3)验证在如隧道,电梯等网络质量突然改变的环境中的APP行为;

4)通过手动网络从蜂窝更改到Wi-Fi,或反过来,验证APP行为;

5)验证在没有网络的环境中的APP行为;

6)验证来电/短信和设备特定的警报(如警报和通知)时的APP行为;

7)通过改变设备的方向,以不同的视图模式,验证APP行为;

8)验证设备内存不足时的APP行为;

9)通过用测试工具施加载荷验证APP行为;

10)用不同的支持语言验证APP行为。

11)功能未实现或只实现了部分

这类问题在测试过程中也经常出现,送测的版本有的只实现了部分功能,未实现产品需求说明书里的全部功能,例如账单明细查询,要求显示每笔交易账单的明细并且显示是否已入账,开发实现了每笔交易账单的明细,但是未实现显示该笔账单是否已入账。

2、功能实现错误

未按产品需求说明书中的功能实现,如按照产品需求说明书,白名单内的用户进行登陆时不受单点登陆的限制,也就是说同一个账号可以同时在A手机和B手机登录,但是开发实现错误,白名单内的用户在A手机登录后,在B手机登录,然后点击A手机上APP的功能,会弹出提示:该账号在B手机已登录,A手机强制退出登录。

3、功能测试要点

根据产品需求文档编写测试用例;软件设计文档编写用例;

测试要求:保证输入数据正确,并且进行了正确的操作,明确正确的输出结果和中间数据数值及格式。

4、兼容性测试要点及常见的兼容性缺陷

IOS 系统常见版本有7.0、8.1、8.4、9.1等,硬件常见 iPhone 4S、iPhone 5、iPhone 5S、iPhone 5C、iPhone 6、iPhone 6S、iPhone Plus、iPad 系列;安卓常见的版本有4.3、4.4、5.1、6.0,硬件更是数之不尽,不同的品牌,常见的如三星系列、华为系列、小米系列、OPPO 系列、VIVO系列等;

测试APP在不同的机型上由于软件、硬件等不同而出现各种各样的问题,这些都是缺陷聚集的地方,一个页面可能在安卓手机上显示正常,但可能在iPhone手机上显示错位,所以测试中尽量覆盖主流的手机型号和版本,如iPhone系列、三星系列、华为系列、小米系列、oppo系列、vivo系列等,找出在这些主流手机上使用app出现的缺陷并修复。

5、安装、卸载测试要点及常见缺陷

1、常见的安装、卸载类缺陷

1)安装过程中出现闪退;

2)安装完成后,点击APP无反应;

3)安装完成后,点击APP,APP出现闪退;

4)已经存在旧版本,但不卸载旧版本,进行覆盖安装新版本时,版本号是新版本的版本号,但APP的内容仍然是旧版本。 安装、卸载测试要点

5.1安装测试很重要,用户使用APP的第一个动作就是安装APP,如果安装APP出现问题,会让用户直接弃用该APP。

2、测试中主要从以下方面进行测试:

5)应用是否可以在IOS不同系统版本或Android不同系统版本上安装(有的系统版本过低,应用不能适配);

6)软件安装后是否可以正常运行,安装后的文件夹及文件是否可以写到指定的目录里;

7)安装过程中是否可以取消,安装空间不足时是否有相应提示;

8)检查安装包是否齐全,尤其DLL, 检查安装手册;

9)如果应用需要通过网络验证之类的安装,需要测试一下断网情况下是否有相应提示;

10)是否可以删除应用(可通过桌面删除,也可以通过软件卸载安装。曾发现在IOS手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除);

11)测试卸载后文件是否全部删除所有的安装文件夹;

12)卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以正确卸载;

13)卸载是否支持取消功能,单击取消后软件卸载情况是否正常。

5.2、软件更新测试要点

当客户端有新版本时,有更新提示;软件更新一定要测,确保Android软件更新可以正确更新新版本,且安装运行正确;确保IOS软件更新会有限制,正式版只有上了商店且有版本更新时才能测试;用户取消版本更新时,老版本可以正常使用,但是下次启动应用时,仍出现更新提示;

当有新版本时,不删除客户端的情况下,直接更新检查是否能正常更新,且更新后客户端的功能是否最新版本(正常来讲不用强制删除本地客户端可以正常更新;

出现跨版本更新的时候,可以更新成功。

性能测试要点及常见缺陷

1、常见的性能方面的缺陷

1)加载时间过长;

2)应用程序首次启动速度慢;

3)进入某个界面速度慢;

4)启动某一有动画效果的界面,动画执行过程不流畅,或者动画执行卡顿时间长;

5)响应某一用户事件时长时间无响应;

6)应用长时间运行后,随机出现卡顿现象;

7)服务器无法响应,报HTTP500错误;

8)APP出现黑白屏;

9)APP崩溃。

6、性能测试要点

性能也是衡量APP质量的一个指标,如果加载时间过长,响应时间过长,用户没耐心等待,很可能直接卸载APP

1)APP的启动时长是否过长;

2)APP使用时对CPU、内存的消耗情况;

3)APP使用时死机的几率是否较多,可以进行埋点分析测试;

4)APP使用时,电量流量的使用;

5)反复长期的操作情况下,系统该资源的使用情况;

6)响应能力测试,验证各种情况下不通操作能否满足用户的响应请求。

7、用户体验性测试及常见缺陷

以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性,提出修改意见提升产品的潜在客户满意度。主要从易用性和友好性方面进行测试。

1、常见缺陷

1)界面显示是否美观,界面的色彩、字体大小是否合适、布局是否美观,提示语是否友好;

2)按钮、对话框、列表和窗口等是否符合用户的使用习惯;

3)是否易于导航、导航是否直观、导航与页面结构、菜单、连接页面的风格是否一致。

4)用户体验性类的缺陷

5)界面显示不美观、界面色彩用户使用不舒服、界面色彩和按钮、其他的编辑框等不搭调、图片和字体显示布局不美观(文字包围图片方面)、界面的字体不满足视力不好的用户、菜单层次太深、相关的选项离得太远、按钮不可点击(如果按钮处于不可用状态,一定要灰掉,或者拿掉按钮,否则会给用户误导);

6)超长的页面加载时间,移动端的要求比较高,一般要求无等待间隔的加载,页面加载时间过长,会导致用户没耐心等待而弃用该APP;

7)页面排版过长,一般很少有浏览者有兴趣看页面中最下面的内容, 90%的用户,打开一个页面,只浏览第一屏的内容,就以为看到了全部,而不会向下滚动。一个过长的页面很容易引起浏览者的视觉疲劳;

8)不友好的导航,不友好的导航是最影响用户操作的,不能让用户很方便的找到自己想到的内容。用户来到一个页面不知如何返回上一页,不知道当前页面是在哪个栏目下的。这样很可能用户来了一次就不会再来了,这也是现在比较强调信息架构设计的原因,导航设计是信息架构中的一部分。用户每次都得用重新打开APP的方式来寻找内容的话,很难有用户会留存;

9)过期的信息,很久不更新的信息,很容易让浏览者感到反感,而且在心中也会对你这个产品的品牌形象大打折扣。过期的新闻,过期的促销信息、活动信息都是致命伤;

10)死链接或链接错误;

11)缺少互动的内容,缺少用户的参与,不能让用户表达情感和思想,注定这个产品只是个固步自封的产品。现在最基本的,都要提供的一个“意见反馈”的入口,以便产品的忠实用户发表看法,从而收集这部分反馈去改进产品。再者有互动的口子,也会让用户觉得产品是比较开放的;

12)恶意插件,恶意弹出窗口;

13)提示语粗暴不友好。

8、交叉事件的测试要点及常见缺陷

针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法。交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。

8.1、交叉性方面缺陷

手机的基本功能就是作为通讯工具进行使用,所以我们在使用APP中肯定会有电话、短信、蓝牙、闹钟等进入,并且这些功能比APP的优先级高,一旦同时出现, APP要后台运行或者进行处理让基本功能优先工作。在测试过程中会出现电话进入APP崩溃或卡死的现象,闹钟响起APP挂起等现象、 APP运行同时电话进入,电话无法接听等。这方面的问题非常严重,如果APP引起手机基本功能无法使用,用户是无论如何也接受不了的。

8.2、交叉事件主要测试要点

多个APP同时运行是否影响正常功能;

APP运行时前/后台切换是否影响正常功能;

APP运行时拨打/接听电话;

APP运行时发送/接收信息;

APP运行时发送/收取邮件;

APP运行时切换网络(2G、3G、Wi-Fi);

APP运行时浏览网络;

APP运行时使用蓝牙传送/接收数据;

APP运行时使用相机、计算器等手机自带设备。

9、用户界面测试要点及常见缺陷

测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。

UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

1、用户界面类的缺陷

不符合 UI 设计或与界面原型不一致

如APP的某个功能的界面风格和整体界面风格不一致,或者和图片、文字、按钮等不协调,此类问题虽然不存在使用上的问题,但是用户感觉非常不好,也给用户留下该研发团队不专业或者产品粗制滥造等印象,用户也不会使用太久或者直接卸载。

2、界面显示不完全

APP由于功能相对简单,但是又要给人直观印象,所以图片作为首选使用,尤其在首页进行产品展示或者重要信息传递媒介会经常使用,但是在实际测试过程中会出现页面加载不完善的情况,如:图片显示不完全,按钮显示错乱,请求新页面的内容成功返回后和原来的界面内容重叠、在编辑框输入内容过长,向服务器提交请求返回数据和其他内容重叠等。

上拉刷新和下拉刷新时出现页面加载错误

手机客户端,内容超过一页时,上拉加载更多内容,加载错误(容易出现数据重复,图片和文章不匹配,图片重复加载,文章标题和内容不一致等情况)

10.App测试web测试的区别

https://www.cnblogs.com/yangrui1123/p/11684750.html

单纯从功能测试的层面上来讲的话,APP 测试、web 测试 在流程和功能测试上是没有区别的

根据两者载体不一样,则区别如下:

系统结构方面,性能方面,兼容方面,APP有专项测试,测试工具方面,界面操作,安全测试,

权限测试,边界测试。

1、系统结构方面

web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步会更新

app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍

2、性能方面

web项目 需监测 响应时间、CPU、Memory

app项目 除了监测 响应时间、CPU、Memory外,还需监测流量、电量等

3、兼容方面

web项目:

1. 浏览器(火狐、谷歌、IE等)

2. 操作系统(Windows7、Windows10、OSX、Linux等)

app项目:

1. 设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)

2. 手机设备可根据 手机型号、分辨率不同

4、相对于 Wed 项目,APP有专项测试

1. 干扰测试:中断,来电,短信,关机,重启等

2. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

3. 安装、更新、卸载,权限测试,安全测试

安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况

卸载:需考虑 卸载后是否删除app相关的文件

更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

5、测试工具方面

自动化工具:APP 一般使用 Appium; Web 一般使用 Selenium

性能测试工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter

6. 界面操作:

关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换

7. 安全测试:

安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等

8. 边界测试:

可用存储空间少、没有SD/SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等

9. 权限测试:

设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等

11.iOS系统和Android系统的区别

APP测试中ios和androis的区别,有哪些注意点_沙盒机制和虚拟机机制-CSDN博客

一、运行机制不同

IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制

1、沙盒机制:

概念:沙盒是一种安全机制,用于防止不同应用之间互相访问

作用:就是存储数据,每个沙盒就相当于每个每个应用的系统目录

虚拟机机制:

  • android本身不是为触摸屏打造的,所以所有的应用都是运行在一个虚拟的环境中,由底层传输数据到虚拟机中,再由虚拟机传递给用户UI,任何程序都就可以轻松访问其他程序文件

二、对app内存消耗处理方式不同

Apple的应用程序在内存消耗过高时会收到内存警告,如果不及时处理的话应用程序会自动退出,而不像Windows系统一样,中了病毒或者木马会一直消耗内存,直到内存没有了才宕机。

三、后台制度不同

IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭

ios的后台是伪后台,iOS应用被送到后台,它的主线程会被暂停,其他进程会有一点处理数据的时间,然后所有的线程都被挂起了

安卓的所有应用都可以在后台运行,除非用户自己手动操作或者内存不足才会关闭,android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机,每个app都有自己的进程,每个进程都有自己的内存空间

四、最高权限指令不同

  • IOS中用于UI指令权限最高
  • 安卓中数据处理指令权限最高

五、推送机制不同

iOS在软件关闭的情况下,依然可以接收推送信息

Android在软件关闭的情况下,无法接收推送信息

六、抓取方式不同

  • ios调试需要使用xcode
  • 安卓使用adb

七、灰度发版机制不同

ios灰度机制

是将同一个包在七天内七个阶段从1%放到100%

也可以在灰度过程中,直接放到100%

在这个包发现线上bug的时候,可以将发包进度暂停,修正bug后,上传新包

谷歌灰度机制

可以给一个包指定一个灰度量,然后逐渐放量到100%

也可以给不同的rc包指定不同的量,发到全量

八、审核机制不同

ios发包审核比较严格,经常被拒

ios没有返回键

安卓测试需要注意点击返回键后的反馈是否正确

ios比较流畅

适配测试,Android端比较多,ios较少

新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash)

12.请简述测试WEB和PC客户端的区别

1,从系统架构.web 端是基于 B/S 架构,PC 端是 C/S 架构。

从安全性来看,

pc 端一般更新客户端后,系统的功能会经常变化,测试比较麻烦。而 web 端不需要更新。

2,安全测试:

B/S 架构是浏览器和服务端的相互通信,传输协议是 http/https,一般容易被破解数据,安全性较低。

pc 端是 C/S 架构,采用公司内部协议,安全性比 web 端强。

3,安装/卸载/更新测试:

安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等

4. 边界测试:

可用存储空间少、

5,注册表测试

有些付费客户端软件存在试用期,若删除注册表信息会导致试用期更新

解决方式是绑定手机号

6,兼容性测试

web只需要测试系统在不同浏览器中是否正常运行即可

PC客户端则需要在不同操作系统下测试能否正常使用如:Windows10,Windows7,苹果MAC OS,

7,冲突测试

和防火墙、防病毒软件的冲突测试

8,客户端程序入口测试

菜单进入、快捷键进入、快捷方式进入、系统的不同界面位置进入、

  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值