学习测试ing

按照知乎:

https://zhuanlan.zhihu.com/p/32505591

上面提供的B站课程整理笔记

视频链接如下:

https://www.bilibili.com/video/av57464686/?p=1

时长6.5小时(0基础也能两倍速的快乐课程!)

课程中老师省略的部分有时间会补齐的

软件测试的介绍和分类

什么是软件测试:检查,是否符合最开始的设计,把不合理的部分挑选出来(实际结果是否符合预期结果)。

·软件测试的发展历程:

软件测试是去证明软件是正确的。

软件测试是去证明软件是错误的。

软件测试是保证软件的质量是符合用户需求的一系列手段(并不是为了发现bug,而是为了预防bug)。

(国外)依靠流程管理来控制软件的质量。

(国内)以技术发展来控制软件的质量。

功能测试→自动化测试(测试开发/持续集成/testops)/性能测试(高级性能测试→架构师)/转行(开发、产品、设计、运维、运营……)/管理向(项目经理、QA)

·软件测试的分类:

·按方法分类

黑盒测试(不透明的盒子):只检查输入和输出即可→外部暴露出来的功能能够实现,不关注原理

白盒测试(透明的盒子):通过检查内部的结构看对不对(对内部逻辑结构进行测试,通过逻辑的覆盖率来判断测试是否有效)→直接看代码写的对不对

灰盒测试(半透明的盒子):介于黑盒与白盒之间(或结合两者)

·按方向分类

功能测试:测试功能 能不能做

性能测试:测试性能(高并发 承载量)功能能做多好

压力测试:逐渐增加模拟用户数量,发现瓶颈(发现软件的性能瓶颈)

负载测试:持续保持高强度的工作能维持多长时间

并发测试:同时做一件事会不会出错

安全测试:测试安全

·按阶段分类

单元测试:针对代码块(方法、函数、类)

集成测试:把代码块连接起来(接口)

系统测试:功能、性能、安全、兼容性、易用性、稳定性、UI……

兼容性(WEB-浏览器 APP-andriod-iOS)

易用性(用户体验)

稳定性(可归于性能测试)

UI(界面-好不好看,设计图比对)

验收测试:系统测试通过之后

·按对象分类

APP测试

WEB测试

物联网测试

车联网测试

小程序测试

嵌入式测试

大数据测试

AI测试

……

·按状态分类

静态测试:软件没有运行,白盒,看代码

动态测试:软件运行,黑盒

·其他

冒烟测试:测试前的测试→是否具备可测试性

回归测试:检查之前的bug有没有被修改

α测试:内测

β测试:公测

软件的研发模型和测试流程

·研发管理模型

瀑布流

从上往下,步骤与步骤之间是相互独立的。

好处:上下级分明,必须要完成第一步才能完成第二步。

缺点:不变通

V字型

左边是开发的工作,右边是测试的工作

好处:测试和开发的工作有了一一对应的关系

缺点:还是从上往下

W字型

(双V模型)

左边的V是开发做的事,右边的V是测试做的事。

也有对照关系:

效率比较高。

敏捷模型

特点:

高效的工作、及时的沟通、日报、白板、站立会、集中办公

螺旋型

H字型

·测试流程

需求分析阶段:

需求分析(需求文档、产品原型、口述)

产品原型

学习业务流程(金融、银行……)

提取功能点

模块(以产品原型举例):首页、发现、下载、我的;首页又可以划分:推荐、课程、路径、实战……

找到最小的功能,列出来(树状结构):

编写需求分析说明书

转换为文档

··没有需求怎么办

参考市面上已经成熟的同类型的产品的实现

测试设计阶段(文档阶段)

测试计划·5W1H

测试方案·5W1H

测试策略·5W1H

*测试用例

用例编号

-唯一的

用例名称

-言简意赅,用最少的字描述清楚这个用例是做什么的

前置条件

-执行这个用例之前,软件必须要满足的条件

优先级

-执行这条用例的时间要求紧急的等级

重要级

-这个被测的功能在系统里面的重要级别

测试数据

测试步骤

预期结果

实际结果

5W1H:what where when who why how

在有限的时间里挑出重要级高的先测试

测试执行阶段

预期结果和实际结果做对比,如果一样则通过,如果不一样则有问题

提交BUG

回归测试

-在版本2上去检查在版本1上发现的问题有没有被解决

测试总结阶段

编写测试报告

-对工作的总结

-对BUG的统计分析

-对被测软件的评估

·测试方法(设计测试用例)

等价类

通过少量的数据代表大量的数据

-无效等价类(找不是有效值中的)e.g.0 200.01

-有效等价类(找出有效值中的有代表性的数据)e.g. 0.01 0.02 200 199.99 99.99(0.01,>0.01的数,200,<200的数,中间值)

边界值

比如微信红包→¥0.01-200

伪代码:

场景法

因果图

判定表

路径覆盖法

……

·测试常识

测试是无穷无尽的(测试的数据是无穷无尽的)

·评审(检查测试用例)

同行评审

小组评审

部门评审

项目评审

第三方评审

邮件评审

用例的编写和BUG的管理

用例编号

-唯一的

用例名称

-言简意赅,用最少的字描述清楚这个用例是做什么的

前置条件

-执行这个用例之前,软件必须要满足的条件

优先级

-执行这条用例的时间要求紧急的等级

重要级

-这个被测的功能在系统里面的重要级别

测试数据

测试步骤

预期结果

实际结果

在有限的时间里挑出重要级高的先测试

·BUG的管理

BUG的管理平台/系统/工具

禅道

BUGFree

ALM/QC

testlink

Bugzilla

JIRA

……

BUG的六要素

编号

BUG的名称

言简意赅,看到题目就知道是什么问题

BUG的优先级

根据实际的情况,这个BUG需要优先解决吗?高/中/低

BUG的严重级别

致命的(三者任意满足一条)

-影响产品的核心流程的正常使用

-导致软件挂了,闪退,崩溃

-和钱有关

严重的

-导致了功能无法正常使用(不是核心功能)

一般的

-功能的某些异常场景有问题

轻微的

-建议的东西,用户体验,UI上的问题

BUG的复现步骤

可以把用例的步骤复制过来

预期结果

实际结果

  附件

截图/日志/视频

目的是为BUG佐证

BUG的生命周期

在解决BUG之后,如果回归测试还存在,就激活BUG。

如果开发认为不是BUG,就讨论。

BUG彻底解决了就关闭

BUG的状态

新建/new

打开/激活/open

已确认

已解决

拒绝

重新打开/reopen

关闭/closed

延期处理

重复BUG

e.g.

版本1→版本2:迭代

会在版本2上做回归测试(在版本2上去检查在版本1上发现的问题有没有被解决)

·版本迭代

-随着时间/测试次数多推进,会发布很多版本,其中的版本号是不断叠加的

-增量测试

只测试已知的有变化的功能(但是该回归的还要回归)

-全量测试

测试软件的所有功能(增加了功能之后要把所有功能都测试一遍)

测试应用和测试报告的编写

·测试应用

APP测试

APP专项测试

-安装/卸载

-消息推送

-更新

-弱网测试   2G/3G/4G/5G/WIFI

-场景交互测试-来电话了

-正在听音乐

-调用相机

-前后台的切换

-权限测试

-离线测试

WEB测试

·软件结构(区别:一个需要安装,一个不需要安装)

B/S结构

Browser  浏览器

Server  服务器

C/S结构

Client  客户端(需要单独安装的,比如APP)

Server  服务器

·测试报告

对工作的总结

-工作很努力,完成了xx工作,存在哪些问题

对BUG的统计分析

-测试

-开发

-等级

-解决的时间

-每个版本

-BUG的状态

……

对被测软件的质量评估

一二级的BUG全部关闭了

三级的BUG关闭了80%+

四级的BUG无所谓

→达到验收标准了

-----------------------------------------------------------------------------------

补充在B站视频中提到的慕课网上有关测试用例编写课程的笔记

课程地址:

https://www.imooc.com/learn/816

如何写好测试用例

·前置知识点

软件的相关概念

-软件:数据、程序、文档的结合

-测试时操作数据,程序是测试的主体,文档是工作时的可视化(测试用例是文档的一部分)

软件测试基础

-软件测试是以满足需求为目的保证软件质量的一系列的手段。

测试流程

-需求分析→计划指定→用例编写与执行→对测试结果的分析报告

测试生命周期

-测试计划→测试设计→*测试开发(测试用例的编写属于测试开发)→测试执行→测试评估

·常用术语

按软件测试的手段划分

黑盒:把软件比做黑色的盒子,不知道盒子里面的内部结构,只能通过外面暴露出来的接口、功能进行测试

灰盒:把软件比做半透明的盒子,可以看到内部少量的东西,可以通过外面暴露的功能和盒子内部的数据进行对比,得出测试结论。

  • e.g.测试订单生成的功能
  • 可以通过软件上生成的订单和数据库里的数据进行对比,验证是否一致。

白盒:把软件看成一个透明的盒子,通过观察内部的结构直接推敲出软件是否符合需求(三者中计数难度最高的)

按软件测试方向划分

功能:验证软件是否符合用户提出的表面需求

性能:测试一个软件的工作效率

安全:测试软件是否能够保护用户的信息

按测试点划分

兼容性:测试软件在不同平台上的表现

易用性:测试软件是否友好,满足用户的使用习惯

UI元素:检查界面的布局是否一致、美观

·测试用例是什么

(在测试时按照测试用例的描述进行操作的,规范每一步都输入输出,对照判断是否满足需求。通过测试用例和需求的一一对照,确定测试是否能够覆盖需求,是否有遗漏)

-测试工作的核心

-一组在测试时输入输出的标准

-软件需求的具体对照

·测试用例有什么作用

-检验软件是否满足客户需求(测试用例是以需求为基础生成的)

-提现一个测试人员的工作量

-展现测试用例的设计思路

·测试用例包含哪些内容

-用例编号

每一个编号都是唯一的,可以用简单的数字来编写,也可以带上是做什么的,e.g.xxxx_001。

-用例名称

用例的名字,设计要求。要求用最少的字去描述,言简意赅。

-测试背景

测试用例是属于哪一个项目的,用例是测什么的

-前置条件

执行这条测试之前应该满足什么条件,e.g.测试登录要求账号密码是注册了的

-优先级

优先级和重要级没有绝对的关系,e.g.周末计划出去玩,出去玩的优先级最高,突然公司要求加班(重要级)

-重要级

-测试数据

在测试时输入的数据,e.g.登录功能,账号密码就是登录数据。

有些测试用例是不需要用键盘输入值的,也是有测试数据的,只是没有明确写出来(鼠标的操作也属于数据)

-测试步骤

-预期结果

每一步操作对应的现象,e.g.输入正确的账号密码,预期结果就是登录成功

-实际结果

在执行测试的时候出现的实际的状况,e.g.输入正确的账号密码,登录失败/成功/网络异常(满足需求或者功能有问题)

-备注

特殊情况

·测试用例编写流程

需求分析:客户需要的东西和对那个东西的要求。

-业务需求:关注系统是否满足业务(购物?银行?)。

-用户需求:关注系统是否满足用户习惯。

-功能需求:关注系统是否满足功能要求。

如果没有需求怎么办

-参考市面上已经上线的同类产品

如果需求模糊怎么办

-收集整理已有需求

-和产品经理逐条确认

-参考同类型产品的实现情况

提取测试点

什么是测试点

-测试点即通过需求分析后对得出的需要进行测试的具体内容

测试点对测试用例的设计有什么好处

-快速:根据测试点快速设计测试用例。

-覆盖:测试点可以完全覆盖需求。

-方法:在擦拭点上可以快速应用测试方法

-细节:展现出需求的细节

测试用例编写

      测试用例编写注意

-根据项目的实际情况设计测试用例表格

-用例格式不是固定的,不要生搬硬套

-根据具体情况编写

      测试用例编写方法

-等价类划分法

如何选择适当的数据子集。来代表整个数据集。

通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。

(一种典型的黑盒测试的方法)将所有可能输入的数据划分为若干个等价类,从每个部分中选出最具有代表性的数据,作为测试用例,进行合理的分类。

等价类分为有效等价类和无效等价类→测试用例具有完整性和代表性。

-有效等价类:合理的有意义的数据,检验程序是否满足规格说明

-无效等价类:对于软件规格来说是不合理的、没有意义的输入数据的集合

-边界值分析法

使用边界值分析方法设计测试用例时,一般与等价类花饭结合起来,但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重要目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。(边界值可以作为等价类的补充。)

-场景法

通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果。

场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。

-猜测法

·测试用例评审

→简单的来讲。评审就是对测试用例进行检查。

→评审包括同行评审、小组评审、部门评审、三方评审(开发、测试、客户)等

→不同的评审类型会有不同的角色参与

  评审的意义在哪里

  1. 通过评审可以发现测试用例的不足
  2. 方便测试人员改进用例
  3. 达到在测试是提高测试质量的目的

评审的流程

·测试用例管理

为什么需要管理用例

  1. 测试用例数量巨大
  2. 测试用例会随着需求变更
  3. 测试用例需要补充完善

如何管理用例

  1. 原始的excel管理方式
  2. 专业的项目管理系统

如何管理用例

浪晋的测试小讲堂萌芽计划第二期视频学习笔记相关推荐

  1. 重修-龙珠计划机器学习训练营task3-LightGBM学习笔记

    文章标题:龙珠计划机器学习训练营task3-LightGBM学习笔记 一.学习知识点概要 LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届 ...

  2. 重修-龙珠计划机器学习训练营task1-part2学习笔记

    文章标题:龙珠计划机器学习训练营task1-part2学习笔记 一.学习知识点概要 利用鸢花数据(iris)进行逻辑回归方法的训练,该数据集一共包含5个变量,其中4个特征变量,1个目标分类变量.共有1 ...

  3. 小象python培训班_小象最新Python机器学习升级版视频学习教程 共24节精品课

    小象最新Python机器学习升级版视频学习教程 共24节精品课 本课程特点是从数学层面推导最经典的机器学习算法,以及每种算法的示例和代码实现(Python).如何做算法的参数调试.以实际应用案例分析各 ...

  4. 配置ssd为缓存_SSD小讲堂丨新电脑剪视频还卡?原因给你们找到了!

    蓝字关注,获取更多精彩!2020年,短视频类APP的进一步崛起,视频内容创作的硬门槛越来越低,身边越来越多的人开始接受甚至向往成为一个独立的内容创作者,社会对于内容创业的包容性和认可度不断增强.内容创 ...

  5. CSDN在线讲堂-》玩转C指针 学习笔记

    玩转C指针 前段时间听了CSDN在线讲堂的嵌入式C学习关于指针的课,下面是我的学习笔记,记下了我认为比较重要的知识点,笔记并不全面,就算是学习的tips. 1.看下面的代码: #define INT_ ...

  6. 私房库视频学习笔记-小清新BBS系统开发技术归纳

    自己一直在学习PHP开发,前一段时间在51cto上看到私房库孙胜利老师的视频,下载了他的小清新BBS系统开发视频学习.现在把里面的好的运用收集到这儿. 在看了这套视频后先了解整个web项目开发的过程. ...

  7. 【小甲鱼】python零基础入门学习笔记 03讲~43讲

    本篇基于[莫烦]python基础教程,属于查漏补缺 建议学习顺序 小甲鱼->莫烦numpy&pandas 目录 第003讲 插曲之变量和字符串 课堂笔记 变量 变量 需要注意的地方 字符 ...

  8. [“空头计划“第二期 ] QQ机器人(Python ^3.7 + 机器人框架NoneBot-beta2最新版本)实现

    文章目录 前言 正文 步骤详细分析 一. 完整功能框架 注意 帮助文档 创建新项目`QQ_Robot` 1. 模块 `nb-cli` 的安装(开发模块包含NoneBot2) 2. 驱动器 `httpx ...

  9. 沧小海基于xilinx srio核的学习笔记之第二章 Rapidio技术概述

    总的目录在这哦~ https://blog.csdn.net/z123canghai/article/details/114648658 目录 第二章 Rapidio技术概述 2.1 总体原则 2.2 ...

最新文章

  1. shell中的函数及脚本调试方法
  2. 产品管理:孵化产品 Beta 流程
  3. 计算机组装大赛队名,比赛项目设计及评分标准-中国海员技能大比武.DOC
  4. 当美团遇上双11,给千亿医美市场带来更大想象空间
  5. QT 调用wmi 异常报错 内存异常等
  6. 两个实用的Python的装饰器
  7. 利用 Windows 子系统 Linux(WSL)开发 Python 环境搭建
  8. 计算机配置怎么造假,骗局揭秘:卖你一台假电脑 再送你一个假鲁大师
  9. 一根网线连接两台电脑
  10. Python自动化:批量合并某个文件夹内子文件夹的所有Excel,并新增两列分别备注文件路径和子sheet名
  11. Mac下使用Eclipse读java源码
  12. Apache Zookeeper基本介绍
  13. 现场直击大数据行业应用实践
  14. 基于java学生签到考勤系统
  15. 前端工程的价值体现在哪里
  16. 小米官网搜索框部分详解
  17. TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法
  18. 详解mysql备份恢复的三种实现方式
  19. 明源云采购颁奖盛典|欧金盾铝业荣膺“2020房企供应商10强”
  20. 《微机原理及应用》 试题

热门文章

  1. 基于BSV的存储证明
  2. centos架设FTP服务器
  3. squid第11章 重定向器
  4. 使用Arduino开发板连接ec11旋转编码器
  5. 《液晶显示器和液晶电视维修核心教程》——1.4 液晶显示器的框架结构
  6. 不同版本的Oracle客户端支持的数据库版本
  7. Ts定义对象和数组类型
  8. rpmbuild 制作 rpm 安装包 (一)
  9. ELasticSearch-ES集群原理与搭建
  10. Word写论文注意事项