测试知识

**

测试方面:

测试的基本知识汇总:

一、软件测试:验证实际结果和预期结果是否一致的过程

1、按照开发阶段划分:
单元测试 :测试小的代码块(开发写的代码块)
集成测试 :通过接口将不同的模块进行连接,测试方向是中间的通道,即接口
系统测试 :集成过后就是形成系统,有功能性能和安全这几个方面
验收测试
2、按照是否运行:
静态测试 :文档评审,代码自查
动态测试:各执行阶段
3、按照是否查看源代码:
**(1)白盒测试:**透明盒子,中间整个结构清楚,通过检查内部的结构看功能是否有问题,对应到软件看代码对不对
**(2)黑盒测试:**只要检查输入输出,中途原理和过程不考虑
**1)功能测试:**测试功能,比如一个网站可以画思维导图的事情就是这个网站的功能,功能测试采用最多的方法是黑盒测试
逻辑功能测试:
界面测试:界面是否好看,美观
易用性测试:用户体验(主观)是否顺手这样
安装测试:不同手机上安装能否正常运行
兼容性测试:web 同一个网站在不同浏览器上能否正常使用
**2)性能测试:**测试性能,判断检测服务器能达到多好(比如双十一淘宝卡就是性能不好)
稳定性测试
负载测试:超负荷情况下,程序能否承担
一般采用峰值的百分之八九十进行模拟 持续保持高强度工作能够维持多长时间
压力测试:一定负荷条件下,长时间运行造成的影响
发现软件的性能瓶颈, 找底线
4、其他
回归测试 :APP测试结束,bug告诉开发,之后检查开发有没有把bug修改完成叫做回归测试
冒烟测试:测试前的测试 , 在测试前检测具备可测试性嘛?不通过打回去重新进行测试(非正式)
随机测试

黑盒针对功能:成本低,简单,应对风险弱
灰盒针对接口:定位bug准确,难度大,成本高
白盒针对代码:应对风险能力强(最早介入,随时改变),难度大,需要测试人员代码能力强

二、白盒和黑盒的复杂性和测试方法

黑盒测试复杂性:
1、输入量大
2、输出结果多
3、途径多
4、无客观标准
白盒测试复杂性:

黑盒测试方法:
1、等价类:找出最具有代表性的值(少部分的值能代表大部分的情况)有效 or 无效
2、边界值: 最小,最大,左右数值
0.01, 200就是发红包的边界值,拿到边界值可以根据边界值找到实际的等价类
等价类和边界值是用来测试数据使用的
3、场景法:
微信红包(用户针对发红包的事情会怎么操作)
成功发送:1)用户输入符合要求的金额,发送红包成功 —> 0.01 0.02 200 199.99 99.99
发送失败:2)用户输入超出范围的值不能发送成功 —> 0 200.01
4、错误推断法
5、因果图
6、正交矩阵
7、测试要素分析法

白盒测试方法:
对程序内部的逻辑结构进行检查,从中获取测试数据
1、语句覆盖
2、判定覆盖
3、条件覆盖
判定覆盖只关心判定表达式的值(真/假),而条件覆盖涉及到判定表达式的每个条件的值(真/假)。

三、测试用例和bug

测试用例的八大要素:
编号 项目名称 标题 优先级 前提条件 执行步骤 输入参数 预期结果

测试用例编写流程:
需求分析–提取测试点-编写用例–用例评审

bug生命周期:
提bug–开发确认bug–修复–bugfix–closed or reopen

测试人员素质:
逻辑 细心 创新 专注

测试点:
功能性,易用性,可维护性,可靠性,可移植性,安全性

测试的五个阶段:
单元测试:模块
集成测试:模块的衔接
系统测试:整个系统的运行
验收测试
回归测试

四、琐碎问题

什么项目需要做自动化测试:
1、需求不会频发变更
2、研发和维护周期长需要频繁执行回归
3、需要在多个平台进行重复测试’
4、手动做不到的或者成本特别高

测试方法
1、按被测对象
黑盒–功能
优点:简单,成本低
缺点:应对风险能力弱
灰盒–接口
优点:定位缺陷准确
缺点:难度大成本高
白盒–代码
优点:应对风险能力强
缺点:需要代码能力强
2、按是否执行
静态测试 动态测试
3、按手工还是自动化

软件测试的目的
1、发现问题,解决问题
2、与需求是否一致
3、结果数据来评判软件的可靠性
4、不能说没有问题,只能说需要完善

高质量的标准:
1、覆盖所有业务逻辑
2、覆盖所有需求点
3、覆盖到典型的用户场景
4、目标明确清晰
5、没有冗余用例

**
1、 项目介绍,用了什么测试方法
功能测试:ui 兼容 逻辑 易用 安装
性能:稳定性 负载,压力
2、 黑盒测试,白盒测试有什么
黑盒:功能测试(登录)
白盒:代码级别,单测(开发自己在代码里面写)
3、 写一个淘宝登录测试用例(登录页面的测试)
界面:是否美观好看,错别字
功能:正确用户名密码点击登录,成功跳转登录(接口按钮)
黑盒方法:等价类 边界值 场景 兼容性 易用性
黑盒性能:负载,压力,稳定性(多人同时登? )
弱网测试 各个浏览器
4、 测试用例包括什么(名称,输入,输出)
编号-名称–标题–优先级–前提条件–执行步骤–传参结果–预期结果
5、 微信发图片
界面
功能:选择图片 发送按钮 是否成功 能否接收
图片的分辨率 图片的合法性 各种机型 兼容性 网络不佳 一次选多少个边界值
6、 验证码
输入正确错误验证码 不输入 特殊字符 错误次数 倒计时 有效性
7、 web和app测试的区别
web项目,一般都是b/s架构,基于浏览器的
app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。
1、性能方面: web页面主要会关注响应时间
app则还需要关心流量、电量、CPU、GPU、Memory这些。
2、兼容方面: web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容
app测试则要看分辨率,屏幕尺寸,还要看设备系统。
web测试是基于浏览器的所以不必考虑安装卸载。
app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件
web用户无登录或者登陆太久cookie会过期
APP用户没有登陆或者登陆太久sessionld会过期

五、进程和线程

线程和进程:
线程是指进程内的一个执行单元,也是进程内的可调度实体
与进程的区别
(1)、地址空间:进程内的一个执行单元,进程至少有一个线程,他们共享进程的地址空间,而进程有自己独立的地址空间
(2)、资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3)、线程是处理器调度的基本单位,但进程不是
(4)、二者均可并发执行

多进程和多线程:

多进程:允许多个任务同时进行
多线程:允许单个任务分成不同的部分进行
每个进程拥有自己的一整套变量,而线程则是共享数据,共享变量使得线程之间的通信比进程之间的通信更有效,更容易

数组和链表的区别:
链表是通过结点把离散的数据链接成一个表,通过对结点的插入和删除操作实现对数据的存取,而数组是通过开辟新的的内存来存储数据

6、查看接口的工具有哪些?说出一个工具的操作

答:jmeter与postman都支持

jmeter的用法:新建一个线程组,添加http类型的请求→填上接口地址和数据→添加查看结果树→进行运行→查看结果、进行分析

Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。
————————————————https://blog.csdn.net/qq_38338941/article/details/100547092

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值