测试理论知识基础资料整理.docx
- 文档编号:7459358
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:13
- 大小:722.74KB
测试理论知识基础资料整理.docx
《测试理论知识基础资料整理.docx》由会员分享,可在线阅读,更多相关《测试理论知识基础资料整理.docx(13页珍藏版)》请在冰豆网上搜索。
测试理论知识基础资料整理
测试理论知识基础资料整理
语句覆盖:
设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次
复杂的程序不可能达到语句的完全覆盖,复杂的程序不可能达到语句的完全覆盖
语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句数量)
判定覆盖:
也叫做分支覆盖,含义是:
在测试的时候设计若干个测试用例,运行被测程序,使得程序中的每个判断至少被取真值和假值一次,即真分支和假分支一次。
比语句覆盖稍强的覆盖标准是判定覆盖
判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)
条件覆盖:
构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)
判定/条件覆盖:
设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
判定条件覆盖率=(条件操作数值或判定结果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)
组合条件覆盖:
设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。
显然满足组合条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和判定/条件覆盖的,但不一定满足路径覆盖
路径测试:
涉及足够多的测试用例,要求覆盖程序中所有可能的路径。
路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)
功能覆盖率(FunctionCoverage)属于黑盒测试范畴。
功能覆盖率中还有一种覆盖称之为接口覆盖,又叫做入口点覆盖。
其含义是设计一定量的测试用例,使得系统的每个接口都被测试到。
功能覆盖率中最常见的是需求覆盖,其含义是通过设计一定的测试用例,要求每个需求点都被测试到。
需求覆盖率=(被验证到的需求数量)/(总的需求数量)
使用覆盖率的基本原则:
(1)覆盖率不是目的,只是一种手段,一种度量。
(2)你不可能针对所有的覆盖率指标去进行测试;
(3)不要追求绝对100%的覆盖率。
衡量采用哪种覆盖率进行度量的5个纬度(推荐作为重点考虑的角度)
(1)可自动化性
(2)可获得性(3)可理解性(4)可维护性(5)完整性
目标:
使用最少的测试用例来达到所需的覆盖要求
结构化程序是由三种基本控制结构组成的。
(1)顺序结构---构成串行操作
(2)选择结构---构成分支操作(3)循环结构---构成循环操作
流程图简称N-S图。
N-S图也被称为盒图
流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程。
在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成
右图给出了4种基本控制结构的N-S图
基本路径测试:
前提条件:
测试进入的前提条件是在测试人员已经对被测试对象有了一定的了解,基本上明确了被测试软件的逻辑结构。
测试过程:
过程是通过针对程序逻辑结构设计和加载测试用例,驱动程序执行,以对程序路径进行测试。
测试结果是分析实际的测试结果与预期的结果是否一致。
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
包括以下4个步骤和一个工具方法:
1.程序的控制流图:
描述程序控制流的一种图示方法。
2.程序环路复杂度:
McCabe复杂性度量。
从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
3.导出测试用例:
根据环路复杂度和程序结构设计用例数据输入和预期结果。
4.准备测试用例:
确保基本路径集中的每一条路径的执行。
基本路径测试-计算圈复杂度
Ø计算环路复杂度
环路复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。
独立路径必须包含一条在定义之前不曾用到的边。
有以下三种方法计算环路复杂度:
1.流图中区域的数量对应于环型的复杂性;
2.给定流图G的环路复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
3.给定流图G的环路复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
决策表:
决策表是分析和表达多逻辑条件下执行不同操作的情况的工具
在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。
决策表的优点:
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。
因此,利用决策表能够设计出完整的测试用例集合。
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:
针对不同逻辑条件的组合值,分别执行不同的操作。
决策表很适合于处理这类问题。
决策表的组成:
决策表通常由以下4部分组成:
条件桩—列出问题的所有条件
条件项—针对条件桩给出的条件列出所有可能的取值
动作桩—列出问题规定的可能采取的操作
动作项—指出在条件项的各组取值情况下应采取的动作
因果图方法:
是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
采用因果图法设计测试用例的步骤:
1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图。
3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
4)把因果图转换为判定表。
5)把判定表的每一列拿出来作为依据,设计测试用例
正交试验法:
利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到.往往因果关系非常庞大,导致利用因果图而得到的测试用例数目多得惊人,给软件测试带来沉重的负担.为了有效的,合理地减少测试的工时与费用,可利用正交试验法进行测试用例的设计.
行数(Runs):
正交表中的行的个数,即试验的次数
因素数(Factors):
正交表中列的个数。
水平数(Levels):
任何单个因素能够取得的值的最大个数。
正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”
正交表的表示形式:
L行数(水平数因素数)
算法:
因素数*(水平数-1)+1=行数
划分等价类的规则“
如果输入条件规定了取值范围,可定义一个有效等价类和两个无效等价类。
如果输入条件代表集合的某个元素,则可定义一个有效等价类和一个无效等价类。
如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。
如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。
状态图的定义
状态图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期。
状态定义为对象行为在某一个时刻的快照或者转折点。
例如,计算机的状态可以定义为开机、启动、工作中、空闲、关机和离线等。
状态图的任务就是用来描述一个对象所处的可能状态以及状态之间的转移,并给出状态变化序列的起点与终点
状态图由状态、转移和事件组成。
联合使用状态和转移可以更好地建模它们,有时需要包含决策点和同步条来显示更高层次的细节信息
基本状态显示为圆角矩形
开始状态和结束状态标记符是指示模型的开始和结束状态的特殊标记符。
模型中的开始状态是一个实心点。
结束状态是带有圆圈的实心点。
模型不必同时具有开始和结束状态,因为模型可以总是运行,从不停止。
状态图中可以包含0到多个开始状态。
状态图中也可以包含多个结束状态,每一个都表示一个模型能够终止的点。
Ø为了获得下一个日期,NextDate函数执行如下操作:
Ø如果输入日期不是当月最后一天,则把day变量的值加1;
Ø如果输入日期是1~11月份中某月的最后一天,则把day变量的值复位为1,month变量的值加1;
Ø如果输入日期是12月的最后一天,则day变量和month变量的值都复位为1,year变量的值加1。
Ø关于最后一天的判断:
Ø如果是有31天的月份(1,3,5,7,8,10,12),day变量值为31;
Ø如果是有30天的月份(4,6,9,11),day变量值为30;
Ø如果是有29天的月份(闰年的2月),day变量值为29;
Ø如果是有28天的月份(非闰年的2月),day变量值为28。
Ø完成决策表
某软件的一个模块的需求规格说明书中描述:
“……对于功率大于50马力的机器或者维修记录不全的或已经运行10年以上的机器应予以优先的维修处理……”。
这里假定“维修记录不全”和“优先维修处理”有严格的定义。
请建立该需求的决策表,并绘制出化简(合并规则)后的决策表
某城市电话号码由三部分组成,分别是:
地区码——空白或三位数字;
前缀——非‘0’或‘1’开头的三位数字;
后缀——4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。
要求:
(1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。
(2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。
有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下:
Ø若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
(每次只投入一个硬币,只押下一种饮料的按钮)
Ø如投入5角的硬币,按下按钮后,总有饮料送出。
Ø若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。
Ø若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。
请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,设计出相应的测试用例
某厂对一部分职工重新分配工作,分配原则是:
年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工;
年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大学者技术员;
年龄满50及50以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。
请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,设计出相应的测试用例。
在供应商业务处理中,有一个“检查订货单”功能:
当客户订货款项大于5000元时,如果客户拖欠款超过60天,向客户发一份拒绝供货备忘录,在客户没有还清货款前不发供货单;
如果客户拖欠款没有超过60天,可以发供货单
如客户订货款项未超过5000元,而客户拖欠款超过60天,仍可以发供货单但还要发一份催款通知单;
如果客户拖欠款没有超过60天,可以发供货单
请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,设计出相应的测试用例。
某软件规格说明书包含这样的要求:
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
某公司给购货在5万元以上的顾客以不同的折扣率。
如果这样的顾客最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已经有10年以上的贸易关系,则折扣率为10%,否则折扣率为5%。
有一个处理单价为1元5角的盒装饮料的自动售货机软件。
若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。
若投入的是2元硬币,在送出饮料的同时退还5角硬币
某软件的一个模块的需求规格说明书中描述:
(1)年薪制员工:
严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
(2)非年薪制员工:
严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
某电力公司有A、B、C、D四类收费标准,
居民用电<100度/月按A类收费≥100度/月按B类收费
动力用电<10000度/月,非高峰,B类收费≥10000度/月,非高峰,C类收费
<10000度/月,高峰,C类收费≥10000度/月,高峰,D类收费
找零钱最佳组合
假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:
50元(N50)、10元(N10)、5元(N5)、1元(N1)四种。
请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
一个假想的保险金计算程序,根据两个因素计算半年保险金:
投保人的年龄和驾驶历史记录。
保险金=基本保险费率×年龄系数-安全驾驶折扣
年龄系数是投保人年龄的函数,如果投保人驾驶执照上的当前点数(根据交通违规次数确定)低于与年龄有关的门限,则给予安全驾驶折扣。
书面保险政策的驾驶人年龄范围为16~100岁,如果投保人有12点,则驾驶人的执照就会被吊销(因此不需要保险)。
基本保险费率随时间变化,对于这个例子,是每半年500美元。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测试 理论知识 基础 资料 整理