Web测试、App测试、接口测试的异同

2021-09-02 21:38发布

测试工程师在面试时经常会被问到两个问题,即Web测试和App测试、Web/App测试和接口测试的异同。这里针对这两个常见问题,总结回答的关键点如下。

对于第一个问题——Web测试和App测试的异同,可以从以下方面回答:

先是共同点:

(1) 不管是web测试,还是手机app测试,都要进行功能测试,从黑盒测试角度,验证业务功能和流程是否正确符合用户或者设计预期;

(2) 会用到同样的设计测试用例方法:边界值分析法、等价类划分、错误推测法、场景法等;

(3) 都要检查UI:界面的布局、风格和按钮等是否简洁美观、是否统一等;

(4) 从性能角度,都要检查测试页面载入和翻页的速度、登录时长、内存是否溢出等

(5) 从稳定性角度,都要测试应用系统的稳定性,不会闪退卡死等。

然后是区别:

(1) 相对于web测试,APP测试,除了要考虑基本的功能测试、性能等,还要考虑手机本身固有的属性特征。

(2) 手机作为通信工具,来电、去电、接收短信等操作都会对app应用程序产生影响,所以app测试第一个要考虑的属性特征是:交叉事件测试。

(3) app产品客户端需要安装,需要升级,所以需要做安装卸载测试

(4) App需要测试手机应用特有的手势操作

(5) 自动化测试使用的工具不同。web自动化测试使用的工具较常用的是QTPselenium

(6) android手机自动化测试工具比较常用的是monkeymonkeyrunnerappium

ios做自动化使用appiumxcode工具。

(7) APP需要测试对手机资源的占用情况。

 

对第二个问题,Web/App测试(UI测试)和接口测试的异同,可以从如下方面回答。 

首先是共同点:

(1) 接口测试与UI测试主要测试的都是系统功能,通过不同的数据组合,去测试系统的业务逻辑,测试数据库的读写,覆盖代码的各个分支;

(2) 在测试接口功能时,跟测试UI界面一样,主要使用的都是黑盒测试的方式,也会采用等价类划分、边界值法、判定表法、错误推测法等基本的测试用例设计方式;

(3) 构建测试用例时,也同样要考虑到业务上的一些场景,例如注册时考虑数据库中已存在该用户名、该邮箱的情况,登录时考虑数据库中不存在该用户的情况。

然后说区别:

(1) UI测试中比较关注操作步骤,而接口测试关注的是构建的数据组合;

(2) UI测试只关注界面上的数据校验,如非空、长度限制、格式校验,但接口测试时要关注服务器逻辑中是否有同样的数据校验;

(3) 接口测试需要关注一些接口特有的测试项,例如,对于请求方式不正确、请求正文格式不正确的容错性;

(4) 接口测试会更多地考虑安全方面的测试,例如接口是否返回多余字段,接口传输时对敏感数据是否有加密处理、身份认证方面机制的验证、接口是否有防DDOS攻击、防SQL注入、防XSS攻击机制。

(5) 接口测试介入更早,可以在开发阶段,前端开发尚未完成时就进行测试,尽早发现问题;

(6) 接口测试实现自动化测试更容易,也更稳定。覆盖率更直观。