其他分享
首页 > 其他分享> > 哈工大软件过程与工具复习6——第10章 软件测试

哈工大软件过程与工具复习6——第10章 软件测试

作者:互联网

目录

一、软件测试

1. 软件测试基础

2. 测试过程

3. 测试方法分类

4. 黑盒测试

(1)黑盒测试概述

(2)等价类划分方法

(3)边界值方法

5. 白盒测试

(1)白盒测试概述

(2)白盒测试的覆盖标准

(3)基本路径法

(4)循环测试法

(5)xUnit白盒测试


一、软件测试

1. 软件测试基础

传统: 测试是一种旨在评估一个程序或系统的属性或能力,确定它是否符合其所需结果的活动
测试目的:在程序中寻找错误

Venn Diagram来理解测试
考虑一个程序行为全域,给定一段程序及其规格说明

设计测试用例时,应包括合理的输入和不合理的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态

测试用例(testing case):

测试用例的特征:

2. 测试过程

软件测试的V模型

3. 测试方法分类

回归测试(Regression Testing)

4. 黑盒测试

(1)黑盒测试概述

黑盒测试(black-box testing):

用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出,但这是不可能的。因此,测试人员只能在大量可能的数据中,选取其中一部分作为测试用例

黑盒测试的实施过程

(2)等价类划分方法

等价类:输入数据的某个子集,在该子集合中的各个输入数据对于揭露程序中的错误都是等效的,并合理地假定“测试某等价类的代表值就等于对这一类其它值的测试

等价类划分关键步骤:确定等价类和选择测试用例
基本原则:

有效等价类

无效等价类

划分等价类的标准:完备测试、避免冗余

确定等价类的六大原则

测试用例 = {测试数据+期望结果}
测试结果 = {测试数据+期望结果+实际结果}

(3)边界值方法

边界值分析是等价类测试的特例,主要是考虑等价类的边界条件,在等价类的“边缘”选择元素

使用边界值分析方法设计测试用例,首先应确定边界情况:

边界值分析的原则

5. 白盒测试

(1)白盒测试概述

白盒测试(又称为“结构测试”或“逻辑驱动测试”):把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试

白盒测试主要对程序模块进行如下的检查:

代码评审:靠人发现代码中不符合规范的地方、潜在的错误
代码性能分析:发现代码中的性能缺陷
白盒测试:发现代码中的错误

白盒测试的特点:

白盒测试考虑测试用例对程序内部逻辑的覆盖程度:最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些

(2)白盒测试的覆盖标准

对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字

为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准从低到高分别是:

(3)基本路径法

路径测试:设计足够多的测试用例,覆盖被测试对象中的所有可能路径

基本路径测试(Basic path test):

4个步骤和一个工具方法

独立路径(基本路径):一条程序执行的路径,至少包含一条在定义该路径之前的其他基本路径中所不曾用过的边(即:至少引入程序的一个新处理语句集合或一个新条件)

计算圈复杂度:流图中区域的数量

(4)循环测试法

循环测试是一种白盒测试技术,注重于循环构造的有效性
四种循环:简单循环,串接(连锁)循环,嵌套循环和不规则循环

简单循环测试

嵌套循环测试

串接循环测试

非结构循环测试

(5)xUnit白盒测试

xUnit—x代表不同的编程语言,xUnit是相应的单元测试工具
jUnit的核心Assert方法
JUnit3中的setUp()方法,在JUnit4中使用@Before标识;
JUnit3中的tearDown ()方法,在JUnit4中使用@After标识;
JUnit3中的testXXX()方法,在JUnit4中使用@Test 标识。

标签:10,白盒,程序,等价,测试用例,测试,哈工大,循环,软件测试
来源: https://blog.csdn.net/littleteresa/article/details/122196268