测试理论基础(重点)

article/2025/9/23 11:11:24

软件测试的原则

1. 只能证明软件存在问题,不能把证明不存在问题
2. 不能进行穷尽测试,应该分类别测试
3. 测试工作尽早介入,降低修复成本
4. 缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷
5. 测试依赖环境
6. 杀虫剂现象
7. 不存在缺陷谬论

软件开发模型

瀑布流模型

在这里插入图片描述
1.1 瀑布流模型的特点
- 1. 是线性模型的一种,每一个阶段只执行一次。
- 2. 文档驱动

1.2 瀑布模型的优缺点
– 优点: 开发各个阶段比较清晰
– 缺点: 不适应需求变化, 风险往往延至后期才显漏

快速开发模型, 螺旋模型 (了解)

软件测试模型

V模型

在这里插入图片描述
v模型的优缺点

  • 优点: 测试v模型及包含了底层测试,又包含了高层测试
  • 缺点: 当需求变更时将会导致返工量非常大, 模型灵活性比较低

W模型

在这里插入图片描述

  • W模型的优缺点
    • 优点:强调测试伴随整个开发周期,而且测试的对象不仅仅是程序,还包括需求和设计

    • 更早的介入测试,能尽早发现缺陷进行修复

    • 缺点

    • 对于测试技术要求高, 实践起来比较困难

在这里插入图片描述

软件质量模型

在这里插入图片描述

  1. 功能性: 满足某种功能需求的一种属性或能力
  2. 性能效率: 在规定条件下,相对应所用资源的数量,软件产品提供适当性能的能力
  3. 兼容性:在一定条件下兼容其他软件的能力
  4. 易用性: 在指定条件下,产品被理解、学习、使用和吸引用户的能力
  5. 可靠性:产品在规定条件下,在规定时间内完成规定功能的能力
  6. 信息安全性:信息在传输或者存储过程的安全程度
  7. 可维护性: 在规定条件下,使用规定的工具或方法修复规定功能的能力
  8. 可移植性: 从一种环境迁移到另一种环境的能力

软件测试的分类

在这里插入图片描述

单元测试

  • 又称模块测试,针对软件设计中的最小单位-程序模块,进行正确性检查的测试工作。单元测试需要从程序内
    部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
  • 单元定义: C中指一个函数,JAVA中指一个类
    -在这里插入图片描述

集成测试

  • 又叫组装测试, 通常在单元测试的基础上,将所有程序模块进行有序、递增的测试
    在这里插入图片描述

系统测试

  • 指的是将整个软件系统看为一个整体进行测试,测试的依据是软件需求说明书

验收测试

  • α测试: 内测
  • β测试: 公测
  • γ测试:软件版本正式发行的候选版,版本比较成熟
  • 灰度测试:在软件上线之前,抽取部分用户进行使用测试

是否查看源代码

  • 黑盒测试: 只关注功能实现,不关心内部的结构设计和代码组成
  • 白盒测试: 只看代码,查找代码中的缺陷
  • 灰盒测试:查看部分代码, ui不可见,即关注输入输出的正确性又要关注程序内部的情况

###软件测试的更多分类
在这里插入图片描述

测试用例

  • 定义: 是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。用于描述什么?怎么测

测试用例的核心八大要数

  • 用例编号: 表示用例的唯一性, 有时也叫用例ID
  • 用例标题: 表示要测试或验证的目的,通常用一句话简要描述
  • 测试项目: 当前测试的功能所属范围
  • 测试级别: 表示用例测试功能的重要程度或影响力
  • 预置条件:验证该功能需要的前提条件
  • 输入数据: 必要的数据数据输入
  • 执行步骤: 验证该功能需要的先后操作步骤
  • 预期结果: 希望得到的结果

在这里插入图片描述

测试理论 => 测试的常用方法

1. 等价划分法(重点)

  • 等价类别划分法
    • 等价类的概念: 在所有测试数据中,具有某种共同特点的数据子集
    • 等价类划分为:
      • 有效等价类:满足需求的数据子集
      • 无效等价类:不满足需求的数据子集

等价类划分法设计用例步骤

    1. 明确需求
    1. 确定有效等价类和无效等价类
    1. 提取数据编写测试用例
      在这里插入图片描述
  • 适用场景

    • 针对需要数据量大,有测试数据输入的地方
    • 典型代表: 页面级的输入框类测试

二 边界值分析法

  • 边界范围的确定

    • 上点: 边界上的点(正好等于)
    • 离点:距离上单最近的点(刚好大于、刚好小于)
    • 内点: 范围内的点(区间范围内的数据)
      在这里插入图片描述
  • 边界值法设计用例步骤

      1. 明确需求
      1. 确定有效和无效等价类
      1. 确定边界范围值
      1. 提取数据编写测试用例
  • 适用场景

    • 在等价类的基础上针对有边界范围的测试数据输入的地方
    • 常见词语描述:大小、尺寸、重量等修饰符
    • 典型代表: 有边界范围的输入框类测试

判定表法

在这里插入图片描述

  • 判定表法设计用例步骤
      1. 明确需求
      1. 画出判定表
      • 列出条件桩和动作桩
      • 填写条件项, 对条件进行全组合
      • 根据条件项的组合确定动作项
      • 简化、合并相似规则(有相同的动作)
  • 使用场景
    • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制
      约)关系

场景法、错误推测法、因果图法、正交法(了解)

流程图法 (重要)

    1. 概念: 流程图法主要是针对测试场景类型属于流程测试场景的测试项下的测试子项进行设计
  • 流程图法设计测试用例步骤
      1. 详细了解需求
      1. 根据需求说明或界面原型,找出业务流程的各个页面以及各个页面之间的流转关系
      1. 画出业务流程
      1. 编写用例

案例

在这里插入图片描述
简单画图
在这里插入图片描述

流程图
在这里插入图片描述

流程图中各个标签所表示的含义

在这里插入图片描述

流程图法的使用范围

  1. 多个功能间的组合测试
  2. 在冒烟测试时主要采用流程图法进行测试

测试理论 => 软件的缺陷

缺陷的定义

  • 软件在使用过程中存在的任何问题(如:错误、异常等),都叫软件的缺陷,简称bug。

缺陷的判定标准

在这里插入图片描述

软件缺产生的原因

在这里插入图片描述

软件缺陷的核心内容

- 缺陷的标题 、缺陷的预置条件、缺陷的复现步骤、缺陷的预期结果、缺陷的实际结果、缺陷的必要附件

构成缺陷的基本要素

  • 缺陷编号: 缺陷的唯一性标志
  • 缺陷状态: 表示缺陷当前处于哪个阶段
    在这里插入图片描述
  • 缺陷所属模块:缺陷属于哪个被测的模块
  • 缺陷严重程度: 该缺陷的破坏程度或者影响程度
    在这里插入图片描述
  • 缺陷的优先级: 处理该缺陷的优先程度
    在这里插入图片描述

软件缺陷的类型

在这里插入图片描述

软件缺陷的信息

在这里插入图片描述

缺陷的严重程度

在这里插入图片描述

缺陷的优先级

在这里插入图片描述

缺陷管理

  • 认识缺陷报告
    在这里插入图片描述

缺陷的跟踪(原则:谁创建的谁去关闭)

  • 流程一: 测试人员提交缺陷 -> 开发人员修复缺陷 -> 测试人员回归测试 -> 测试人员关闭缺陷
  • 流程二: 测试人员提交缺陷 -> 开发人员修复缺陷 -> 测试人员回归测试 -> 测试人员重新打开缺陷
  • 流程三:测试人员提交缺陷 -> 开发人员延后处理
  • 流程四: 测试人员提交缺陷 -》 开发人员拒绝缺陷 -> 测试人员关闭缺陷

http://chatgpt.dhexx.cn/article/3c7scpdG.shtml

相关文章

sql左连接出现重复数据

情况说明:只需左表数据,右表数据只作为条件存在,左表数据与右边有1:n关系,左连接出现重复数据 原因分析:由于1:n关系,右边数据连接后处于隐藏状态(类似)&…

sql 左连接数据出现重复

数据出现数据重复问题,排查后发现竟然是,这里用简单demo举例,项目SQL不便展出~ 目录 一、简化举例 二、查询结果 一、简化举例 1、表aa 2、表bb 二、查询结果 1、无条件查询 2、左连接查询 右表数据有重复时,连接关系如下 111122 …

sql 左连接行数增加本质

sql 左,右,内连接 转载自:http://323229113.blog.163.com/blog/static/2185362820070172553209/ 感谢作者. 相信做数据分析的朋友,对数据库都比较敏感,作为一名数据分析人员,我们处理数据时总会遇见各种各样的问题,包括连接方式的选择,今天和大家分享一下…

SQL(左连接,右连接,内连接)

连接(Join):SQL语句采用JOIN的目的是关联两张及两张以上的表。 连接的使用方式:表1 Join 表2 On 关联条件 1 左连接(Left Join) 左连接(Left Join):多表拼接时,以左边的表为基准&a…

SQL语句理解左右连接和where

这里以左连接 left join 为例,说明 on 后面的条件与 where 后面条件的区别 创建测试表:TAB_1、TAB_2 create table TAB_1 as (select c as A,d as B,3 as C,4 as D from dualunion allselect a as A,b as B,1 as C,2 as D from dual); create table TA…

sql的内连接、左连接、右连接

多表联查时,有些数据没有对应另一个表的数据,即对应为空。 內连接:仅选出两张表中互相匹配的记录,有对应为空的则筛选出去,这些数据就不会被搜索出来。内连接是两个表中都必须有连接字段的对应值的记录,数…

SQL Server左连接

LEFT JOIN 子句用于查询来自多个表的数据。它返回左表中的所有行和右表中的匹配行。 如果在右表中找不到匹配的行,则使用 NULL 代替显示。 以下图说明了两个结果集的左连接结果: 以下说明如何使用 LEFT JOIN 子句来连接两个表 T1 和 T2 : 在…

SQLserver 外连接查询-左连接查询

外连接包括 : (左外连接 右外连接 全连接 简称 为:左连接 右) 先上定义: /*左连接 left join on 返回左表的所有行,对应右表中数据有一对多的联系,则全部展示,右表中没有匹配 上 &am…

SQL左连接数据变少

前一段时间,同学写sql碰到一个问题:两段sql连接看似一样,但是条数却不一样。原因是在左连接之后的where条件对数据进行了筛选,使得数据变少了。两段sql如下: select count(1)from (select *from KXAPP.I_CASH_LOAN_WH…

SQL 左连接中on后面加where和加and的区别

阅读目录 1、首先来谈谈什么是left join 2、再来谈谈on后面使用and和where的区别 3、总结 今天的最佳表现应该作为明天的最低要求 1、首先来谈谈什么是left join left join即左连接,比如表1左连接表2,以左表为主,表示以表1为主&#xff0c…

SQL 内连接、左连接、右连接案例

概念 左连接(Left Join):以左表为主表,左表中每条数据都会跟右表所有数据进行对比一次,当所有条件不满足时,对应的右表数据以 null 显示 1 语法:select * from tbl1 Left Join tbl2 on tbl1.ID…

SQL左连接中的on and和on where的区别

转载,原文链接:http://blog.csdn.net/xingzhemoluo/article/details/39677891 SQL左右连接中的on and和on where的区别 在使用left join时,on and和on where条件的区别如下: 1、on条件是在生成临时表时使用的条件,它不管on中的条…

左连接 oracle条件查询,sql 左连接查询条件and与where

用一条SQL查询一张表中不同级别的字段(字段名称相同)。 需求:用一条SQL同时查出城市id、城市name、省份id和省份name。 版本一如下 SELECT tlUp.LOCATION_ID as cityId, tlUp.LOCATION_NAME as cityName, tlDown.LOCATION_ID as provinceId, tlDown.LOCATION_NAME as province…

oracle左连接优化,关于SQL左连接效率问题

项目在开发新功能,涉及到一张表,里面数据有一百多W的条,表字段竟然有一百多个。。实在是没法再往下新增加字段了,于是就新增了一张表,用做扩展吧,通过表key来关联。后来涉及到以扩展表中某个字段作为查询条…

oracle 左连接 简写,SQL左连接

原标题:SQL左连接 今天分享一下开发中何时运用左连接进行关联查询(大牛请忽视~)。 废话不多说,直接上表结构。只有两张表作为例子,Person表为人员信息,Types为人员类型辅助表,没有定义外键关联。 记住这句话——运用左…

SQL中的左连接和右连接

SQL中的左连接和右连接 SQL中的左连接和右连接 为什么面试官喜欢问这个问题?为什么自己明明会SQL但是这个问题却模棱两可?今天为大家解决这个问题。话不多说,直接上案例~ 创建两张表 首先创建第一张表class,字段如下图所示。 …

SQL查询左连接、右连接、内连接

1、左连接的定义:是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。 下边以A表和B表为例子,A…

sql的左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)的详解

sql的左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)的详解: 这里以两个表的连表为例: 创建表1:为人员表,这里将它当做左表; CREA…

SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)

文章目录 前言一、概念二、例子总结 前言 最近在做SQL相关的练习,发现以前那么自信的SQL放久了不碰也变得棘手起来,特别是这一块表之间的内外连接。所以这篇是关于这个内外连接的整理。 一、概念 首先还是介绍一下这三个的定义 1.​Left join&#xf…

如何判断一个数是否为素数(质数)?

用For语句实现循环 基本思路:若一个数n能被2和√n之间的数整除(取余为0),则可判断n为素数。可从2开始测试,一直到√n为止。For语句语法规则 一般形式: for(表达式1;表达式2&#…