nullnull 等价划分
边界值分析
错误推断
因果图
功能图方式§7.4 黑盒测试null§7.4.1 等价类划分法* 把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集
(称为等价类), 使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同。
可从每个子集中选取一组数据来测试程序null 有效等价类* 是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。利用它,可以检测程序是否实现了规格说明预先规定的功能和性能。null 无效等价类* 是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。利用它,可以检测程序中实现的功能和性能是否不符合规格说明要求。null如何划分等价类?*有效等价类(合理等价类)
无效等价类(不合理等价类)
划分等价类的标准:
覆盖
不相交
代表性null划分等价类的规则 (1)如果输入条件规定了取值范围,
可定义一个有效等价类和两个无
效等价类。例 输入值是学生成绩,范围是0~100 0 100 有效
等价类
0<成绩≤100 无效
等价类
成绩>100~ 无效
等价类
成绩≤0null(2)如果输入条件代表集合的
某个元素,则可定义一个
有效等价类和一个无效等
价类。划分等价类的规则 null划分等价类的规则 (3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,所有不允许的输入值的集合为无效等价类。
例:输入条件说明学历可为:专科/本科/ 硕士/博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类null划分等价类的规则 (4)如果规定了输入数据必须遵循的规
则,可确定一个有效等价类(符合
规则)和若干个无效等价类(从不
同角度违反规则)。
(5)如已划分的等价类各元素在程序中
的处理方式不同,则应将此等价
类进一步划分成更小的等价类。null用等价类划分法设计测试用例步骤:(1)形成等价类表,每一等价类规定
一个唯一的编号;
(2)设计一测试用例,使其尽可能多
地覆盖尚未覆盖的有效等价类,
重复这一步骤,直到所有有效等
价类均被测试用例所覆盖;
(3)设计一新测试用例,使其只覆盖
一个无效等价类,重复这一步骤
直到所有无效等价类均被覆盖;null例: 某报表处理系统要求用户输入处理报表的日期,日期限制在2001年1月至2005年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。
系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。
如何用等价类划分法设计测试用例,
来测试程序的日期检查功能?null第一步:等价类划分输入等价类 有效等价类 无效等价类 报表日期的
类型及长度6位数字字符(1)有非数字字符 (4)
少于6个数字字符 (5)
多于6个数字字符 (6)年份范围在2001~2005
之间 (2)小于2001 (7)
大于2005 (8)月份范围在1~12之间(3)“报表日期”输入条件的等价类表小于1 (9)
大于12 (10)null第二步:为有效等价类设计测试用例
对表中编号为1,2,3的3个有效等价类
用一个测试用例覆盖: 测试数据 期望结果 覆盖范围200105
等价类(1)(2)(3)
输入有效null第三步:为每一个无效等价类设至少
计一个测试用例
测试数据 期望结果 覆盖范围001MAY等价类(4)输入无效20015等价类(5)输入无效2001005等价类(6)输入无效200005等价类(7)输入无效200805等价类(8)输入无效200100等价类(9)输入无效200113等价类(10)输入无效不能出现相同
的测试用例本例的10个等价类至
少需要8个测试用例null例:对招干考试系统“输入学生成绩”
子模块设计测试用例
招干考试分三个专业,准考证号第一位
为专业代号,如: 1-行政专业,
2-法律专业,
3-财经专业.
行政专业准考证号码为:110001~111215
法律专业准考证号码为:210001~212006
财经专业准考证号码为:310001~314015
null例:准考证号码的等价类划分
有效等价类:
(1) 110001 ~ 111215
(2) 210001 ~ 212006
(3) 310001 ~ 314015
无效等价类:
(4) - ~ 110000
(5) 111216 ~ 210000
(6) 212007 ~ 31000
(7) 314016 ~ + null 等价类划分即把输入空间分解成一系列子域,软件在一个子域内的行为应是等价的。 软件错误分为两类:计算错误
域错误针对计算错误的测试
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
针对域错误的测试方法:测试域边界
划定的正确性null§7.4.2 边界值分析*(1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况边界值分析法与等价类划分法区别null边界条件类型
如果软件测试问题
包含确定的边界,那
么数据类型可能是:
数值
字符
位置
数量
速度
地址
尺寸
……还要考虑数据类型的特征:
第一个/最后一个
最小值/最大值
开始/完成
空/满
最慢/最快
相邻/最远
超过/在内
……null测试边界线
测试临近边界的合法数据,以及刚超过边界的非法数据.
越界测试通常简单地加1或很小的数
(对于最大值)和减1或很小的数(对于最小值).
null输入
条件报表日
期的类
型及长
度1个数字字符
5个数字字符
7个数字字符
有1个非数字字符
全部是非数字字符
6个数字字符显示出错
显示出错
显示出错
显示出错
显示出错
输入有效日期
范围月份
范围“报表日期”边界值分析法测试用例测试用例说明测试数据期望结果选取理由5
20015
2001005
2001.5
MAY---
200105月份为1月
月份为12月
月份<1
月份>12200101
200112
200100
200113200101
200512
200100
200513输入有效
输入有效
显示出错
显示出错输入有效
输入有效
显示出错
显示出错在有效范围
边界上选取
数据仅有1个合法字符
比有效长度少1
比有效长度多1
只有1个非法字符
6个非法字符
类型及长度均有效最小日期
最大日期
刚好小于最小日期
刚好大于最大日期最小月份
最大月份
刚好小于最小月份
刚好大于最大月份null§7.4.3 错误推测(error guessing)*根据经验来设计测试用例的方法
例如,数据测试中的:
缺省值
空白
空值
零值
无错误推测法很大程度靠经验和直觉进行。null§7.4.4 因果图法* 因果图适合于描述对于多种输入条件的组合,相应产生多个动作的形式来设计测试用例。
因果图方法最终生成的是判定表。null因果图方法实例
某电力公司有A、B、C、D四类收费标准,
并规定:
居民用电 <100度/月 按A类收费
≥100度/月按B类收费
动力用电 <10000度/月,非高峰,B类收费
≥10000度/月,非高峰,C类收费
<10000度/月, 高峰,C类收费
≥10000度/月, 高峰,D类收费
null用因果图表明输入和输出间的逻辑关系1I12B∨∧4AC35∧DI4I3I2∨∧∧∧∧null把因果图转换为判定表组合条件条件
(原因) 动作
(结果)ABC123123456101100011000110000100001104101050011D000110010000测试用例null为判定表每一列设计一个测试用例:1列 居民电,90度/月 A
2列 居民电,110度/月 B
3列 动力电,非高峰,8000度/月 B
4列 动力电,非高峰,1.2万度/月 C
5列 动力电, 高峰,0.9万度/月 C
6列 动力电, 高峰,1.1万度/月 D
条件 测试用例 预期结果
组合 (输入数据) (输出动作)null§7.5 针对专门环境和应用的测试*7.5.1 GUI测试
常见GUI测试指南:
对于窗口
对于菜单和鼠标操作
对于数据项null7.5.2 C/S体系结构的测试
整体C/S测试策略(三个不同层次)
客户端应以“分离的”模式被测试
(不考虑服务器和底层网络的运行)
客户端软件和关联的服务器端应用被一起测试(网络运行不被明显考虑)
完整的C/S体系结构(包括网络运行和性能)被测试
null C/S常用测试方法
客户端应用功能测试
服务器测试(协调和数据管理功能、性能)
数据库测试
事务测试
网络通信测试
null7.5.3 实时系统测试
可采用以下四步策略:
(1) 任务测试
(2) 行为测试
(3) 任务间测试
(4) 系统测试
null(1) 任务测试 (task testing)* 对每一个任务进行单独测试(白盒、黑盒测试),发现逻辑和功能上错误,不能发现定时上和行为上错误 。null(2)行为测试(behavioral testing)* 用CASE工具创建应用系统模型,
模拟实时系统行为。
按类测试各种事件(如中断、控制信号、数据)。
测试过的事件以随机次序、随机频率送给系统,检查软件行为方面的错误.null(3)任务间测试(intertask testing)* 检查与时间有关错误。
如用不同数据速率、处理负载
测试相互通信的异步任务。
通过消息队列或数据存储测试
任务间的通信来找出数据存储区错
误的范围。
null(4) 系统测试 (system testing)* 软件、硬件组装后,找出软、硬件接口错误。
null§7.6 调试(纠错技术)*测试是找出软件错误的过程,
调试是确定错误的位置、性质 并纠正。
调试的困难在于错误的定位。null调试的执行步骤错误现场结果执行案例改正测试用例调试已识别
的原因被怀疑
的原因回归测试附加
测试null一.强行排错(brute force)
又叫蛮干法
常见形式:
(1)打印出所有存储
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
、代码
(2)程序中设打印语句
(3)用自动纠错工具
效率最低§7.6.1 排错策略方法null 根据错误症状位置,人工沿程序控制流程向回追踪源代码。
适用于小程序,路径数目很大时无法进行。二.回溯法(跟踪法)null又叫原因排除法
列出可能原因,逐个排除,找出问题
(1) 试探法
(2) 二分查找法
(3) 归纳法
(4) 演绎法
三.消去原因(cause limination)null 调试人员分析错误征兆,猜想故障的大致位置,然后使用前述的一两种调试技术,获取程序中被怀疑的地方附近的信息。这种策略通常是缓慢而低效的。 (1) 试探法null 如果已经知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序中点附近“注入”这些变量的正确值,然后检查程序的输出。如果输出结果是正 确的,则故障在程序的前半部分;反之,故障在程序的后半部分。对于程序中有故障的那部分再重复使用这个方法,直到把故障范围缩小到容易诊断的程度为止。
更普遍的调试策略是归纳法和演绎法。(2) 二分查找法null(3) 归纳法能不
能
证
明线索
关系错误
线索能不能null(4) 演绎法null§7.6.2 修改错误原则注意错误的群集现象,在错误近邻检查。
找到错误的本质并修改
采用回归测试,避免因修改引起的新错误。
修改源程序。null §7.7 软件可靠性什么是软件的可靠性?
什么是软件的可用性?null什么是软件的可靠性? 软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。
在上述定义中包含的随机变量是时间间隔。显然,随着运行时间的增加,运行时遇到程序故障的概率也将增加,即可靠性随着给定的时间间隔的加大而减少。null什么是软件的可用性? 软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。null 开发过程中,利用测试的统计数据来估算软件的可靠性,以控制软件的质量。
推测错误的产生频度
推测残留在程序中的错误数
评价测试的精确度和覆盖率
软件可靠性要讨论的问题:null系统静态可用性(7.2)MTTF:平均无故障时间
MTTR:平均维修时间推测错误的产生频度
(推测错误产生的时间间隔)
推测错误的产生频度
(推测错误产生的时间间隔)
方法:估算平均故障时间(MTTF估算公式)当故障率为独立于时间的常量λ:K : 经验常数
ET : 程序中原有的残留错误数
IT : 程序长度
t : 测试时间
Ec(t): 在0-t期间内发现的错误总数推测残留在程序中的错误数推测残留在程序中的错误数错误植入模型
Mills将播种模型用于程序中残留错误的估算,称错误植入模型
播种
模型:
N: 程序中原有残留的错误数
Nt:新植入的错误数
n: 测试发现的原有错误数
nt :测试发现的植入错误数(7.7)Hyman对错误植入模型的改进Hyman对错误植入模型的改进ET: 程序中原有的残留错误数
E1: 1号测试员在某一时间内发现的错误数
E2: 2号测试员在同一时间内发现的错误数
E0: 两位测试员共同发现的错误数EEEE1≈0=2TETE1E2/E0(7.8)null §7.8 测试自动化 另一类软件测试工具,可以自动执行测试用例、查找软件缺陷、分析并记录测试结果。测试工作台(下游CASE工具)测试工作台(下游CASE工具)随机测试自动化工具:猴子测试员随机测试自动化工具:猴子测试员只要不停电,偶尔能够得到香蕉,猴子就会永远测试下去一个想法:
“如果让
一百万只猴
子在一百万
只键盘上敲
一百万年,
它们最终就
可能写出莎
士比亚话剧
等巨著”.猴子的进步猴子的进步笨猴子:一点也不懂测试软件, 只是随机地单击或按键,
直至发生两件事情之一:完成循环或系统崩溃.不太笨的猴子: 具有崩溃辨认能力,
能够重新启动系统开始测试聪明猴子:能够从它的笨兄弟那里获得随机测试的结果,
增加了对环境的认知能力,
有目的地敲键盘,
不仅限于查找崩溃缺陷,同时查看数据,检查
操作结果,找出与预期结果的差别自动化测试工具实例自动化测试工具实例 美国国际软件自动化(ISA)公司的Panorama for C/C++,j、Java和VB产品,自动化功能包括:
软件结构分析与逻辑框图的自动化
软件静态分析
数据分析
复杂性分析与分析结果列表的自动化
软件质量分析
动态性能分析
软件代码分支或条件覆盖率分析
软件测试用例有效性分析与测试用例最小集的自动选取
软件界面手工操作过程的自动记录与自动再执行 null 一组实用的表格 XXX项目测试
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
表null XXX项目测试状态明细表报告人: 报告日期:其中:编号: 测试错误的LOG-NO
主要问题: 简述错误,如输出结果错;运行不正常;逻辑检查不对,等等
受理人: 已交给谁在修改
当前状态: 已修改提交(日期)、正在修改中、尚待确认
复测确认: 如已修改提交填:复测无问题、有问题(新LOG-NO是 nnnnn)null XXX项目测试汇总表报告期:2004年9月20日 至 2004年9月26日报告人: