App、web 分类
关注凡猫学院:加微信+17031115530,拉测试微信群交流
**********************************************************************************
(一)请回答:APP 测试与WEB 测试的区别?
有个同学问到一个问题:
总结起来就是:APP 测试和web 测试的相同点和不同点。
我首先是简单的回答了下,答案如下:
A:相同===>都是采用功能测试
B:不相同====>一个在web 测试,一个在APP 测试。
但是仅仅这样回答,你自己不满意,可能面试官也不会满意,那么我
们就升级下这个答案。
A:相同点
不管是传统行业的web 测试,还是新兴的手机app 测试,都离不开测
试的基础知识:
1)同样的设计测试用例方法:边界值分析法、等价类划分、错误推
测法、场景法等(若想看这些基础课视频,直接点击原文看腾讯课堂
的视频,都有,且免费!);
2)同样的测试方法:黑盒测试,验证业务功能是否正确符合用户或
者设计预期;
3)都要检查UI:界面的布局、风格和按钮等是否简洁美观、是否统
一等;
4)页面性能检测:测试页面载入和翻页的速度、登录时长、内存是
否溢出等;
5)应用的稳定性:测试应用系统的稳定性等,不会闪退卡死等。
B:不同点
相对于web 测试,APP 测试,除了要考虑基本的功能测试、性能等,
还要考虑手机本身固有的属性特征。所以APP 测试过程中还需要注意
如下几个方面特性:
1)手机作为通信工具,来电、去电、接收短信等操作都会对app 应
用程序产生影响,所以app 测试第一个要考虑的属性特征是:中断测
试。
中断测试有人为中断、新任务中断以及意外中断等几种情况,主要从
以下几个方面进行验证:
a.来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断
b.短信中断:接收短信、查看短信
c.其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机
问题(系统死机、重启)
2)手机用户对app 产品的安装卸载操作:
a.从上一个版本/上两个版本直接升级到最新版本。
b.全新安装新版本
c.新版本覆盖旧版本安装
d.卸载旧版本,安装新版本
e.卸载新版本,安装新版本
3)web 自动化测试使用的工具较常用的是QTP,而android 手机自动
化测试工具比较常用的是monkey、monkeyrunner、appium。
(二)Get APP 测试新技能
APP 测试常用工具以及框架
1)纯白盒方式的测试,Monkey。一般是开发用的比较多,动手能力
强的同学可以自己去尝试下!
2)偏白盒的robotium,这家伙号称是黑盒,但是本人不太认同~ 因
为使用robotium 需要知道package 和acitivity 这样的细节,所以
需要开发人员的很多协助!
3)纯黑盒的方式,这个分类比较有意思,我分得细点
3-1)sikuli,原来只针对桌面应用,后来自然延伸到了android app,
让人眼前一亮的测试方式。框个图,写个简单的python 测试脚本(其
实java 脚本也可以),测试就做好了,简单又形象,还有逻辑。因
为验证点是依赖于图片比对,所以瓶颈也在此。屏幕大小和分辨率的
不同是这种测试的硬伤,如果测试团队觉得每个手机上抠下来的图要
重新截,那...也就没啥了。
3-2)testin,deviceanywhere 等
这类测试本身没有神马特别的,无非是放在了云端,将规模化的测试
做到了极致,与其说是测试工具,不如说是测试平台。说缺点嘛也有,
由于只是简单的基于坐标的脚本录制(并没有灵活的功能性验证点),
这种测试往往比较简单,只是做做简单的适配性和性能测试,毕竟卖
点不在测试类型上。
3-3)clicktest
论原理,也是基于图片对比技术,只是做了些优化,比对的智能一些,
跨手机的效果更好罢了。也支持录制回放,自定义了一些测试命令,
易上手,可读性强,不再需要使用者(手工测试人员)编程了。另外,
支持工作流式的逻辑集成,可以灵活得组合测试步骤,增强复用性。
适用于小白的工具
1:小编比较熟悉的就有testin 这个APP 的云测平台,如果大家想
要最快最好get 新技能,就可以去利用这个平台的工具去做些测试,
上传你的APP,哗啦啦一会就跑出来测试结果,非常给力省事。
2:有一款工具,名字叫夜神。可以模拟各个不同的收集来进行
APP 测试,大家感兴趣也可以试试哦~
3:还有阿里和百度都有对应的众测平台,大家都可以自行去了解
下。
(三)APP 测试应该怎么测试?(1)
Top1
安装与卸载:
●应用是否可以在IOS 不同系统版本或android 不同系统版本上安装
(有的系统版本过低,应用不能适配)
●软件安装后是否可以正常运行,安装后的文件夹及文件是否可以写
到指定的目录里。
●安装过程中是否可以取消
●安装空间不足时是否有相应提示
●如果应用需要通过网络验证之类的安装,需要测试一下断网情况下
是否有相应提示
●是否可以删除应用(可通过桌面删除,也可以通过软件卸载安装。
曾发现在IOS 手相上有个应用安装时未完全安装,终止安装后,未完
成安装的应用图标一直显示在手机上,并且无法成功删除)
●测试卸载后文件是否全部删除所有的安装文件夹
●卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是
否可以正确卸载
●卸载是否支持取消功能,单击取消后软件卸载情况是否正常
Top2
运行
●APP 安装完成后,是否可以正常打开软件
●APP 运行时,是否有加载图示
●APP 的速度是可以让人接受,切换是否流畅
●用户登录状态太久,sessionId 会过期,会出现“虽然是登录状态,
系统会提示用户没有登录。
Top3
登录
●登录用户名和密码错误时,界面有提示信息
●用户主动退出登录后,下次启动APP 时,应该进入登录界面
●对于支持自动登录的APP,数据交换时,是否能自动登录成功且
数据库操作无误
●密码更改后,登录时是否做到了有效数据的校验
●对于未登录时一些页面的操作,是否做了控制
●切换账号登录,检验登录的信息是否做到及时更新
●对于多个端都进行操作时,确保数据库操作无误,且每个端可以及
时看到数据的更新
●对于一些软件,支持一个账号只允许登录一台机器,这时,需要检
查账号登录多个手机时,是否将原用户剔除,且能够给出提示信息
● APP 切换到后台时,再次切换到前台的测试,如登录时,有电话
打进来
●对于IOS 与android 不同设备登录同一个账号时,对个人信息等数
据进行操作后,确保数据数库操作无误,且IOS 与android 设备看到
的数据都是最新的。
Top4
离线:离线是应用程序在本地的客户端会缓存一部分数据以功程序下
次调用
●对于一些程序,需要在登录进来后,这时没有网络的情况下可以浏
览本地数据
●对于无网络时,刷新获取新数据时,不能获取数据且能给出友好提
示
●切换到后台,再次切换到前台时,可以正常查看
●离线后又连上网,这时对数据有更新时,需要从服务器端获取新数
据来更新客户端数据,且要更新本地缓存信息
●对于一些界面的数据不提供离线查看,需要给出相应提示且界面更
新后无任何数据
●确认在无网情况下可以浏览本地数据
●确认退出APP 再开启APP 时能正常浏览
●确认切换到后台再切回APP 应用时可以正常浏览
●锁屏后再解锁回到应用前台可以正常浏览
●服务端的数据有更新时有离线的提示
(四)APP 测试应该怎么测试(2)
1 数据更新
* 确认有数据更新后,哪些地方需要手动刷新,哪些地方需自动刷新。
* 确认从后台切换回前台时,哪些页面需要进行数据更新
* 根据需求和逻辑,确认哪些数据是从服务端请求实时响应,哪些是
缓存到本地的数据
2 消息推送开关设置
* 默认开关应该是全打开状态
* 设置开关可以自由打开关闭
* 设置开关打开状态下,消息推送是否可正常接收(应用启用中和应
用关闭时都应该可以收到)
* 确认后台未打开APP 客户端时,手机消息栏可以接收到消息提醒。
且点击可查看。点击后消息栏中消失
* 确认APP 客户端启动时,可以收到消息提醒,且点击可查看。客户
端运行时,消息不会进消息栏。
* 设置开关关闭时,客户端接收不到消息推送。
3 软件更新
* 当客户端有新版本时,有更新提示
* 软件更新一定要测,确保android 软件更新可以正确更新新版本,
且安装运行正确。
* 确保IOS 软件更新会有限制,只有上了商店且有版本更新时才会测
试,但是如果真有问题,再发现问题不点晚,可以让开发先在测试机
上模拟一个地址进行测试。
* 用户取消版本更新时,老版本可以正常使用,但是下次启动应用时,
仍出现更新提示
* 当有新版本时,不删除客户端的情况下,直接更新检查是否能正常
更新,且更新后客户端的功能是否最新版本(正常来讲不用强制删除
本地客户端可以正常更新)
4 异常测试
* 没有内存空间时,APP 能否正确响应
* APP 运行中手机断电
* APP 运行中断开网络
* 反复操作某个功能,不断点击,刷新时,是否会闪退
* APP 运行时拔打或接听电话
* APP 运行时发送信息、收取邮件等
* 多个APP 运行时
*不断切换前台和后台,是否影响应用正常功能
* APP 运行时,启动相机功能
(五)WEB 测试专题之测试分类(1)
前言
其实在软件测试工作中,会遇到各种不同的需求以及各种不同的测试
分类。对于初入这个职业的小伙伴来说,就是在于执行测试用例,也
从来没有去多想,做这些测试有什么区别?跟上次做的任务又有什么
区别?很少总结。今天小编就给大家做几个软件测试的专题,先从
WEB 测试讲起。
web 测试分类之功能测试详解
虽然说是一个功能测试就概括了,但是其实这里面还别有洞天,大概
区分为下面几个小类别:
(1)链接测试
链接是Web 应用系统的一个主要特征,它是在页面之间切换和指导用
户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。
首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;
其次,测试所链接的页面是否存在;最后,保证
Web 应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该
页面,只有知道正确的
URL 地址才能访问。链接测试可以自动进行,现在已经有许多工具可
以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web
应用系统的所有页面开发完成之后进行链接测试。
(2)表单测试
当用户给Web 应用系统管理员提交信息时,就需要使用表单操作,例
如用户注册、登陆、信息提交等。在这种情况下,
我们必须测试提交操作的完整性,以校验提交给服务器的信息
的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属
省份与所在城市是否匹
配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能
接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测
试时可以跳过这些字符,看系统是否会报错。
(3)Cookies 测试
Cookies 通常用来存储用户信息和用户在某应用系统的操作,当一个
用户使用Cookies 访问了某一个应用系统时,Web 服务器将发送关于
用户的信息,把该信息以
Cookies 的形式存储在客户端计算机上,这可用来创建动态和自定义
页面或者存储登陆等信息。如果Web 应用系统使用了Cookies,就必
须检查Cookies 是否能正常工作。测试的内容可包括Cookies
是否起作用,是否按预定的时间进行保存,刷新对Cookies 有什么影
响等.
(4)设计语言测试
Web 设计语言版本的差异可以引起客户端或服务器端严重的问题,例
如使用哪种版本的HTML
等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显
得尤为重要。除了HTML
的版本问题外,不同的脚本语言,例如Java、javascript、ActiveX、
VBScript 或Perl 等也要进行验证。
(5)数据库测试
在Web 应用技术中,数据库起着重要的作用,数据库为Web 应用系统
的管理、运行、查询和实现用户对数据存储的请求等提供空间。在
Web 应用中,最常用的数据库类型是关系型数据库,可以使用SQL 对
信息进行处理。在使用了数据库的Web 应用系统中,一般情况下,可
能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错
误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要
是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别
进行测试。
(六)WEB 测试专题之测试分类(2)
前言
上次小编给大家讲解了一下web 测试分类中的功能测试,今天就继续
给大家分解一下,web 测试分类中的:性能测试。可能暂时大家用不
着,但是面试的时候可以帮你一把的!
web 测试分类之性能测试详解
(1)链接速度测试
有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏
览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据
丢失,使用户得不到真实的页面。测试有超时限制的页面,将超时时
间公布。观察由于超时引起的登录失败是否造成
不可恢复的错误。
举个栗子:为嘛要测试这个链接速度,比如你访问一个页面,但是响
应的时间是超过了你能够等待的5s,相信你就没有时间去继续等待
了,所以无论是对于这种类似淘宝还是另外的服务于广大用户的网
站,这点都非常重要!
使用工具推荐:
Pingdom:测试网站所有对象的加载时间(HTML,images,JavaScript,
CSS,嵌入式框架等)。您还可以检查网站每个元素的加载速度并
改善加载缓慢的项目。在测试结果中,可以看到网站每个元素的加
载时间报告,元素的大小和元素的总数量。
GTmetrix:结合了最流行的Firefox 性能组件YSlow 的和谷歌网页速
度测试工具。Gtmetrix 给你提供改进网站速度的建议,虽然YSlow
的和谷歌网页的速度测试的建议是针对Firefox 的,也可以适用于其
他浏览器。
WebToolHub:让你以了解您的网页在不同的访问速度下是如何加载
的。用Webtoolhub 你可以知道页面的大小的信息,以及在不同的连
接速度下,网页中CSS,Javascript 和图片的加载时间,这些都是进
行基本的网页速度测试所需要的。
(2)负载测试&压力测试
瞬间访问高峰,每个用户传送大量数据,长时间的使用,讲过上面三
种折磨后,你的网站还能够坚挺,那么说明网站的性能是没有问题的。
举个栗子:最大的感悟就是早期的12306 网站,一到点买票就各种卡
死,页面打不开。这个就是明显性能不过关的网站。但是也是有区别,
你是有求于12306,所以网站好不好,你都得用,如果换做是某宝网
站,性能不好,我就不用了!所以这一点也是留住用户非常重要的一
点!
使用工具推荐:
Loadrunner:工业级工具,大家想到性能肯定首先想到的是这个!不
过,劝大家不要吊死在一棵树上,做一些小性能的时候,其实你大多
数觉得有点大材小用的!
Jmeter/SoapUI:可以做接口测试,也可以做需求不大的性能测试,简
洁好用轻巧。
ApacheBench/WebBench:更加轻巧型的压力测试工具,减淡的测试一
下,主要应对于需求不大的网站性能压力测试。
(七)WEB 测试专题之测试分类(3)
前言
前两节给大家带来的是web 测分类中性能测试,今天给大家分享的是
web 测试分类中的web 界面测试。
web 测试分类之界面测试详解
1:UI 测试
看页面是否美观:
(1)包括页面的布局是否合理
(2)页面长度是否合理
(3)前景色与背景色是否搭配,页面风格是否统一,色调是否适合人
眼,会不会太刺眼,字体大小是否合适,字体的颜色是否与背景色搭配
(4)字体链接时是否会出现设置怪异的背景色,字体颜色有没有与背
景色太接近或差距太大导致没办法看清字体或刺激视觉,点击链接时
图片和字体会不会产生移位
2:图形测试
(1)要确保图形有明确的用途,
图片或动画不可以存在交叉、折腾、重叠等问题,以免
浪费传输时间。检查页面上图片的像素,像素不超过72
(2)验证所有页面字体的风格是否一致。
(3)背景颜色应该与字体颜色和前景颜色相搭配。
(4)测试文字回绕是否正确。如果说明文字指向右边的图片,应该
确保该图片出现在右边。
3:内容测试
内容测试用来检验网站提供信息的正确性、准确性和相关性。信息的
正确性是指信息是可靠的还是误传的。例如,网站的报价,电话信息
的准确性是指是否有语法或拼写错误。信息的相关性是指是否在当
前页面可以找到与当前浏览信息相关的信息列表或入口。应确保站点
不过分地使用粗体字、大字体和下划线。
4:表格测试
需要验证表格是否设置正确。是否能正常显示表格中的全部内容,是
否需要改变网页位置,是否需要溢出。一般现在的网站都很少有表格
的这种设置了,如果万一有的话,大家也知道如何应对测试。
5:整体界面测试
可能需要我们作为用户的角度,来对整体界面提出一些建议性的提
议,但是如果是长期测试需要用户参与!因为最终这些都是要面向
用户的!
关注凡猫学院:加微信+17031115530,拉测试微信群交流
关注凡猫学院:加微信+17031115530,拉测试微信群交流