测试理论知识

2021-01-13  本文已影响0人  小赵不在

测试介绍

1. 定义

通过手动或者工具对测试对象进行操作,从而将预期结果实际结果对比看看是否存在差异

2. 测试流程(测试的v模型)

① 产品提需求,需求评审 ——>
② 前端后台进行开发,测试编写测试用例 ——>
③ 发新版本后,先进性冒烟测试,确保测试对象正常运行 ——>
接口测试,仿真测试以及最终的线上测试,有bug通过禅道(提交bug的网站)指给开发人 员,修改后进行回归测试,要保存好测试计划、测试用例、出错统计和最终分析报告,为维护提供方便 ——>
⑤ 没有bug之后,编写测试报告给产品经理或者项目经理,进行打包上线

3. 软件测试的作用(目的)

① 发现并修复软件中存在的缺陷
② 记录软件在运行过程中产生的一些数据
③ 降低同类开发产品遇到的风险

4. 原则

① 证明软件存在缺陷
② 不能执行穷尽测试(穷尽测试:设计测试用例包含所有的输入,是不可能实现的)
③ 缺陷存在群集现象(2:8原则 20%核心功能 )
④ 测试应提早介入(从定义需求的时候就有了测试)
⑤ 某些测试需要依赖特殊环境(操作系统 浏览器 不同得到手机或者手机版本)
⑥ 杀虫剂现象
⑦ 不存在缺陷谬论(开发人员说自己的代码没问题的时候你怎么办?)

5. 测试级别

① 单元测试(UT):软件测试中,单元就是组成软件的最小单位(类、函数、组件)
② 集成测试(IT):将多个不同的模块组合在一起进行验证(接口是否ok)
③ 系统测试(ST):测试人员充当用户对软件进行测试

6. 按测试对象来进行分类

盒 是测试的对象
① 黑盒测试:软件的主体功能
② 白盒测试:软件的底层代码
③ 灰盒测试:介于黑盒和白盒之间(接口测试)

7. 按测试对象是否执行分类

① 静态测试:测试不执行 测试的可以有布局 页面
② 动态测试:将软件运行在真实的环境中进行测试

8. 按测试手段分类

① 手动测试:由测试人员对测试对象实现手动验证 优点: 可以灵活改变测试操作以及测试环境
② 自动化测试:1.脚本测试 2.借助第三方测试工具

9. 测试用例的编写

测试用例都是wps表来进行编写
定义:为了特定目的而设计的一组输入测试,执行条件,预期结果为了验证该功能是否满足需求。
步骤:①编号 该用例的编号 ②日期 ③测试人员 ④项目 ⑤分项目 ⑥执行条件 ⑦测试过程 ⑧预期结果 ⑨实际结果
在公司内测试人员需要大量的编写测试用例 一天至少30-50条测试用例的编写
测试用例的模板公司都不一致

10. get和post的请求区别

get是从服务器获取数据的,请求参数在地址栏之后,数据量有限制,不安全;
post是向服务器提交数据的,请求参数在请求实体中,数据量没有限制,安全。

11. 缺陷报告内容包括

bug优先级、严重程度、所属项目、所属模块、影响版本、指派给谁、bug标题、复现步骤、log日志或者截图、bug类型

12. 什么是Http协议,请求方法是什么?Http和Https的区别

Http协议是超文本传输协议,是定义客户端到服务器的请求与应答的标准,分别为请求头与响应头。
请求方式:get和post
Http和Https链接方式不同,一个端口是80,一个是443。
Http协议需要ca申请证书,要钱。
Http链接简单,是无状态的;Https是有SSL+http协议构成的可进行加密传输的协议,比Http安全。
Http是超文本传输协议,是明码协议;Https是具有安全性的SSL加密的传输协议。

13. Web测试和App测试的区别

相同点:测试流程和测试思路基本一致。
不同点:测试环境不同

  1. 系统架构存在差异:
    web项目,主要是基于浏览器的b/s架构(升级不用发新版本,客户端自动跟新)。app项目,是c/s架构,必须有客户端,而且服务端更新以后,客户端可以选择强制更新或者选择性更新,更新之后客户端的核心内容都要进行回归测试。
  2. 测试方法存在差异:
    功能测试:从功能测试上看,测试思路基本相似,有一点不同的是,web不支持离线浏览,而app有些已经下载的是支持离线浏览的。
    性能测试:web只关心服务器的压力,页面响应的速度和时间。app除了这些之外还要关心流量、电量、CPU、内存、Memory等。
    兼容性测试:web项目中,兼容性测试主要考虑浏览器的兼容性就行。app项目需要考虑的就可多:手机型号、操作系统、系统版本、屏幕分辨率、屏幕尺寸等。
    专项测试:web项目没有专项测试。app项目的专项测试有电量测试、弱网测试、安装卸载、升级安装、中断测试、访问权限测试、用户体验等。
14. B/S架构和C/S架构的区别

B--browser浏览器
C--client客户端
S--server服务端

  1. 标准:相对于cs来说bs会显得标准一些,bs架构两端都是使用现成的成熟产品。
  2. 效率:cs执行效率高,客户端可以分担一些数据的处理。
  3. 安全:bs架构中得到的数据都是以Http协议进行传输的,Http是明文传输,可以被抓包,所以bs与cs相比不安全。
  4. 升级:bs架构在服务器进行数据更新,前台刷新页面就能升级,cs架构需要将两端都进行更新才可。
  5. 开发成本:相对bs来说,cs中的客户端需要自己开发,bs不用,所以cs成本会高一些。
15. Android手机和IOS手机,系统有什么区别
  1. 运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
  2. 后台制度不同:IOS中任何第三方程序都不能在后台运行,安卓任何程序都能在后台运行,知道没有内存才会关闭。
  3. 最高权限不同:IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。
16. 写好测试用例的关键/写好测试用例要关注的维度?

要覆盖用户的需求;从使用场景出发,考虑正常和异常的使用场景;测试步骤要详细,要通俗易懂;做好用例评审,及时更新测试用例。

17. 安全行测试包括哪些方面?

用户验证、用户权限管理、系统安全保护

18. 测试分类

功能测试、用户体验测试、性能测试、UI测试、兼容性测试、安装测试、文档测试、稳定性测试等

19. 为什么要进行抓包?
  1. 公司没有标准的接口文档时,测试人员需要通过抓包来获取接口进行测试。
  2. 抓包可以快速的找到请求,通过抓包可以查看整个请求的过程,响应时间,还可以分辨bug是前台的还是后台的。
  3. 抓包可以获取敏感信息(用户密码、个人账户信息等)
  4. 通过抓包进行测试,拦截请求,修改请求数据,查看对应的响应结果,抓包本身就是接口的一部分。
20. 一般用什么工具,怎么进行抓包?

工具:Fiddler、charles

Fiddler:
1、设置Http代理,设置端口号,把手机设置与fiddler在同一网段上,设置代理ip,设置代理端口,手机上的请求就能获取到了。
2、抓取请求查看,可以过滤,找到自己域名下的请求,通过分析请求地址,请求参数,响应结果来查找问题。

Https包怎么抓?
抓取Https时,需要获取申请证书,在fiddler与charles两个工具中,可以模拟下载966证书,下载后,在手机上访问代理服务器的ip与端口,下载证书,就可以抓取到Https的请求了。

21. APP出现ANR的原因

线程阻塞、内存不足、CPU满负荷(现在手机都是8核CPU,一般不会出现CPU满负荷)

22. APP出现Crash的原因

空指针异常、数组下标越界、内存不足、CPU满负荷(8核CPU,一般不会出现)

23. 手机端测试的关注点你有哪些?

UI测试、功能测试、性能测试、安装卸载测试、软件升级测试、登录测试、安全性测试、消息推送、前后台切换、兼容性测试、网络环境测试、monkey测试。

24. 测试报告包括哪些?
  1. 项目的概要描述
  2. 测试过程缺陷的统计,一定程度反应项目的质量。
  3. 整个项目过程有需要改善的地方,提出建议。
  4. 给出结论,项目是否可以上线。
上一篇 下一篇

猜你喜欢

热点阅读