




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一部分第一部分传统的软件工程方法传统的软件工程方法第二章第二章 系统分析系统分析 第三章第三章 需求分析需求分析 第四章第四章 软件设计软件设计 第五章第五章 编码与测试编码与测试 第五章 编码与测试&51 程序编码程序编码&52 测试的基本概念测试的基本概念&53 两种测试类型两种测试类型&54 白盒测试方法的用例设计白盒测试方法的用例设计&55 黑盒测试方法的用例设计黑盒测试方法的用例设计&56 软件的测试步骤软件的测试步骤&57 调试与排错调试与排错&58 软件可靠性软件可靠性&59 本章重点本章重点51 程序编码
2、程序编码基本任务:基本任务: 将软件设计的结果翻译成计算机可以将软件设计的结果翻译成计算机可以“理解理解”的形成的形成使用某种语言描述的使用某种语言描述的程序。程序。程序的质量主要取决于软件设计的质程序的质量主要取决于软件设计的质量,程序设计语言的特性和编码途径也对量,程序设计语言的特性和编码途径也对程序的可靠性、可读性、可测试性和可维程序的可靠性、可读性、可测试性和可维护性产生深远的影响。护性产生深远的影响。511 程序设计语言的选择程序设计语言的选择F 项目的应用领域项目的应用领域 (附表附表)F 系统用户的要求系统用户的要求F 可以得到的软件工具可以得到的软件工具F 工程规模工程规模F
3、软件可移植性要求软件可移植性要求F 软件开发人员的知识水平、心理因素软件开发人员的知识水平、心理因素程序设计语言及应用领域参考表程序设计语言及应用领域参考表类 型可选语言商用数据处理COBOL科学工程计算和模拟 FORTRAN PASCAL实时软件汇编语言 Ada系统软件汇编语言 C Ada智能软件LISP PROLOG512 编码风格编码风格编码风格(程序设计风格、编程风编码风格(程序设计风格、编程风格),格),是指导人们编写出逻辑简明清晰、是指导人们编写出逻辑简明清晰、易读易懂程序的基本原则。包括:易读易懂程序的基本原则。包括:1、源程序文档化:、源程序文档化:2、数据说明:对数据添加说明
4、。数据说明:对数据添加说明。3、语句结构:结构化、库函数、可读性。、语句结构:结构化、库函数、可读性。4、输入、输入/输出(输出(I/O):):友好、方便使用。友好、方便使用。512 编码风格编码风格源程序文档化源程序文档化为了提高程序的可维护性,源代码也为了提高程序的可维护性,源代码也需要实现文档化(内部文档编制)。包括需要实现文档化(内部文档编制)。包括:1、符号名的命名:、符号名的命名:2、程序注释:序言、功能等。程序注释:序言、功能等。3、标准的书写格式:、标准的书写格式:分层缩进分层缩进的写法显示嵌套结构层次。的写法显示嵌套结构层次。512 编码风格编码风格源程序文档化源程序文档化i
5、f () if()elseelseif () if()elseelse52 软件测试的基本概念软件测试的基本概念软件测试是软件开发工作的最后一个环节。由于人认识客观事物的主观性,难免在开发的软件产品中产生错误。为了给用户交付一个高质量的软件系统,必须对开发的系统进行严格的测试,以便尽可能多的发现错误。 软件测试是保证软件质量,提高软件可靠性的关键。521 基本概念基本概念软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中:测试工作量40%(1)预防错误: 几乎不可实现(2)发现错误: 软件测试目的找错521 基本概念基本概念522 测试的目的与地位测试的目的与地位G.J.M
6、yers在中认为: “程序测试是为了发现错误而执行程序的过程.” E.W.Dijkstra 指出:“程序测试能证明错误的存在,但不能证明错误不存在.” 测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错. 把证明程序无错当作测试目的不把证明程序无错当作测试目的不仅是不正确的仅是不正确的, , 完全做不到的,而且完全做不到的,而且对做好测试没有任何益处,甚至是对做好测试没有任何益处,甚至是十十分有害分有害的的. . 软件测试要设法使软件发生故障软件测试要设法使软件发生故障, ,暴露软件错误暴露软件错误 测试的测试的“成功成功”与与“失败失败” 能够发现错误的测试是成功的能够发现
7、错误的测试是成功的测试,否则是失败的测试。测试,否则是失败的测试。 “测试的目的是说明程序正确地执行测试的目的是说明程序正确地执行它应有的功能它应有的功能”也是也是错误错误的的. .例:程序例:程序TriangleTriangle,输入三个整数,表示一输入三个整数,表示一个三角形的三个边长,该程序产生一个结果个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形,指出该三角形是等边三角形、等腰三角形还是不等边三角形。还是不等边三角形。 为说明其能正确执行它的功能,可使用为说明其能正确执行它的功能,可使用“测试用例测试用例”(3,4,5),(5,5,6),(6,6,6),
8、”(3,4,5),(5,5,6),(6,6,6), 程序都能给出正确结果,是否就可认为程序程序都能给出正确结果,是否就可认为程序是正确的?是正确的?523 测试与调试测试与调试(排错排错) 测试测试 ( (test) test) 调试调试 ( (debug)debug)以已知条件开始以已知条件开始, , 使用预先定义的程序使用预先定义的程序, ,有预知的结果有预知的结果以不可知内部以不可知内部条件开始条件开始, ,结果一般结果一般不可预见不可预见有计划有计划被动的被动的由独立的测试组由独立的测试组,在不了解软件设计,在不了解软件设计的条件下完成的条件下完成由程序作者进行由程序作者进行发现错误发
9、现错误找出错误位置,排除找出错误位置,排除524 测试阶段工作步骤测试阶段工作步骤F单元测试: 检验每个模块能否单独 工作.F集成测试: 检验概要设计中模块接 口设计问题F确认测试: 以需求规格说明书为检 验尺度F系统测试: 综合检验F平行运行:新旧两套系统并行运行,对照检验 测试可视为分析、设计、编码三个阶段的最终复审,以保证软件质量.525 测试阶段测试阶段与前期工作的关系与前期工作的关系 程序中的问题根源可能在开发前期的各阶段解决、纠正错误也必须追溯到前期工作。测测试试与与开开发发前前期期工工作作的的关关系系决定软件与系统的配合关系决定软件与系统的配合关系需求分析需求分析概要设计概要设计
10、详细设计详细设计 编编 码码单元测试单元测试集成测试集成测试确认测试确认测试系统测试系统测试开发前期出现错误的扩展开发前期出现错误的扩展计划计划需求需求分析分析设设计计编编码码测测试试A A AB B软件生存期各阶段间需求保持的正确性软件生存期各阶段间需求保持的正确性用户要求用户要求用户用户: :我要什么我要什么? ?运行结果运行结果计算机计算机: :程序运行得程序运行得到的结果到的结果源程序源程序程序员程序员: :我要让计算我要让计算机什么做机什么做? ?设计说明书设计说明书设计员设计员: :我要让软件我要让软件做什么做什么? ?需求说明书需求说明书分析员分析员: :我可以提我可以提供什么供
11、什么? ?12345理解正确性理解正确性表达正确性表达正确性理解正确性理解正确性设计正确性设计正确性表达正确性表达正确性理解正确性理解正确性编码正确性编码正确性运行正确性运行正确性输入正确性输入正确性相符吗相符吗? ?526 软件测试的对象软件测试的对象软件测试不等于程序测试,软件测试应贯穿于软件定义与开发的整个期间; 据美国一家公司统计,查出的软件错误中,属于需求分析和软件设计的错误约占 64%,属于程序编写的错误仅占 36%。程序编写的许多错误是“先天的”。527 测试的基本原则测试的基本原则(1)(1)开发和测试队伍分别建立开发和测试队伍分别建立(2)(2)测试用例测试用例(测试用的一组
12、输入数据、环测试用的一组输入数据、环境平台和运行条件境平台和运行条件)应由输入数据和预)应由输入数据和预期的输出结果两部分组成期的输出结果两部分组成. .(3)(3)兼顾合理的输入和不合理的输入数据兼顾合理的输入和不合理的输入数据(4)(4)应检查程序是否作了不该做的事应检查程序是否作了不该做的事(5)(5)程序修改后要回归测试程序修改后要回归测试(6)(6)应长期保留测试用例,直至系统废弃。应长期保留测试用例,直至系统废弃。程序测试举例例:程序 Triangle, 输入三个整 数,表示一个三角形的三个边 长,该程序产生一个结果,指 出该三角形是等边三角形、等 腰三角形还是不等边三角形。判断三
13、角型的测试用例设计: 输入数据 预期结果(1) 6;6;6 等边(2) 8;8;4 等腰(3) 4;5;6 一般 还应输入非法数据: 0; 7; 9 -7;3; 5 a; 2; 7 等528 软件错误的分类软件错误的分类F 功能错(需求分析错误)F 软件结构错F 数据错F 编码错F 软件集成错F 测试定义与测试执行错误 529 软件测试信息流软件测试信息流测试过程需要三类输入:测试过程需要三类输入:软件配置软件配置: :需求规格说明书需求规格说明书 软件设计说明书软件设计说明书 被测源程序被测源程序测试配置测试配置: :测试计划测试计划 测试用例测试用例( (测试数据测试数据) ) 测试驱动程
14、序测试驱动程序测试工具测试工具: :软件测试信息流软件测试信息流软件软件配置配置测试测试测试测试配置配置测试测试工具工具结果结果分析分析排错排错可靠性可靠性 分析分析测试测试结果结果错误错误预期预期结果结果出错率出错率 改正改正的软件的软件预测预测的可的可靠性靠性5210 测试的方法与技术测试的方法与技术软件测试的软件测试的策略和方法策略和方法静态测静态测试方法试方法动态测动态测试方法试方法人工测试方法人工测试方法计算机辅助静计算机辅助静态分析方法态分析方法白盒测试方法白盒测试方法黑盒测试方法黑盒测试方法穷举测试方法穷举测试方法静态测试:静态测试: 基本特征是在对软件进行分析、检基本特征是在对
15、软件进行分析、检查和测试,不实际运行被测试的软件查和测试,不实际运行被测试的软件. . 静态测试约可找出静态测试约可找出303070%70%的逻辑的逻辑设计错误设计错误. . 对对需求规格说明书需求规格说明书、软件设计说明软件设计说明书书、源程序源程序做结构分析、流程图分析做结构分析、流程图分析、符号执行来找错、符号执行来找错. . 动态测试:动态测试:通过运行软件来检验软件的动通过运行软件来检验软件的动态行为和运行结果的正确性态行为和运行结果的正确性. .动态测试的两个基本要素:动态测试的两个基本要素:u 被测试程序被测试程序u 测试数据(测试用例)测试数据(测试用例)动态测试方法动态测试方
16、法(1)(1)选取定义域有效值选取定义域有效值, ,或定义域或定义域 外无效值外无效值. .(2)(2)对已选取值决定对已选取值决定预期的结果预期的结果(3)(3)用选取值执行程序用选取值执行程序(4)(4)执行结果执行结果 与与(2)(2)结果相比结果相比, , 不吻和程序有错不吻和程序有错. .53 两种类型的测试两种类型的测试1 黑盒测试2 白盒测试531 黑盒测试黑盒测试又称: 功能测试 数据驱动测试 基于规格说明书的测试532 白盒测试白盒测试又称: 结构测试 玻璃盒测试 基于覆盖的测试. 根据被测程序的逻辑结构设计测试用例;力求提高测试覆盖率;533 黑盒与白盒测试比较黑盒与白盒测
17、试比较黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。 白盒测试是根据程序内部逻辑结构进行测试。534 穷举测试穷举测试例:输入 三条边长 黑盒测试可采用的测试用例数(设字长16位)执行时间: 设测试一次需1ms 共需一万年.=2 =2 X2 X2 3X10X2 X2 3X101616161616161414534 穷举测试穷举测试白盒测试例:含5个分支,循环次数20,从A到B的可能路径执行时间: 设测试一次需2ms 穷举测试需5亿年.=5+5 +.+5 +5 =5+5 +.+5 +5 101020201 12 219191414A
18、 AB B534 穷举测试穷举测试 不论黑盒还是白盒测试都不能进行穷尽测试, 所以软件测试不可能发现程序中存在的所有错误, 因此需精心设计测试方案, 力争尽可能少的次数,测出尽可能多的错误.黑盒测试与白盒测试能发现的错误C CB BA AD D- -只能用黑盒测试发现的错误只能用黑盒测试发现的错误A- -只能用白盒测试发现的错误只能用白盒测试发现的错误- -两种方法都能发现的错误两种方法都能发现的错误- -两种方法都不能发现的错误两种方法都不能发现的错误BCD54 白盒测试的测试用例设计白盒测试的测试用例设计逻辑覆盖法:一系列测试方法总称,特点是逐渐进行越来越完整的通路测试。例:PROCEDU
19、RE SAMPAL (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; 541 逻辑覆盖准则逻辑覆盖准则(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定/条件覆盖(5)条件组合覆盖(6)路径覆盖(7)点覆盖(8)边覆盖1语句覆盖开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce使程序中每个语使程序中每个语句至少执行一次句至少执行一次只需设计一个测试用例:输入数据:A=2,B=0,X=4即达到了语句覆
20、盖;语句覆盖是最弱的逻辑覆盖2判定覆盖开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce例:可设计两组测试用例:A=3,B=0 ,X=3 可覆盖c、d分支 A=2,B=1 ,X=1 可覆盖b、e分支 两组测试用例可覆盖所有判定的真假分支判定覆盖仍是弱的逻辑覆盖3 条件覆盖 使每个判定的每个条件的可能取值至少执行一次。第一判定表达式第一判定表达式: :设设条件条件 A1A1 取真取真 记为记为 T1T1 假假 T1T1 条件条件 B=1B=1 取真取真 记为记为 T2T2 假假 T2T2第二判定表达式第二判定表达式: :设设条件条件 A=
21、2A=2 取真取真 记为记为 T3T3 假假 T3T3 条件条件 X1X1 取真取真 记为记为 T4T4 假假 T4T43 条件覆盖开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce满足条件满足条件: T1,T1, T2,T2 T3,T3 T4,T4测试用例 通过 满足的 覆盖A B X 路径 条件 分支1 0 3 abe T1,T2,T3,T4 b,e2 1 1 abe T1,T2,T3,T4 b,e 两个测试用例覆盖了四个条件八种可能取值。未覆盖c、d分支,不满足判定覆盖的要求.条件覆盖不一定包含判定覆盖判定覆盖也不一定包含条件覆盖
22、4 判定/条件覆盖 选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次.判定/条件 覆盖开始开始(A1) AND (B=0)(A=2) OR (X1)返回返回X=X/AX=X+1FFTTabdce满足条件满足条件: T1,T1, T2,T2 T3,T3 T4,T4测试用例 通过 满足的 覆盖A B X 路径 条件 分支2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abd T1,T2,T3,T4 b,d 能同时满足判定、条件两种覆盖标准。取值。测试用例 通过 满足的 覆盖A B X 路径 条件 分支2 0 3 ace T1,T2,T3,T4 c,e2 1 1 abe T1,T2,T3,T4 b,e1 0 3 abe T1,T2,T3,T4 b,e1 1 1 abd T1,T2,T3,T4 b,d (5)条件组合覆盖 所有可能的条件取值组合至少执行一次 A1, B=0 A1, B0 A 1, B=0 A 1, B0 A=2,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 弓形体病性巩膜炎的临床护理
- 2025年一级建造师之一建水利水电工程实务练习题(二)及答案
- 2025设备租赁合同写作格式
- 2025倾力湖南省娱乐酒店商业行业劳动合同模板
- 陕西中考数学试卷真题及答案b卷
- 山东初一地理试卷及答案
- 矿物纳米复合材料性能研究考核试卷
- 烟草制品零售广告宣传策略考核试卷
- 纺织原料采购与库存管理考核试卷
- 胶合板在园艺制品中的创新使用考核试卷
- 如何防范勒索软件和网络勒索攻击
- 重点监管的危险化学品名录完整版及相关解读
- 2024年福建国有企业海峡人力南平分公司招聘笔试参考题库含答案解析
- 七年级下册英语单词默写表直接打印
- 菜品退单原因分析报告
- 新能源电动汽车技术简介
- 天融信运维安全审计系统V3
- 2024年初级社会工作者《社会工作实务(初级)》考试练习题(含答案)
- 教学勇气:漫步教师心灵
- 卷料加工中的跑偏与纠偏控制
- 波纹钢装配式检查井通用技术规范
评论
0/150
提交评论