截图
简介
这是软件测试技术ppt,包括了软件测试的基本概念,软件测试的特点,软件测试的特点 — 结论,软件测试的基本原则,测试的基本步骤,白盒法常用的覆盖标准,边值分析法举例,黑盒法应用实例,调试(纠错)的技术,归纳法,演绎法排错等内容,欢迎点击下载。
软件测试技术ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint.
6.1软件测试的基本概念
一、软件测试的目的和重要性
因为开发工作的前期不可避免地会引入错误,测试的目的是为了发现和改正错误,这对于某些涉及人的生命安全或重要的军事、经济目标的项目显得尤其重要。
二、软件测试的特点
1、软件测试的开销大
按照Boehm的统计,软件测试的开销大约占总成本的30%-50%。例如:APPOLLO登月计划,80%的经费用于软件测试。
二、软件测试的特点 — 结论
3、软件测试难度大
根据上述分析,既然不能进行 “穷举”测试,又要查出尽可能多的错误,软件测试工作的难度大。只有选择 —
三、软件测试的基本原则
3、充分注意测试中的群集现象。
四、测试的基本步骤
6.2 软件测试方法
软件测试方法分为两类:静态分析、动态测试
① 调用图
无论Y 为何值,都不能够调用子程序。
② 数据流分析图
节点 —表示单个语句。
有向边 —表示控制结构。
d — 定义
r — 引用
u — 未引用
二、动态测试方法(1)
通过选择适当的测试用例,执行程序。
常用的方法:
1、白盒法
分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。
白盒法
白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。
白盒法步骤:
例:用白盒法测试以下程序段:
Procedure(VAR A,B,X:REAL);
BEGIN
IF (A>1) AND (B=0)
THEN X:=X/A ;
IF (A=2) OR (X>1)
THEN X:=X+1
END;
白盒法举例
Procedure (VAR A,B,X:REAL);
BEGIN
IF(A>1) AND (B=0)
THEN X:=X/A ;
IF (A=2) OR (X>1)
THEN X:=X+1
END;
1、语句覆盖
使得程序中每个语句至少都能被执行一次。
2、判定覆盖
使得程序中每个判定至少为TRUE 或FALSE各一次。
3、条件覆盖
4、判定/条件覆盖
同时满足判断覆盖和条件覆盖。
5、条件组合覆盖
使得每个判定中条件的各种可能组合都至少出现一次。
作业:
PROGRAM bubble(input,output);
CONST n=100;
TYPE colarr=ARRAY[1..n] OF INTEGER;
VAR a: colarr; t,i,j: INTEGER;
BEGIN
FOR i:=1 TO n DO READ(a[i]); READLN;
FOR j:=1 TO n-1 DO
FOR i:=1 TO n-j DO
IF a[i]>a[i+1] THEN
BEGIN
t:=a[i]; a:=a[i+1]; a[I+1]:=t
END;
FOR i:=1 TO n DO
BEGIN WRITE(a[i]:4);
IF I MOD 5=0 THEN WRITELN
END; WRITELN
END.
作业:
二、动态测试方法(2)
1、等价分类法
基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段 —“等价类”,从等价类中选择出的用例,具有“代表性”。
等价分类法步骤
2、边值分析法
基本思想: 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。
边值分析法举例
黑盒法应用实例
3、错误推测法
凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例。
4、因果图法(cause effcet graphicei)
⑴ 因果图的基本符号
0 - 表示“不出现” 1 - 表示“出现”
4、因果图法(cause effcet graphicei)
对“与”、“或”函数的限制符号
⑵ 因果图法的步骤
分析规范,即将问题分为若干可工作的步骤。
标识出规范中的原因与结果。
原因—输入条件
结果—输出或系统变换
⑶ 因果图法应用举例
规范:文件名第一列字符必须为A或B,第二列字
符必须为数字。满足则修改文件。第一字符不正
确发出信息X12,第二个字符不正确发出信息X13。
②画出因果图
中间结点 是导出结果的进一步原因。
③将因果图转换为判断表
6.3 软件测试的步骤
测试步骤及策略
所有测试过程都应采用综合测试策略;即先
作静态分析,再作动态测试。并事先制订测试计
划。测试过程通常可分4步进行:
一、模块测试(Module Testing)
1、测试内容
2、模块测试步骤
考虑到被测模块与其它模块的联系,因此测试时需要使用两类辅助模块来模拟其他模块。
二、组装测试(Integration Testing)
1、组装测试的任务
①确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为渐增式及非渐增式。
②测试方法以黑盒法为主,按照组装方案进行
测试。
2、渐增式组装测试
渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测试。两种方案:
自顶而下增值
自底而上增值
深度优先与宽度优先
无论是自顶而下增值还是自底而上增值,还可选择
深度优先或者宽度优先增值。
问 题
(1)自顶而下增值与自底而上增值各有何优、缺点?
(2)为什么在实际的组装测试中,都应该采用混合增值的方法?
(3)请自己设计 2-3个混合增值的测试方法。
确定集成过程的原则
自顶而下增值
优点:能够尽早发现系统主控方面的问题。
缺点:无法验证桩模块是否完全模拟了下属模块的功能。
自底而上增值
优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。
缺点:最后才能发现系统主控方面的问题。
3、混合增值
常见的混合增值方案:
衍变的自顶而下
先自底而上集成子系统,再自顶而下集成总系统。
三、确认测试(validation testing)
1、任务
又称为有效性测试或功能测试。其任务是验证系统的功能、性能等特性是否符合需求规格说明。
2、确认测试步骤
(1)有效性测试
制定测试计划,运用黑盒法,验证软件特性是否与需求符合。
(3)测试和测试
四、系统测试(system testing )
将经过确认测试的软件,与计算机硬件、外设、
支持软件等一起,在实际运行环境下测试。
2、软件工程课程设计验收表
3、软件测试文档
模块测试报告
至少选择一个典型模块进行测试。
A、综合测试策略(静态分析、白盒法为主,辅以黑盒法)
B、测试情况(根据覆盖标准列出)
C、测试用例(保留)
D、查错记录(数量、位置)、分析结果。
组装测试报告
A、组装次序、测试方法(以黑盒法为主)
B、测试情况
C、测试用例(保留)
D、查错记录(数量、位置)、分析结果。
功能测试与系统测试与上类似。
6.4 面向对象的测试
6.4.1 分析模型测试的重要性
6.4.2 测试方法
6.4.3 测试过程
分析模型测试内容
6.4.1 用例模型的测试
6.4.5 类模型的测试
4.3.6 典型场景的测试
6.5 软件调试(纠错技术)
软件测试的目的是发现错误,在发现错误后,则应按照一定的技术去纠正它。纠错的关键是“错误定位”。
二、调试(纠错)的技术
1、硬性纠错
又称为蛮干法,是使用较多,效率较低的方法。
3、归纳法
从测试结果发现的错误入手,分析它们之间的
联系查找错误。是一种从特殊推断一般的系统化
思考方法。
4、演绎法排错
演绎法是一种从一般原理出发,经过排除和精化的过程,推导出结论的方法。
展开