软件测试基础知识点

一、软件质量模型

  1. 功能性:能够满足明确和隐含要求的功能
  2. 可靠性:能够处理异常情况,在错误中很快恢复
  3. 易用性:易懂、易学、漂亮好看
  4. 效率性:占用少量资源,提供适当的性能
  5. 维护性:指产品可被修改的能力
  6. 可移植性:指软件产品从一种环境迁移到另一种环境的能力

二、软件测试分类

(1)是否覆盖源代码

  1. 黑盒测试
  2. 白盒测试
  3. 灰盒测试

(2)按照阶段划分

  1. 单元测试:对软件中最小的可测单元进行的测试
  2. 集成测试:在单元测试的基础上,对多个单元组装后的产物进行测试
  3. 系统测试:在集成测试的基础上,把软件看作一个整体进行测试
  4. 验收测试:也叫交付测试,以最终用户的角度确认软件是否符合预期

(3)是否运行

  1. 静态测试
  2. 动态测试

(4)是否自动化

  1. 手工测试
  2. 自动化测试

(5)更多分类

  1. 冒烟测试:对基本功能,主要功能进行测试,避免测试资源的浪费
  2. 回归测试:对BUG或者测试用例进行回归测试
  3. 随机测试:假设第一次接触软件进行随机测试,避免惯性思维
  4. 探索测试:同时做测试设计和测试执行,探索复杂场景,容易被忽略的场景

三、软件开发常见模型

(1)瀑布模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XJn2pVoC-1617189085940)(C:\Users\z\AppData\Roaming\Typora\typora-user-images\image-20210311132307608.png)]

  1. 过程:需求分析——概要设计——详细设计——编码——软件测试——软件维护
  2. 优点:阶段清晰
  3. 缺点:依赖于需求分析的成果
  4. 适用:需求明确的、大型项目

(2)快速原型

在这里插入图片描述

  1. 过程:快速分析——构造——运行——客户评价
  2. 优点:支持客户的参与,适应需求灵活的项目
  3. 缺点:文档不完善,不满足大型项目的需求
  4. 适用:需求灵活的中小型项目

(3)敏捷开发模型

这里写图片描述

在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

优点:敏捷开发的高适应性,以人为本的特性、更加的灵活并且更加充分的利用了每个开发者的优势,调动了 每个人的工作热情。

缺点:由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大 的困难。

四、软件测试模型

(1)V模型

在这里插入图片描述

  1. 过程:开发半个V,测试半个V
  2. 优点:包含了底层测试和高层测试
  3. 缺点:测试介入时间晚

(2)W模型

在这里插入图片描述

  1. 过程:开发一个V,测试一个V
  2. 优点:测试介入时间早
  3. 缺点:步骤复杂,对人员要求高

五、软件缺陷

(1)软件缺陷的定义和标准

定义:软件或程序中存在的各种问题和错误

标准:

  1. 未达到需求规格说明书标明的功能
  2. 出现了需求指明不会出现的错误
  3. 超出需求的范围
  4. 未到达需求虽未指明,但应该达到的目标
  5. 软件难以理解,不易使用,运行速度慢

(2)缺陷报告的关键因素

在这里插入图片描述

黑盒测试和白盒测试

黑盒测试:

不考虑程序的内部逻辑结构,着眼于程序外部结构,针对软件界面和软件功能进行测试

测试方法:等价类划分,边界值分析,因果图法,错误推测法,场景法,正交实验设计法,功能图分析法,判定表驱动分析法

  1. 等价类划分:把所有可能的输入数据,划分成若干子集,然后从每一子集中选取少数和具有代表性的数据作为测试用例

    分为有效等价类和无效等价类

  2. 边界值分析:对输入或者输出的边界值进行测试,应当选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据,而不是选取等价类中典型值或任意值作为测试数据

  3. 错误推测法:根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例

  4. 因果图法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适用于检查程序输入条件的各种组合情况

  5. 判定表驱动分析法:判定表是分析和表达多逻辑条件下执行不同操作的情况工具,优点是:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏

  6. 正交实验设计方法:利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等.

  7. 功能图分析方法:

  8. 场景设计方法:现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。

白盒测试:

  • 白盒测试又称透明盒测试、逻辑驱动测试
  • 是测试被测单元内部如何工作的一种测试方法
  • 根据程序内部的逻辑结构及相关的信息来选择和测试用例,对程序的逻辑结构进行测试
  • 可覆盖全部代码、分支、条件和路径等

测试方法:

语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖

  1. 语句覆盖:使程序中可执行的语句至少执行一次
  2. 判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次
  3. 条件覆盖:要使每个判定中每个条件的可能值至少满足一次。
  4. 判定-条件覆盖:使得判断条件中的所有条件可能至少执行一次取值。同时,所有判断的可能结果至少执行一次。
  5. 条件组合覆盖:使得所有可能的条件取值组合至少执行一次。
  6. 路径覆盖:设计所有的测试用例,来覆盖程序中的所有可能的执行路径
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值