




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、7.1 编码编码7.1.1 选择程序设计语言选择程序设计语言(1)系统用户要求)系统用户要求(2)可以使用的编译程序)可以使用的编译程序(3)可以得到的软件工具)可以得到的软件工具(4)工程规模)工程规模(5)程序员知识)程序员知识(6)软件可移植性要求)软件可移植性要求(7)软件的应用领域)软件的应用领域 7.1.2 写程序的风格写程序的风格运用运用Visual C+ 开发工具需要掌握:开发工具需要掌握: C语言特点、语法;语言特点、语法; Windows编程基础;编程基础; MFC相关知识;相关知识; Visual C集成开发工具环境的使用;集成开发工具环境的使用;7.2.1 软件测试的目
2、标软件测试的目标1)所有测试都应该能追溯到用户需求;)所有测试都应该能追溯到用户需求;2)应该远在测试前就制定出测试计划;)应该远在测试前就制定出测试计划;3)把)把Pareto原理应用到软件测试中;原理应用到软件测试中;4)应该从)应该从“小规模小规模”测试开始,并逐步进行测试开始,并逐步进行“大大规模规模”测试;测试;:包含所有可能情况的测试称为穷尽测试。:包含所有可能情况的测试称为穷尽测试。程序程序main()()a2a1a3b输入输入输出输出a1、a2、a3 :Integer 16bits输入数据的穷输入数据的穷尽测试组合:尽测试组合:216216 216 248 3 10146)为了
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.
4、0检索检索6.0编目录编目录7.0格式化格式化8.0添加添加3.1删除删除3.2插入插入3.3修改修改3.4合并合并3.5列表列表3.6图图7.2 正文加工系统(正文加工系统(H图)图)TEST DRIVER编辑编辑3.0TEST STUB对对“编辑编辑”功能的测试:功能的测试: 自顶向下自顶向下集成是一种递增的装配软件结构的集成是一种递增的装配软件结构的方法,这种方法应用非常广泛。它需要存根程序,方法,这种方法应用非常广泛。它需要存根程序,但是不需要驱动程序。但是不需要驱动程序。7.4.1 自顶向下集成自顶向下集成M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例M
5、1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例 2)根据选定的)根据选定的结合策略(深度优结合策略(深度优先或宽度优先),先或宽度优先),每次用一个实际模每次用一个实际模块代替一个存根程块代替一个存根程序(新结合的模块序(新结合的模块往往又需要新的存往往又需要新的存根程序);根程序);M1M2M3M4M6M5M7M8图图7.3 自顶向下结合实例自顶向下结合实例7.4.2 自底向上集成自底向上集成McMaMbD2D1D
6、3族族1族族2族族3图图7.4 自底向上实例自底向上实例McMaMbD2D1D3族族1族族2族族3图图7.4 自底向上实例自底向上实例McMaMbD2D1D3族族1族族2族族3图图7.4 自底向上实例自底向上实例McMaMbD2D1D3族族1族族2族族3图图7.4 自底向上实例自底向上实例7.4.3 不同集成测试策略的比较不同集成测试策略的比较M1M2M3M4M5M67.5.1 确认测试的范围确认测试的范围7.5.2 软件配置复查软件配置复查 目的:保证软件配置的所有成分都齐全,目的:保证软件配置的所有成分都齐全,质量符合要求,文档与程序完全一致,而且已质量符合要求,文档与程序完全一致,而且已
7、经编好目录。经编好目录。:用户在开发者的场所进行测试,并:用户在开发者的场所进行测试,并且在开发者的指导下进行,测试在受控环境且在开发者的指导下进行,测试在受控环境中进行,开发者记录发现的错误和问题;中进行,开发者记录发现的错误和问题;:用户在一个或多个客户场所进行测试,:用户在一个或多个客户场所进行测试,不受开发者控制,测试者记录发现的问题和不受开发者控制,测试者记录发现的问题和错误,定期将问题报告发送给开发者。错误,定期将问题报告发送给开发者。7.6.1 逻辑覆盖逻辑覆盖例:一个被测试模块的源程序为例:一个被测试模块的源程序为(PASCAL语言)语言): PROCEDURE EXAMPLE
8、 (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 被测试模块的流程图被测试模块的流程图 选取测试用例:选取测试用例: ,程序执行,程序执行路径为:路径为:sacbed。 入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程
9、图被测试模块的流程图对于上例,选取如下测试用例:对于上例,选取如下测试用例: I. (覆盖覆盖sacbd) II. (覆盖覆盖sabed) 入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图 上例中,有两个判定上例中,有两个判定表达式,每个表达式有表达式,每个表达式有两个条件,为了做到条两个条件,为了做到条件覆盖,应该选取测试件覆盖,应该选取测试数据使得数据使得a点出现如下点出现如下结果:结果: 在在b点出现如下结果:点出现如下结果: 选取如下测试用例:选取如下测试用例:I . (满足满足
10、A1,B=0,A=2和和X1,执行路径为执行路径为sacbed)II. (满足满足A1,B0,A2和和X1,执行路径为执行路径为sabd) 入口入口返回返回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 被测试模块的流程图被测试模块的流程图如:如: I(满足满足A1,B
11、=0,A=2和和X1,执行路径执行路径为为sacbed) II (满足满足A1,B0,A2和和X1,执行路径执行路径为为sabed) 只满足条件覆盖,并只满足条件覆盖,并不满足判定覆盖。不满足判定覆盖。 入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图 对于上例,选取如对于上例,选取如下测试用例:下测试用例:IA=2,B=0,X=4 (满足满足A1,B=0,A=2和和X1,执行路执行路径为径为sacbed)IIA=1,B=1,X=1 (满足满足A1,B0,A2和和X1,执行路执行路径为径
12、为sabd) 入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图 对于上例,共有对于上例,共有8种可能的条件组合:种可能的条件组合: 1)A1,B=0 2)A1,B0 3)A1,B=0 4)A1,B0 5)A=2,X1 6)A=2,X1 7)A2,X1 8)A2,X1 入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图选取如下测试用例:选取如下测试用例:I(满足满足1、5组合:组合:A
13、1,B=0,A=2,X 1 , 执 行 路 径执 行 路 径sacbed)II(满足满足2、6组合:组合:A1,B0,A=2,X1,执行路径执行路径sabed)入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图III(满足满足3、7组合:组合:A1,B=0,A2,X1,执执行路径行路径sabed)IV(满足满足4、8组合:组合:A1,B0,A2,X1,执执行路径行路径sabd) 入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图
14、7.5 被测试模块的流程图被测试模块的流程图sabdce1234567图图7.5 对应的程序图对应的程序图sabdce1234567图图7.5 对应的程序图对应的程序图选取如下测试用例:选取如下测试用例:I (执行路径执行路径1453)II(执行路径执行路径1267) sabdce1234567图图7.5 对应的程序图对应的程序图选取如下测试用例:选取如下测试用例:I (执行路径执行路径123)II (执行路径执行路径1267)III(执行路径执行路径1453)IV(执行路径执行路径14567) :满足路径覆盖和条件组合覆盖:满足路径覆盖和条件组合覆盖 2)5)满足条件组合覆盖,)满足条件组合
15、覆盖,执行路径分别是:执行路径分别是:sacbed、sabed、sabed、sabd入口入口返回返回A1 and B=0A=2 or X1X=X/AX=X+1sabdceTTFF1234567图图7.5 被测试模块的流程图被测试模块的流程图路径:路径:sacbd7.7.1 等价划分(等价类划分)等价划分(等价类划分)A如果某输入条件规定了输入的范围,那么可以如果某输入条件规定了输入的范围,那么可以划分为一个有效的等价类和两个无效的等价类。划分为一个有效的等价类和两个无效的等价类。如如X的值的输入范围是的值的输入范围是1,99,那么测试,那么测试X时,时,可以这样划分:有效等价类为可以这样划分:
16、有效等价类为1,99,无效等,无效等价类为(价类为(-,1)和()和(99,+)。)。 如,如,“职称职称”这个量可能的值是:教授、副教这个量可能的值是:教授、副教授、讲师、助教。那么可以这样划分:四类有效授、讲师、助教。那么可以这样划分:四类有效等价类分别为教授、副教授、讲师、助教,无效等价类分别为教授、副教授、讲师、助教,无效等价类为四种职称以外的所有值。等价类为四种职称以外的所有值。实例:一个把数字串变成整数的函数。实例:一个把数字串变成整数的函数。 计算机字长:计算机字长:16 bits ,函数由函数由PASCAL语言编写。语言编写。 function strtoint ( dstr:
17、 shortstr ): integer type shortstr = array1.6 of char; /字符串字符串6位位/ (16位字长能表示的整型数范围是位字长能表示的整型数范围是-215, 215-1,即即-32768, 32767 )有效输入的等价类有:有效输入的等价类有:(1)16个数字字符组成的数字串(最高位数字不为零);个数字字符组成的数字串(最高位数字不为零); 如:如: 0 , 999999 (2)最高位数字是零的数字串;)最高位数字是零的数字串; 如:如:“012345”(3)最高位数字左邻是负号的数字串;)最高位数字左邻是负号的数字串; 如:如:“12345”7.
18、7.2 边界值分析边界值分析7.7.3 错误推测错误推测7.7.4 实用测试策略实用测试策略开始开始停止停止AB+CBA+CCA+BA=BA=CB=CB=C输出:等输出:等边三角形边三角形输出:不输出:不等边三角等边三角形形输出:等输出:等腰三角形腰三角形输出:不输出:不是三角形是三角形abcdefghijklmnop12345678910111213141516171819202122TFTFTFTTFFFTTF图图7.8 程序程序TRIANGLE的流程图的流程图abcdefghklmnopij1234567891011121314151617181920212223图图7.9 对应的程序图
19、对应的程序图程序程序TRIANGLE的测试数据的测试数据测试功能测试功能测试数据测试数据abc1.等边等边2.等腰等腰3.不等边不等边4.非三角形非三角形5.退化情况退化情况6.零数据零数据10,10,1010,10,178,10,1210,10,2110,5,50,0,00,0,70,10,12,10,17,108,12,1010,21,105,10,5,0,17,012,0,10,17,10,1010,12,821,10,105,5,10,17,0,012,10,0测试功能测试功能测试数据测试数据abc7.负数据负数据8.遗留数据遗留数据9.无效输入无效输入10.边界值边界值-10,-10
20、,-10-10,-10,17-8,10,17,10, ,8,10, A,B,C=,+,*8,10,A7E3 , 10.5 , A32767,32766,8-32768,8,32766-32768,8,-32769,-10,17,-1017,-8,10,10,8,10, ,8,A,1010.5, 7E3, A32766,8,3276732768,8,-327698,-32767,-32768,17,-10,-1010,12,8,10,8,10,A,10,8A , 10.5, 7E332768,8,32767-32769,8,32767-32767,8,-32769 最后,检查测试数据的覆盖程度,
21、通常应最后,检查测试数据的覆盖程度,通常应该做到边覆盖。该做到边覆盖。 测试数据覆盖程度检验表中列出的四种测测试数据覆盖程度检验表中列出的四种测试数据已经做到了边覆盖(覆盖所有的试数据已经做到了边覆盖(覆盖所有的22条条边)。边)。 测试数据覆盖程度检验表测试数据覆盖程度检验表编号编号测试数据测试数据覆盖的边覆盖的边12a2b2c3a3b3c4a4b4c10,10,1010,10,1710,17,1017,10,108,10,128,12,1010,12,810,10,2110,21,1021,10,101,2,3,4,5,6,7,81,2,3,4,5,15,19,20,81,2,3,4,14
22、,18,19,20,81,2,3,4,14,16,17,19,20,81,2,3,4,14,16,21,22,81,2,3,4,14,16,21,22,81,2,3,4,14,16,21,22,81,2,3,11,12,13,81,2,10,12,13,81,9,12,13,87.8.1 调试过程调试过程调试是在测试发现错误之后排除错误的过程。调试是在测试发现错误之后排除错误的过程。测试用例测试用例结果结果调试调试附加测试附加测试纠正且回归测试纠正且回归测试已识别原因已识别原因被怀疑原因被怀疑原因7.8.2 调试途径调试途径7.9.1 基本概念基本概念downupupssTTTA其中其中Tup
23、= tui , Tdown= tdi MTTRMTTFMTTFAss MTTR是修复一个故障平均需要用的时是修复一个故障平均需要用的时间,取决于维护人员的技术水平和对系统熟悉程度。间,取决于维护人员的技术水平和对系统熟悉程度。 MTTF是系统按照规格说明书规定成是系统按照规格说明书规定成功地运行的平均时间,取决于系统中潜伏的错误数量。功地运行的平均时间,取决于系统中潜伏的错误数量。 7.9.2 估算平均无故障时间估算平均无故障时间MTTF的方法的方法/ )(/1)(TcTTrIEIEKMTTF 其中:其中:K为常数,它的值根据经验选取,为常数,它的值根据经验选取,经典值是经典值是200。由上式
24、变换后得到程序中改正的错误数:由上式变换后得到程序中改正的错误数: 根据对软件平均无故障时间的要求,可以估计根据对软件平均无故障时间的要求,可以估计需要改正多少个错误后,测试工作就可以结束。需要改正多少个错误后,测试工作就可以结束。 MTTFKIEETTcssNnnN 其中:其中: 是故障总数是故障总数ET的估计值;的估计值; N120BbBBc其中,其中, 是故障总数是故障总数ET的估计值。的估计值。 每隔一定时间,分析员分析两名测试员的测试每隔一定时间,分析员分析两名测试员的测试结果,来估计错误总数。几次估计结果差不多时,结果,来估计错误总数。几次估计结果差不多时,用其平均值作为错误总数的估计值。用其平均值作为错误总数的估计值。0B50%100%测试时间测试时间使用率使用率第一第一阶段阶段第二第二阶段阶段第三第三阶段阶段100%测试用例完成率测试用例完成率测试用例完成率随测试时测试用例完成率随测试时间变化的情况间变化的情况 日立的经验表明,完成日立的经验表明,完成软件测试通常需要经历三软件测试通常需要经历三个阶段,第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渔业生产技术培训与合作社合作协议
- 信息安全管理与审计工具箱
- 财务费用核算自动化工具集
- 一场突如其来的大雨事件记事类作文8篇范文
- 销售代理委托协议条款扩展文件
- 特种工种安全培训课件
- 特种工安全培训教学课件
- 企业知识管理与员工培训资源库
- 文件归档方案办公场景表格
- 建材销售个人工作总结
- 可爱的中国教案全册
- 小数除法竖式专项计算144题(有答案)
- 频谱监测及瞬态信号捕获技术课件
- 平凉市崆峒区大寨乡柳沟村地热水矿产资源开发利用方案
- 隧道安全质量培训课件
- 六年级上册语文期末复习句子专项训练及答案
- 2019人教版高中英语选择性必修一UNIT 1 People of Achievement 单词表
- 电力变压器基础知识课件
- JJG 373-1997四球摩擦试验机
- GB/T 37785-2019烟气脱硫石膏
- GB/T 29343-2012木薯淀粉
评论
0/150
提交评论