软件测试基础_测试用例

 

目录

一、测试模型

1.测试V模型

各个测试模块说明

优缺点

2.测试w模型

二、软件测试分类

 

三、设计测试用例的方法(测什么?怎么测?)

 

1.黑盒测试

等价类划分法

边界值分析法

因果图法

判定表分析法

场景分析法

流程分析法

错误推断法

正交试验法

2.白盒测试

定义

原则

静态测试

动态测试


一、测试模型

 

1.测试V模型

各个测试模块说明

(1)单元测试:又称模块测试,针对单一的程序模块进行的测试

(2)集成测试:又叫组装测试,在单元测试的基础上,对所有模块进行测试

(3)系统测试:将整个软件看作一个整体进行测试,包括功能、性能和兼容性

(4)验收测试:

  • 内测版(alpha):内部交流版本,可能存在很多bug。不建议用户安装
  • 公测版(beta):面向所有用户,通过用户的反馈再去修改细节
  • 候选版(gamma):与正式软件相差无几

 

优缺点

(1)优点:包含了底层测试(单元测试)和高层测试(系统测试);清楚的标示了开发和测试的各个阶段;自上而下求精,每个阶段分工明确,便于整体项目的把控

(2)缺点:自上而下的顺序导致了测试工作在编码之后,就导致错误不能及时进行修改;实际工作中,需求经常变化,导致v模型步骤反复执行,返工量很大,灵活性较低

(3)改良:每个步骤都可以进行小的迭代工作

 

2.测试w模型

定义:开发一个v,测试一个v组合起来的模型(w模型也叫双v模型)

优点:开发伴随着整个开发周期,需求和设计同样要测试;更早的介入测试,可以发现初期的缺陷,修复成本低;分阶段工作,方便项目整体管理。

缺点:开发和测试依然是线性的关系,需求的变更和调整,依然不方便;如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高!

总结:v模型适用于中小企业,w模型适用于中大型企业(因为人员要求高),h模型人员要求非常高,很少有公司使用

 

二、软件测试分类

 

三、设计测试用例的方法(测什么?怎么测?)

 

  • 测试用例方法选择
  1. 如果测试功能和流程,使用场景法
  2. 需要输入数据的地方,使用等价类划分法,配合边界值法
  3. 有条件组合的情况,使用因果图制作出判定表
  4. 组合比较多的,使用正交表
  5. 没有达到覆盖标准,增加一些测试用例
  6. 依靠经验追加测试用例(错误推断法)

 

1.黑盒测试

又称数据驱动测试,完全不考虑内部机构和特性,只注重软件的功能需求(不管代码)

  • 等价类划分法

定义

等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类,设计测试用例的时候要考虑这两种等价类。

步骤

(1)确定有效等价类和无效等价类

(2)有效等价类划分(题目条件,还要注意边界值(极值),中间再随意找个值)

(3)无效等价类划分(跟有效等价类相反,其他特殊情况(中文、英文、特殊符号、空格、空))

     注意:两个框要一个正确,一个错误,这样才能准确判断;一定要根据需求来判断预期结果。

 

两位数加法器

计算1—100的整数之和(包括1和100)

    

 

QQ账号

 

电话号码

 

登陆界面

 

  • 边界值分析法

我们在测试过程中,一定要小心边界值(极值),因为在程序中这些边界更容易出问题

思路:找到边界值和它两端的值,分别进行测试

总结:边界值思想应该是选到边界和刚超过的值,来进行测试,也要根据实际情况来选择;边界值和等价类是相辅相成的关系,配合使用的。

 

标题

成绩

 

密码框

 

  • 因果图法

因:输入条件

果:输出条件

适用于输入条件之间有相互制约、相互依赖的情况。因果图的绘制过程是对被测系统的外部特征的建模过程,根据输入输出间的因果图可以得到判定表,从而规划出测试用例。

 

 

  • 判定表分析法

根据因果图来制作判定表(因果图可以不画)

组成:

  1. 条件桩:所有条件
  2. 动作桩:所有结果
  3. 条件项:针对条件桩的取值
  4. 动作项:针对动作桩的取值

步骤:

  1. 列出所有条件和动作桩
  2. 填写条件和动作桩中的项目
  3. 简化判定表

注意:如果出现“-”代表此选项不影响最终结果

 

银行卡充值

 

好学生判断

 

  • 场景分析法

主要用来测试业务流程:分为基本流(正确流程)和备选流(错误流程)

注意:还要补充一些异常情况

冒烟测试主要采用场景法来测试

 

  • 流程分析法

适用于有先后顺序的测试;常用于业务流程、安装流程等。每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法进行完善;

 

  • 错误推断法

凭着直觉和经验来设计测试用例,他是根据之前项目相关的bug数据总结来的

 

  • 正交试验法

从全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比);高效率、快速、经济的方法;

  • 正交表使用方法
  1. 根据控件和取值数选择一个合适的正交表
  2. 列举数值并编号,生成取值表
  3. 把取值表与选择的正交表进行映射

 

字体控件

取值表

正交表

 

114系统查询

取值表

正交表

 

混合正交表

在实际工作中,很多情况都是因素和水平不同,我们在现成的正交表中找不到对应的表格,此时需要混合正交表工具来生成混合正交表

使用步骤:

  1. 制作取值表(不需要编号,列出数据即可)

  1. 复制表格中的数据放在一个新建的txt文本文档中,保存到allpairs文件夹中(例如:Test2.txt)
  2. Win+r在输入cmd进入控制台界面
  3. 使用控制台代码进入allpairs文件夹,输入以下指令(test2.txt是我们刚新建的文件,chenggong.txt是我们最终是生成的正交表文件)

 

2.白盒测试

定义

白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

原则

(1)保证一个模块中的所有独立路径至少被测试一次;

(2)所有逻辑值均需要测试真(true)和假(false);两种情况;

(3)检查程序的内部数据结构,保证其结构的有效性;

(4)在上下边界及可操作范围内运行所有循环。

静态测试

不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

动态测试

需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:

  • 语句覆盖每条语句至少执行一次。
  • 判定覆盖每个判定的每个分支至少执行一次。
  • 条件覆盖每个判定的每个条件应取到各种可能的值。
  • 判定/条件覆盖同时满足判定覆盖条件覆盖。
  • 条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
  • 路径覆盖使程序中每一条可能的路径至少执行一次。