1、测试方法都有哪些
- 白盒测试
- 白盒测试用例设计有如下方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。依据就是代码结构。
- 黑盒测试
- 黑盒测试用例设计方法:基于用户需求的测试、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验法、场景法。依据是用户需求规格说明书,详细设计说明书。
2、app测试和web测试的区别
- web和app的区别
- web项目,一般都是b/s架构,基于浏览器的。
- App则是C/S的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。
首先从系统架构来看的话,Web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是App端是不能够保证完全一致的,除非用户更新客户端。如果是App下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
- 性能方面
- web页面可能只会关注响应时间。
- App则还需要关心流量、电量、CPU、GPU、Memory这些了。
- 兼容方面
- Web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,不过一般还是以浏览器的为主。而浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox)。
- App的测试则必须依赖phone或者是pad,不仅要看分辨率,屏幕尺寸,还要看设备系统。系统总的来说也就分为Android和iOS,不过国内的Android的定制系统太多,也是比较容易出现问题的。
- 相比较web测试,app更是多了一些专项测试:
- 一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。
- 而弱网测试是App测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。
- 安装、卸载、更新:
- web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除App相关的文件等等。
- 界面操作
- 现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。
3、安卓app发生闪退的原因
- 弱网络情况下,服务端响应不及时,可能倒是闪退。(网络异常引起的)
- 应用版本太低,会导致不兼容,造成闪退。(有些API在老版本中有,在新版本中没有,造成对象为空引起闪退)
- APP的SDK和手机的系统不兼容。
- 缓存垃圾过多:由于安卓系统的特性,如果长时间不清理垃圾文件。会导致越来越卡,也会出现闪退情况。
- 设计不合理,1个接口,拉取的数据量太大,请求结果会很慢,且占用大量内存,APP会闪退(比如,我们现在做的记录仪,进入相册列表时候,要拉取所有图片,拉取太慢了,就闪退了)
- 不同APP间切换,交互测试,可能会出现闪退。
- 权限问题。
4、网页很卡的原因
- 带宽不足、硬件配置低、CPU或者是内存被占满。
- http请求次数太多。
- 接收数据时间过长,如下载资源过大。
- JS脚本过大,阻塞了页面的加载。
- 网页资源过多、接受数据时间长、加载某个资源慢。
- DNS解析速度。
5、单元测试、集成测试、系统测试
- 粒度不同:
- 单元测试粒度最小,集成测试粒度居中,系统测试粒度最大。
- 测试方式不同:
- 单元测试一般由开发小组采用白盒方式来测试,集成测试一般由开发小组采用白盒加黑盒的方式来测试,系统测试一般由独立测试小组采用黑盒方式来测试。
- 测试内容不同:
- 单元测试主要测试单元是否符合“设计”,集成测试既验证“设计”,又验证“需求”,系统测试主要测试系统是否符合“需求规格说明书”。
- 使用阶段不同:
- 单元测试为开发人员在开发阶段要做的事情,集成测试和系统测试为测试人员在测试周期内级层做的工作。