0%

软件测试复习

软测复习

软件质量和质量保证

软件质量

由三部分构成:
软件产品的质量,即满足使用要求的程度。
软件开发过程的质量,即能否满足开发所带来的成本、
时间和风险等要求。
软件在其商业环境中所表现的质量。

质量保证

软件的质量保证就是向用户及社会提供满意的高质量的产品,进一步地说,软件的质量保证活动也和一般的质量保证活动一样,是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。

软件测试

从标准论来看软件测试,可以定义为软件测试就是“验证(Verification)”和“有效性确认(Validation)”活动构成的整体,即软件测试 = V&V。
“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。
“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。

测试,常常被认为是质量控制的最主要手段。

白盒测试

语句覆盖:每个语句至少执行一次。
判定覆盖:每个语句至少执行一次,并且判定结果也要执行一次,就是使判定结果为0或1都要一次
条件覆盖:每个语句至少执行一次,并且判定条件可能结果都得至少执行一次,比如说a>0 and b>0,就是得让a>0执行一次,a<0也要执行一次,b>0执行一次,b<0也要执行一次

A>0,A<=0 B>0,B<=0
A>1,A<=1 C>1,C<=1

A>1 B>0 C>1
2 1 2
0 0 0

判定/条件覆盖 每个条件都取到可能结果,每个判定表达式也都取到可能结果
条件组合覆盖 每种条件都要达到

(1)(5) 2 1 2
(3)(7) 0 1 2
(2)(6) 2 -1 0
(4)(8) -1 -1 -1

修正的判定/条件覆盖 在满足判定/条件覆盖的基础上,每个简单判定条件都应该独立地影到整个判定表达式的取值

大题:

  1. 流程图
  2. 环路复杂度
  3. 基本路径
  4. 设计用例
  5. 预期结果

路径覆盖

黑盒测试

边界值测试

  • 穷举法
  • 典型值法

先确定边界值,在选取典型值,a-1,a,a+1
遵循单一变量原则,年份变,月份不变,日不变

等价类

  1. 输入输出确定
  2. 划分等价类
  3. 设计测试用例
    • 有效等价类尽可能覆盖
    • 无效等价类每个用例包含一个
  4. 选取测试用例
    • 输出
    • 预期输出

决策表

建立等价类

1
2
3
4
5
6
7
8
9
10
11
12
在以下等价类集合上建立决策表:
M1:{month:month有30天}
M2:{month:month有31天,12月除外}
M3:{month:month是12月}
M4:{month:month是2月}
D1:{day:1 ≤day ≤27}
D2:{day:day=28}
D3:{day:day=29}
D4:{day:day=30}
D5:{day:day=31}
Y1:{year:year是闰年}
Y2:{year:year不是闰年}

建立条件桩
C1: 月份在{M1,M2,M3,M4}
C2:日期
C3: 年

建立动作桩
A1:不可能
A2:日期增1
A3: …

建立决策表

条件
动作
测试用例,预期输出

因果图

因: 输入条件
果: 输出结果或者程序状态的改变

  1. 恒等关系
  2. 非关系

记住图解

约束关系说明:
E约束,最多只有一个为1
I约束(或): 至少一个为1
O约束(唯一) a和b必须有一个且只有一个为1
R约束: a是1,b也必须是1,a推到出b
M约束: 结果a为1,结果b必须为0

判定表

基于场景的测试

  1. 基本流
    备选流

  2. 场景构建:
    场景1(取款成功):基本流;
    场景2:():基本+备选

  3. 测试用例设计

    • I无效数据
    • V有效数据
    • N/A不用输入
  4. 测试数据设计

性能测试

五个阶段: 测试计划,脚本创建,场景定义,场景运行,结果分析

响应时间原则:
2 很好
5 差一点
10 最大
8小时,404

性能测试结果能干嘛?

  • 分析系统瓶颈,优化系统
  • 在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况
  • 御剑系统负载压力承受力,在应用实际部署之前,评估系统性能

性能指标:

  • 并发用户数
  • 资源利用率
  • 响应时间

bug流程管理

  1. 回归测试应测全部案例
  2. BUG流程管理,发现的话,应提交项目经理确认是否可以取消,不能取消的,仍然需要开发组进行修改并进行回归测试。
  1. 测试介入太晚
  2. 回归测试不合理,所有缺陷应经过验证修改后才可以发布
  3. 产品发布出口不对
  4. 缺陷流程管理不合理
    • 缺陷的权限控制不严
    • 没有对每个缺陷进行全程跟踪
    • 缺少缺陷审核步骤

单元测试,集成测试,系统测试,验收测试

单元测试 测函数功能,测的模块接口,局部数据,边界
集成测试 将一两个子功能集合起来测试,包括模块测试跟子功能测试,测得模块间接口
系统测试 测试整个系统,包括功能测试,性能测试等
验收测试 测试人员与开发人员最后沟通测试

单元测试

测试人员一般不参与单元测试

单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块,进行正确性检验的测试工作。

集成测试

集成测试又称组装测试、联合测试、子系统测试或部件测试

自顶向下

这种测试方法不需要驱动模块
首先单独测试每一层。对于顶层而言,需要构造桩

自底向上

写一个驱动程序

系统测试

系统测试对象为整个产品系统,它不仅包括产品系统的软件,还要包含系统软件所依赖的硬件、外设甚至包括接口。

用户层测试
应用层测试
功能层测试
指标/协议层测试

整体过程

需求分析审查->设计审查->单元测试->集成测试->功能验证->系统测试->验收测试->版本发布->维护

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/c26930a8/
版权声明:转载请注明出处!