




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、辛动军辛动军计信学院计信学院 软件工程教研室软件工程教研室7.1 编码编码7.1.1 选择程序设计言语选择程序设计言语1系统用户要求系统用户要求2可以运用的编译程序可以运用的编译程序3可以得到的软件工具可以得到的软件工具4工程规模工程规模5程序员知识程序员知识6软件可移植性要求软件可移植性要求7软件的运用领域软件的运用领域 使程序的层次构造明晰明显。使程序的层次构造明晰明显。7.1.2 写程序的风格写程序的风格7.2.1 软件测试的目的软件测试的目的1一切测试都应该能追溯到用户需求;一切测试都应该能追溯到用户需求;2应该远在测试前就制定出测试方案;应该远在测试前就制定出测试方案;3把把Pare
2、to原理运用到软件测试中;原理运用到软件测试中;4应该从应该从“小规模小规模测试开场,并逐渐进展测试开场,并逐渐进展“大规大规模模测试;测试;测试发现的错误中测试发现的错误中的的80%很能够是由很能够是由程序中程序中20%的模块的模块呵斥的。呵斥的。例如,假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运转。假设X、Y取整数,按黑盒方法进展穷举测试,可采用的测试数据组的个数为232232 264。假设测试一组数据需求1毫秒,一年任务365 24小时,完成一切测试需5亿年。6为了到达最正确测试效果,应该由独立的第为了到达最正确测试效果,应该由独立的第三方从事测试任务。三方从事测试
3、任务。7.2.3 测试方法测试方法7.2.4 软件测试的步骤软件测试的步骤测试测试评价评价调试调试可靠性可靠性模型模型软件配置软件配置测试配置测试配置测试测试结果结果预期结果预期结果错误错误错误率数据错误率数据正确正确可靠性预测可靠性预测图图7.1 测试阶段的信息流测试阶段的信息流7.3.1 测试重点测试重点7.3.2 代码审查代码审查BAC被测试模块被测试模块驱动模块驱动模块存根模块存根模块例:例:正文加工正文加工系统系统输入输入1.0输出输出2.0编辑编辑3.0加标题加标题4.0存储存储5.0检索检索6.0编目录编目录7.0格式化格式化8.0添加添加3.1删除删除3.2插入插入3.3修正修
4、正3.4合并合并3.5列表列表3.6图图7.2 正文加工系统正文加工系统H图图TEST DRIVER编辑编辑3.0TEST STUB对对“编辑编辑功能的测试:功能的测试: 自顶向下集成是一种递增的装配软件构造的自顶向下集成是一种递增的装配软件构造的方法,这种方法运用非常广泛。它需求存根程序,方法,这种方法运用非常广泛。它需求存根程序,但是不需求驱动程序。但是不需求驱动程序。7.4.1 自顶向下集成自顶向下集成制通路。制通路。M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例M1M2M3M4M6
5、M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例 2根据选定的根据选定的结合战略深度优结合战略深度优先或宽度优先,先或宽度优先,每次用一个实践模每次用一个实践模块替代一个存根程块替代一个存根程序新结合的模块序新结合的模块往往又需求新的存往往又需求新的存根程序;根程序;M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例7.4.2 自底向上集成自底向上集成McMaMbD2D1D3族族1族族2族族3图图7.4 自底向上实例自底向上实例McMaMbD2D1D3族族1族族2族族3图图7.4 自底
6、向上实例自底向上实例McMaMbD2D1D3族族1族族2族族3图图7.4 自底向上实例自底向上实例McMaMbD2D1D3族族1族族2族族3图图7.4 自底向上实例自底向上实例7.4.3 不同集成测试战略的比较不同集成测试战略的比较M1M2M3M4M5M67.5.1 确认测试的范围确认测试的范围7.5.2 软件配置复查软件配置复查 目的:保证软件配置的一切成分都齐全,目的:保证软件配置的一切成分都齐全,质量符合要求,文档与程序完全一致,而且曾质量符合要求,文档与程序完全一致,而且曾经编好目录。经编好目录。7.6.1 逻辑覆盖逻辑覆盖例:一个被测试模块的源程序为例:一个被测试模块的源程序为PAS
7、CAL言语:言语: PROCEDURE EXAMPLE (A , B : REAL ; VAR X : REAL) ; BEGIN IF (A1) AND (B=0) THEN X : = X / A; IF (A=2) OR (X1) THEN X : = X + 1 END入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图 选取测试用例:选取测试用例:(A = 2 , B = 0 , X = 4; A = 2 , B = 0 , X = 3) ,程序执行途径为:,程序执行途径为:sac
8、bed。 2. 断定覆盖断定覆盖 断定覆盖是指:选取足够的测试用例,断定覆盖是指:选取足够的测试用例,使得程序中每个判别的能够结果都至少使得程序中每个判别的能够结果都至少执行一次,也就是说使程序的每个判别执行一次,也就是说使程序的每个判别分支至少经过一次。分支至少经过一次。 3. 条件覆盖条件覆盖 条件覆盖是指:选择足够的测试用例,条件覆盖是指:选择足够的测试用例,使得程序中每个断定表达式的每个条件都使得程序中每个断定表达式的每个条件都取到各种能够的结果。取到各种能够的结果。 入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5
9、 被测试模块的流程图被测试模块的流程图 上例中,有两个断定上例中,有两个断定表达式,每个表达式有表达式,每个表达式有两个条件,为了做到条两个条件,为了做到条件覆盖,应该选取测试件覆盖,应该选取测试数据使得数据使得a点出现如下点出现如下结果:结果: A1,A1,B=0,B0在在b点出现如下结果:点出现如下结果: A=2,A2,X1,X1 选取如下测试用例:选取如下测试用例:I . A = 2 , B = 0 , X = 4 满足满足A1,B=0,A=2和和X1,执行途径为,执行途径为sacbedII.A=1,B=1,X=1 满足满足A1,B0,A2和和X1,执行途径为,执行途径为sabd 入口入
10、口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图 条件覆盖通常条件覆盖通常比断定覆盖强,比断定覆盖强,但是条件覆盖不但是条件覆盖不一定包含断定覆一定包含断定覆盖。盖。入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图如:如: IA=2,B=0,X=1 满足满足A1,B=0,A=2和和X1,执行途径,执行途径为为sacbed IIA=1,B=1,X=2 满足满足A1,B0,A2和和X1,执行
11、途径,执行途径为为sabed 只满足条件覆盖,并只满足条件覆盖,并不满足断定覆盖。不满足断定覆盖。 入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图4. 断定断定/条件覆盖条件覆盖 断定断定/条件覆盖是指:选取足够的测试用例条件覆盖是指:选取足够的测试用例使得同时满足断定覆盖和条件覆盖的要求。使得同时满足断定覆盖和条件覆盖的要求。 对于上例,选取如对于上例,选取如下测试用例:下测试用例:IA=2,B=0,X=4 满足满足A1,B=0,A=2和和X1,执行途,执行途径为径为sacbedII
12、A=1,B=1,X=1 满足满足A1,B0,A2和和X1,执行途,执行途径为径为sabd 入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图5. 条件组合覆盖条件组合覆盖 条件组合覆盖指:选取足够的测试用条件组合覆盖指:选取足够的测试用例,使得每个断定表达式中条件的各种例,使得每个断定表达式中条件的各种能够的组合都至少出现一次。能够的组合都至少出现一次。 对于上例,共有对于上例,共有8种能够的条件组合:种能够的条件组合: 1A1,B=0 2A1,B0 3A1,B=0 4A1,B0 5A=2
13、,X1 6A=2,X1 7A2,X1 8A2,X1 入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图选取如下测试用例:选取如下测试用例:IA=2,B=0,X=4满足满足1、5组合:组合:A1,B=0,A=2,X 1 , 执 行 途 径, 执 行 途 径sacbedIIA=2,B=1,X=1满足满足2、6组合:组合:A1,B0,A=2,X1,执行途径,执行途径sabed入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被
14、测试模块的流程图被测试模块的流程图IIIA=1,B=0,X=2满足满足3、7组合:组合:A1,B=0,A2,X1,执,执行途径行途径sabedIVA=1,B=1,X=1满足满足4、8组合:组合:A1,B0,A2,X1,执,执行途径行途径sabd 入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图sabdce1234567图图7.5 对应的程序图对应的程序图sabdce1234567图图7.5 对应的程序图对应的程序图选取如下测试用例:选取如下测试用例:I A=3,B=0,X=3执行途径执行
15、途径1453IIA=2,B=1,X=1执行途径执行途径1267 sabdce1234567图图7.5 对应的程序图对应的程序图选取如下测试用例:选取如下测试用例:I A=1,B=1,X=1执行途径执行途径123II A=1,B=1,X=2执行途径执行途径1267IIIA=3,B=0,X=1执行途径执行途径1453IVA=2,B=0,X=4执行途径执行途径14567 25满足条件组合覆盖,满足条件组合覆盖,执行途径分别是:执行途径分别是:sacbed、sabed、sabed、sabd入口入口前往前往A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7
16、.5 被测试模块的流程图被测试模块的流程图途径:途径:sacbd循环循环20次次图图 程序的流程图程序的流程图7.7.1 等价划分等价类划分等价划分等价类划分A假设某输入条件规定了输入的范围,那么可以假设某输入条件规定了输入的范围,那么可以划分为一个有效的等价类和两个无效的等价类。划分为一个有效的等价类和两个无效的等价类。如如X的值的输入范围是的值的输入范围是1,99,那么测试,那么测试X时,时,可以这样划分:有效等价类为可以这样划分:有效等价类为1,99,无效等,无效等价类为价类为-,1和和99,+。 如,如,“职称职称这个量能够的值是:教授、副教这个量能够的值是:教授、副教授、讲师、助教。
17、那么可以这样划分:四类有效授、讲师、助教。那么可以这样划分:四类有效等价类分别为教授、副教授、讲师、助教,无效等价类分别为教授、副教授、讲师、助教,无效等价类为四种职称以外的一切值。等价类为四种职称以外的一切值。实例:一个把数字串变成整数的函数。实例:一个把数字串变成整数的函数。 计算机字长:计算机字长:16 bits ,函数由,函数由PASCAL言语编言语编写。写。 function strtoint ( dstr: shortstr ): integer type shortstr = array1.6 of char; /字符串字符串6位位/ 16位字长能表示的整型数范围是位字长能表示的
18、整型数范围是-215, 215-1,即即-32768, 32767 有效输入的等价类有:有效输入的等价类有:116个数字字符组成的数字串最高位数字不为零;个数字字符组成的数字串最高位数字不为零; 如:如: 1 , 999999 2最高位数字是零的数字串;最高位数字是零的数字串; 如:如:“0123453最高位数字左邻是负号的数字串;最高位数字左邻是负号的数字串; 如:如:“123457.7.2 边境值分析边境值分析7.7.3 错误推测错误推测7.7.4 适用测试战略适用测试战略开场开场停顿停顿AB+CBA+CCA+BA=BA=CB=CB=C输出:等输出:等边三角形边三角形输出:不输出:不等边三
19、角等边三角形形输出:等输出:等腰三角形腰三角形输出:不输出:不是三角形是三角形abcdefghijklmnop12345678910111213141516171819202122TFTFTFTTFFFTTF图图7.8 程序程序TRIANGLE的流程图的流程图2、为合理等价类设计测试用例测试数据 期望结果 覆盖范围3,4,5 有效数据 1、4、113,3,3 有效数据 1、4、93,3,5 有效数据 1、4、103、为每一个不合理等价类至少设计一个测试用例 测试数据 期望结果 覆盖范围2,4,7 输入无效 22,4,6 输入无效 32,4,7,8 输入无效 52,4 输入无效 62,-3,-4
20、 输入无效 7A,C,6 输入无效 8abcdefghklmnopij1234567891011121314151617181920212223图图7.9 对应的程序图对应的程序图程序程序TRIANGLE的测试数据的测试数据 最后,检查测试数据的覆盖程度,通常应最后,检查测试数据的覆盖程度,通常应该做到边覆盖。该做到边覆盖。 测试数据覆盖程度检验表中列出的四种测测试数据覆盖程度检验表中列出的四种测试数据曾经做到了边覆盖覆盖一切的试数据曾经做到了边覆盖覆盖一切的22条条边。边。 测试数据覆盖程度检验表测试数据覆盖程度检验表7.8.1 调试过程调试过程调试是在测试发现错误之后排除错误的过程。调试是
21、在测试发现错误之后排除错误的过程。测试用例测试用例结果结果调试调试附加测试附加测试纠正且回归测试纠正且回归测试已识别缘由已识别缘由被疑心缘由被疑心缘由7.8.2 调试途径调试途径7.9.1 根本概念根本概念downupupssTTTA其中其中Tup= tui , Tdown= tdi MTTRMTTFMTTFAss 平均维修时间平均维修时间MTTR是修复一个缺点平均需求用的时是修复一个缺点平均需求用的时间,取决于维护人员的技术程度和对系统熟习程度。间,取决于维护人员的技术程度和对系统熟习程度。 平均无缺点时间平均无缺点时间MTTF是系统按照规格阐明书规定胜是系统按照规格阐明书规定胜利地运转的平
22、均时间,取决于系统中埋伏的错误数量。利地运转的平均时间,取决于系统中埋伏的错误数量。 7.9.2 估算平均无缺点时间估算平均无缺点时间MTTF的方法的方法Ed()。/ )(/1)(TcTTrIEIEKMTTF 其中:其中:K为常数,它的值根据阅历选取,为常数,它的值根据阅历选取,经典值是经典值是200。由上式变换后得到程序中矫正的错误数:由上式变换后得到程序中矫正的错误数: 根据对软件平均无缺点时间的要求,可以估计根据对软件平均无缺点时间的要求,可以估计需求矫正多少个错误后,测试任务就可以终了。需求矫正多少个错误后,测试任务就可以终了。 MTTFKIEETTcssNnnN 其中:其中: 是缺点
23、总数是缺点总数ET的估计值;的估计值; N120BbBBc其中,其中, 是缺点总数是缺点总数ET的估计值。的估计值。 每隔一定时间,分析员分析两名测试员的测试每隔一定时间,分析员分析两名测试员的测试结果,来估计错误总数。几次估计结果差不多时,结果,来估计错误总数。几次估计结果差不多时,用其平均值作为错误总数的估计值。用其平均值作为错误总数的估计值。0B50%100%测试时间测试时间运用率运用率第一第一阶段阶段第二第二阶段阶段第三第三阶段阶段100%测试用例完成率测试用例完成率测试用例完成率随测试时测试用例完成率随测试时间变化的情况间变化的情况 日立的阅历阐明,完成日立的阅历阐明,完成软件测试通常需求阅历三软件测试通常需求阅历三个阶段,第一阶段缺点多,个阶段,第一阶段缺点多,测试完成慢,第二阶段测测试完成慢,第二阶段测试完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二级营销师模拟试题(含参考答案)
- 绿色环保设备进销存服务合同
- 2025陕西延安通和电业有限责任公司供电服务用工招聘103人笔试参考题库附带答案详解
- 2025河北石家庄市国有企业招聘21人笔试参考题库附带答案详解
- 2025年郑州新郑市投资集团有限公司招聘工作人员25人笔试参考题库附带答案详解
- 2025年宿州市宿马园区两站两员招聘11人笔试参考题库附带答案详解
- 2025山东济南轨道交通酒店管理有限公司招聘13人笔试参考题库附带答案详解
- 广告合同承包协议书
- 三方公司股份合同协议书
- 转售合同协议书
- 动物生理学题库及答案(附解析)
- 全过程工程咨询投标方案(技术方案)
- 用En值评价人员比对结果的范例
- 医疗信息平台资源规划及数据库设计方案
- 农村小学音乐课堂教学有效性及策略探究
- 支局一点一策PPT通用课件
- 国防科大暗室屏蔽部分标书
- 国家开放大学《电工电子技术》章节自测题参考答案
- GB∕T 16754-2021 机械安全 急停功能 设计原则
- SPC控制图的系数和公式表
- 交通行业职业安全培训-驾驶员培训
评论
0/150
提交评论