




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编码测试复用与维护第一页,共五十五页,2022年,8月28日编码的目的
编码模块的过程性描述一一一>源程序(不可执行的)(可执行的)编码的过程熟悉所选语言的功能和程序开发环境
仔细阅读设计文档详细设计
弄清要编码的模块的外部接口与内部过程
第二页,共五十五页,2022年,8月28日编码的风格追求“聪明”和“技巧”---〉提倡“简明”和“直接”
使用标准的控制结构
清晰的前提下求取效率
.Makeitrightbeforeyoumakeitfaster..Makeitclearbeforeyoumakeitfaster..Keepitrightwhenyoumakeitfaster.(求快不忘保持程序正确).Keepitsimpletomakeitfaster.(保持程序简单以求快).don’tsacrificeclarityfor“efficiency”.(书写清楚,不要为“效率”牺牲清楚)第三页,共五十五页,2022年,8月28日源程序的文档化
(codedocumentation)有意义的变量名称适当的注释标准的书写格式——用分层缩进的写法显示嵌套结构的层次;——在注释段的周围加上边框;——在注释段与程序段、以及不同程序段之间插入空行;——每行只写一条语句;——书写表达式时,适当使用空格或圆括号等作隔离符;
第四页,共五十五页,2022年,8月28日程序设计语言的发展面向机器的语言高级语言(第3代)甚高级语言机器语言(第1代)汇编语言(第2代)结构语言基础语言面向对象语言第4代语言第五页,共五十五页,2022年,8月28日语言的选择选择编码语言的标准
应用领域
算法与计算复杂性
数据结构的复杂性
效率的考虑
第六页,共五十五页,2022年,8月28日适用各类应用领域的语言
年代应用领域主要语言其他语言20世纪60年代商业COBOLAssembler科学计算FORTRANALGOL、BASIC、APL系统AssemblerForth人工智能LISPSNOBOL
现代商业COBOL、C++、Java、电子表格C、PL/1科学计算FORTRAN、C、C++JavaBASIC系统C、C++、JavaAda、Modula人工智能LISP、Prolog
第七页,共五十五页,2022年,8月28日第九章软件测试
测试的基本概念黑盒测试白盒测试测试用例设计
多模块程序的测试策略
面向对象系统的测试
第八页,共五十五页,2022年,8月28日测试的基本概念
测试(testing)的目的与任务
目的:发现程序的错误
任务:通过执行程序,暴露潜在的错误
纠错(debugging)的目的与任务
目的:定位和纠正错误
任务:消除软件故障,保证程序的可靠运行
第九页,共五十五页,2022年,8月28日测试的特性
挑剔性抱着为证明程序有错的目的去测试
复杂性
设计合适的测试用例
不彻底性
Dijkstra一句名言:“程序测试只能证明错误的存在,但不能证明错误不存在”
经济性第十页,共五十五页,2022年,8月28日测试的种类
静态分析(不执行程序)静态分析器代码复审(CodeReview)动态分析(执行程序)黑盒测试测试程序功能白盒测试测试程序结构第十一页,共五十五页,2022年,8月28日测试的文档
测试计划
测试项目的名称各项测试的目的、步骤和进度测试用例的设计
测试报告测试项目名称实测结果与期望结果的比较发现的问题测试达到的效果第十二页,共五十五页,2022年,8月28日黑盒测试
等价分类法(equivalencepartitioning)把输入数据的可能值划分为若干等价类
有效等价类和无效等价类每一无效等价类至少需要一个测试用例
例子某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到2002年3月30日止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。第十三页,共五十五页,2022年,8月28日“出生年月”的等价分类
输入数据有效等价类无效等价类出生年月①6位数字字符②有非数字字符③少于6个数字符④多于6个数字符对应数值⑤在196702—198603之间⑥<196702⑦>198603月份对应数值⑧在1—12之间⑨等于“0”⑩>12第十四页,共五十五页,2022年,8月28日黑盒测试边界值分析法(boundaryvalueanalysis)
使被测程序在边界值及其附近运行,从而更有效地暴露程序中潜藏的错误
错误猜测法(errorguessing)
猜测被测程序在哪些地方容易出错
针对可能的薄弱环节来设计测试用例
第十五页,共五十五页,2022年,8月28日白盒测试
逻辑复盖测试法(logiccoveragetesting)
用流程图来设计测试用例
逻辑复盖测试的5种标准发现错误的能力
弱
强语句覆盖每条语句至少执行一次判定覆盖每一判定的每个分支至少执行一次条件覆盖每一判定中的每个条件,分别按“真”、“假”至少各执行一次判定/条件覆盖同时满足判定复盖和条件复盖的要求条件组合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次第十六页,共五十五页,2022年,8月28日白盒测试路径测试法(pathtesting)着眼于程序执行路径的测试方法
程序图(programgraph)点覆盖边覆盖路径覆盖第十七页,共五十五页,2022年,8月28日测试用例设计黑盒测试用例设计三角形分类程序白盒测试用例设计学生成绩查询程序第十八页,共五十五页,2022年,8月28日软件的纠错纠错的策略试凑法跟踪法推理法常用的纠错技术插入打印语句设置断点掩蔽部分程序蛮力纠错技术第十九页,共五十五页,2022年,8月28日多模块程序的测试策略
测试的层次性
单元(模块)测试(unittesting)综合(集成)测试(integrationtesting)确认测试(validationtesting)系统测试(systemtesting)程序错误的类型
语法错误
结构性错误
功能性错误
接口错误
第二十页,共五十五页,2022年,8月28日
单元测试
目的
通过模块测试,使其代码达到模块说明书的需求
任务
(1)对模块代码进行编译,发现并纠正其语法错误;(2)进行静态分析,验证模块结构及其内部调用序列是否正确;(3)确定模块的测试策略,并据此设计一组测试用例和必要的测试软件;(4)用选定的测试用例对模块进行测试,直至满足测试终止标准为止;(5)编制单元测试报告。
第二十一页,共五十五页,2022年,8月28日单元测试实施步骤编译静态分析器检查代码评审动态测试测试驱动模块测试桩模块第二十二页,共五十五页,2022年,8月28日集成测试
目的将经过单元测试的模块逐步组装成具有良好一致性的完整的程序任务制订集成测试实施策略确定集成测试的实施步骤,设计测试用例逐一地添加模块,进行测试第二十三页,共五十五页,2022年,8月28日集成测试策略与步骤
自顶向下测试先广后深实施步骤
先深后广实施步骤
由底向上测试
混合方式测试(sandwichtesting)
对上层模块采取自顶向下测试
对关键模块或子系统采取由底向上测试
第二十四页,共五十五页,2022年,8月28日
确认测试
目的
确认组装好的程序是否满足(SRS)的要求任务有效性测试(黑盒测试)配置复审(confingurationreview)
验收测试—专用
alpha与beta测试—通用第二十五页,共五十五页,2022年,8月28日系统测试
目的
软件安装到系统中以后,能否与系统的其余部分协调运行
任务测试是否与硬件协调运行测试是否和原来就有的其它软件协调运行
测试是否完成SRS对它的要求
第二十六页,共五十五页,2022年,8月28日终止测试的标准规定测试策略和应达标准规定至少要查出的错误数量第二十七页,共五十五页,2022年,8月28日面向对象系统的测试
OO软件的测试策略
OO软件测试用例设计
第二十八页,共五十五页,2022年,8月28日OO软件的测试策略OO软件的单元测试
全面地测试类和对象所封装的属性和操纵这些属性的操作的整体
发现类的所有操作中存在的问题
与其他的类协同工作时可能出现的错误
OO软件的集成测试
基于黑盒方法的集成测试
基于线程的测试(thread-basedtesting)
基于使用(use-based)的测试
第二十九页,共五十五页,2022年,8月28日OO软件的测试策略OO软件的确认测试和系统测试采用传统的黑盒法OOA阶段的用例所描述的用户交互进行测试导出OO系统测试的测试用例对象—行为模型时序图等模拟用户实际使用环境第三十页,共五十五页,2022年,8月28日OO软件测试用例设计
(1)
每个测试用例都要有一个唯一的标识,并与被测试的一个或几个类相关联起来;(2)
每个测试用例都要陈述测试的目的;(3)
对每个测试用例要有相应的测试步骤,包括被测对象的特定状态、所使用的消息和操作、可能产生的错误、测试需要的外部环境等
第三十一页,共五十五页,2022年,8月28日OO概念对测试用例设计的影响
继承的成员函数需要测试
子类的测试用例可以参照父类
类测试用例设计
基于故障的测试用例设计基于用例的测试用例设计类间测试用例设计
类—关系模型
类—行为模型
第三十二页,共五十五页,2022年,8月28日第十章软件复用 软件复用的基本概念 领域工程基于构件的开发
面向对象与软件复用
小结
第三十三页,共五十五页,2022年,8月28日软件复用的基本概念
软件复用的定义
第三十四页,共五十五页,2022年,8月28日软件复用的重要性
软件复用的目的是能更快、更好、成本更低地生产软件制品。一般地说,在软件开发中采用复用构件可以比从头开发这个软件更加容易。
第三十五页,共五十五页,2022年,8月28日软件复用的粒度
按照可复用的粒度,软件制品从小到大分为以下几类:源代码复用软件体系结构复用应用程序生成器领域特定的软件体系结构的复用第三十六页,共五十五页,2022年,8月28日领域工程所谓的“领域”,指的是一组具有相似或相近软件需求的应用系统所覆盖的功能区域。通过领域分析(domainanalysis)找出最优复用,对它们进行设计和构造,形成为可复用构件,进而建立大规模的软件构件仓库的过程,就是领域工程。第三十七页,共五十五页,2022年,8月28日横向复用和纵向复用
横向复用是指复用不同应用领域中的软件元素。纵向复用是指在一类具有较多公共性的应用领域之间进行软部品复用。领域分析用户需求软件开发与构件开发目标软件确认可复用构件库检索理解第三十八页,共五十五页,2022年,8月28日领域分析
定义领域分析是在特定应用领域寻找最优复用,以公共对象、类、子集合和框架等形式进行标识、分析和规约。目标是获得领域分析模型
第三十九页,共五十五页,2022年,8月28日领域分析的输入和输出
第四十页,共五十五页,2022年,8月28日建造可复用构件
创建领域构件的设计框架
标准数据
标准接口协议程序模板第四十一页,共五十五页,2022年,8月28日构件模型
第四十二页,共五十五页,2022年,8月28日建立可复用构件库
三种分类模式
枚举分类
门面分类
属性-值分类
第四十三页,共五十五页,2022年,8月28日基于构件的开发
构件集成模型应用系统工程第四十四页,共五十五页,2022年,8月28日面向对象与软件复用
OO方法对软件复用的支持复用技术对OO方法的支持第四十五页,共五十五页,2022年,8月28日小结软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。软件复用研究被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。第四十六页,共五十五页,2022年,8月28日第十一章软件维护软件维护的种类
软件可维护性
软件维护的实施
软件维护的管理
软件再工程
第四十七页,共五十五页,2022年,8月28日软件维护的种类完善性维护(perfectivemaintenance)
适应性维护(adaptivemaintenance)纠错性维护(correctivemaintenance)预防性维护(preventivemaintenance)
第四十八页,共五十五页,2022年,8月28日软件可维护性
(maintainability)
影响可维护性的软件属性
可理解性(understandability)
可修改性(modifiability)
可测试性(testability)对可维护性的定量度量提高可维护性的途径提供完整和一致的文档
采用现代化的开发方法
第四十九页,共五十五页,2022年,8月28日软件维护的实施不严重
⊕维护人员纠错严重名单测试*⊕已修改⊕适应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市建筑材料寄存与环保检测服务协议范本2025
- 2025年北京市外贸企业员工劳动合同参考范本
- 物联网在智慧农业中的前景展望
- 科普手术操作流程
- 电子产品物流司机用工合同
- 2025年度办公室租赁及企业财务咨询服务协议
- 二零二五年度互联网企业员工劳动合同范本
- 肾衰竭护理查房
- 校园卫生咱维护劳动教育
- 林地使用权转让合同模板
- 湖南省炎德英才名校联考联合体2024-2025学年高二下学期3月月考-数学+答案
- (3月省质检)福建省2025届高三毕业班适应性练习卷英语试卷(含答案)
- 专业网格员测试题及答案
- 2025年上半年贵州黔东南州各县(市)事业单位招聘工作人员1691人笔试易考易错模拟试题(共500题)试卷后附参考答案
- 湖南省长沙市雅礼教育集团2024-2025学年高一上学期期末考试英语试卷含答案
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 2023年广东省中学生生物学联赛试题解析(word)及答案(扫描版)
- 《云南省食品安全地方标准 天麻》编制说明
- 基于语音信号去噪处理的FIR低通滤波器设计要点
- G414(五) 预应力钢筋混凝土工字形屋面梁
- 木箱制作作业指导书
评论
0/150
提交评论