




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湘潭大学第八章编码和测试编码概述编码语言与编码工具编码示例测试的基本概念黑盒测试和白盒测试测试用例设计多模块程序的测试策略面向对象系统的测试8.1编码概述编码的目的
编码设计模型---->源程序--可执行代码(不可执行的)
(可执行的)
编码的过程熟悉所选语言的功能和程序开发环境
仔细阅读设计模型弄清要编码的模块的外部接口与内部过程编码的风格追求“聪明”和“技巧”---〉提倡“简明”和“直接”
使用标准的控制结构
清晰的前提下求取效率.Makeitrightbeforeyoumakeitfaster..Makeitclearbeforeyoumakeitfaster..Keepitrightwhenyoumakeitfaster.(求快不忘保持程序正确).Keepitsimpletomakeitfaster.(保持程序简单以求快).don’tsacrificeclarityfor“efficiency”.(书写清楚,不要为“效率”牺牲清楚)源程序的文档化有意义的变量名称适当的注释标准的书写格式——用分层缩进的写法显示嵌套结构的层次;——在注释段的周围加上边框;——在注释段与程序段、以及不同程序段之间插入空行;——每行只写一条语句;——书写表达式时,适当使用空格或圆括号等作隔离符;
8.2编码语言与编码工具编码语言的发展面向机器的语言高级语言(第3代)甚高级语言机器语言(第1代)汇编语言(第2代)结构语言基础语言面向语言第4代语言常用的编码语言基础语言FORTRANCOBOLBASIC结构化语言PascalCAda面向对象语言C++JavaC#编码语言的选择程序设计语言的选择要为待开发项目选择合适的程序设计语言,应充分考虑到项目的各种需求,结合各种语言的心理特性、工程特性、技术特性以及应用特点,尽量选取实现效率高且易于理解和维护的语言。选择编码语言的标准应用领域算法与计算复杂性数据结构的复杂性效率的考虑适用各类应用领域的语言年代应用领域主要语言其他语言20世纪60年代商业COBOLAssembler科学计算FORTRANALGOL,BASIC,APL系统AssemblerForth人工智能LISPSNOBOL
现代商业COBOL、C++、Java、电子表格C、PL/1科学计算FORTRAN、C、C++、JavaBASIC系统C、C++、JavaAda、Modula人工智能LISP、Prolog
编码工具基于4GL的编码工具EclipseNetBeansVisualStudioDelphiPowerbuilder8.3编码示例网上购物系统将设计模型转换为源代码注册维护购物车8.4测试的基本概念软件测试动态查找程序代码中的各类错误和问题的过程测试的目的与任务
目的:发现程序的错误;任务:通过在计算机上执行程序,暴露程序中潜在的错误。纠错的目的与任务目的:定位和纠正错误;任务:消除软件故障,保证程序的可靠运行。测试和纠错信息流程软件测试结果错误信息改正信息测试用例期望结果测试评价纠错测试的特性挑剔性只有抱着为证明程序有错的目的去测试,才能把程序中潜在的大部分错误找出来复杂性设计测试用例是一项需要细致和高度技巧的工作不彻底性程序测试只能证明错误的存在,但不能证明错误不存在经济性选择一些典型的、有代表性的测试用例,进行有限的测试测试的种类软件测试方法的分类软件测试静态测试(程序不执行)动态测试(程序执行)“办公桌”检查会审走查(排查)静态分析器(自动工具)代码评审(人工方式)黑盒测试(测试功能)白盒测试(测试结构)测试文档测试计划测试内容说明测试项目的名称各项测试的目的步骤和进度测试用例的设计测试报告测试结果测试项目名称实测结果与期望结果的比较发现的问题测试达到的效果软件测试过程测试过程和项目开发过程完全平行,并有机地交互将测试出的问题纳入项目的风险和进度分析中,以调整下一步的开发和测试活动先做测试需求和设计,再后才是测试实施8.5黑盒测试和白盒测试黑盒测试根据被测试程序功能来进行测试等价分类法边界值分析法错误猜测法白盒测试以程序结构为依据的测试方法逻辑覆盖法路径测试法黑盒测试等价分类法(equivalencepartitioning)把输入数据的可能值划分为若干等价类
有效等价类和无效等价类每一无效等价类至少需要一个测试用例
例子某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到2008年3月止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。
“出生年月”的等价分类输入数据有效等价类无效等价类出生年月①6位数字字符②有非数字字符③少于6个数字符④多于6个数字符对应数值⑤在197302—199203之间⑥<197302⑦>199203月份对应数值⑧在1—12之间⑨等于“0”⑩>12无效等价类的测试用例测试数据期望结果测试范围MAY,75输入无效②19755 输入无效③1978011输入无效④195512 年龄不合格⑥199606 年龄不合格⑦198200 输入无效⑨197522 输入无效⑩黑盒测试边界值分析法(boundaryvalueanalysis)
使被测程序在边界值及其附近运行,从而更有效地暴露程序中潜藏的错误
错误猜测法(errorguessing)
猜测被测程序在哪些地方容易出错
针对可能的薄弱环节来设计测试用例白盒测试逻辑覆盖测试法(logiccoveragetesting)
用流程图来设计测试用例
逻辑覆盖测试的5种标准发现错误的能力
弱
强语句覆盖每条语句至少执行一次判定覆盖每一判定的每个分支至少执行一次条件覆盖每一判定中的每个条件,分别按“真”、“假”至少各执行一次判定/条件覆盖同时满足判定覆盖和条件覆盖的要求条件组合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次白盒测试路径测试法(pathtesting)着眼于程序执行路径的测试方法
程序图(programgraph)
点覆盖边覆盖路径覆盖8.7多模块程序的测试策略测试的层次性
单元(模块)测试(unittesting)综合(集成)测试(integrationtesting)确认测试(validationtesting)系统测试(systemtesting)单元测试目的
通过模块测试,使其代码达到模块说明书的需求
任务
(1)对模块代码进行编译,发现并纠正其语法错误;(2)进行静态分析,验证模块结构及其内部调用序列是否正确;(3)确定模块的测试策略,并据此设计一组测试用例和必要的测试软件;(4)用选定的测试用例对模块进行测试,直至满足测试终止标准为止;(5)编制单元测试报告。
实施步骤编译静态分析器检查代码评审动态测试测试驱动模块测试桩模块集成测试目的将经过单元测试的模块逐步组装成具有良好一致性的完整的程序任务制订集成测试实施策略确定集成测试的实施步骤,设计测试用例逐一地添加模块,进行测试策略与步骤
自顶向下测试
先广后深实施步骤
先深后广实施步骤
由底向上测试
混合方式测试(sandwichtesting)
对上层模块采取自顶向下测试
对关键模块或子系统采取由底向上测试
确认测试
目的
确认组装好的程序是否满足(SRS)的要求任务有效性测试(黑盒测试)配置复审(confingurationreview)
验收测试—专用
alpha与beta测试—通用系统测试目的
软件安装到系统中以后,能否与系统的其余部分协调运行
任务测试是否与硬件协调运行测试是否和原来就有的其它软件协调运行
测试是否完成SRS对它的要求
终止测试的标准规定测试策略和应达标准白盒测试时一般可规定以完全覆盖为标准语句覆盖率和判定覆盖率必须分别达到100%黑盒测试时,可选择一或数种方法设计测试用例,当所有测试用例全部用完后便可终止规定至少要查出的错误数量把查出预定数量的错误,作为某类应用程序的测试终止标准面向对象系统的测试OO软件的测试策略OO软件的测试策略与传统测试策略有许多不同。OO软件测试用例设计
与传统的测试用例设计不同,OO测试更多地关注于测试类的状态设计合适的操作序列。OO软件的测试策略OO软件的单元测试
对类的测试等价于传统的单元测试,区别在于传统的单元测试是针对程序的函数、过程等进行测试。在OO软件,单元是指封装的类和对象。单元测试是全面地测试类和对象所封装的属性和操纵这些属性的操作的整体。
发现类的所有操作中存在的问题。与其他的类协同工作时可能出现的错误。
OO软件的集成测试
面向对象程序没有层次的控制结构,相互调用的功能也是分散在不同的类中。所以传统的集成测试方法不再适用。加之面向对象程序具有动态特性,程序控制流往往无法确定,故只能进行基于黑盒方法的集成测试。基于黑盒方法的集成测试策略:
基于线程的测试(thread-basedtesting):每个线程被集成并分别测试。基于使用(use-based)的测试:从相对独立的类开始构造系统,然后集成并测试调用该独立类的类,直到构造出完整是系统。OO软件的确认测试和系统测试采用传统的黑盒法对OOA阶段的用例所描述的用户交互进行测试。导出OO系统测试的测试用例。对象—行为模型时序图等模拟用户实际使用环境。OO软件测试用例设计
指导OO测试用例设计的方法要点:每个测试用例都要有一个唯一的标识,并与被测试的一个或几个类相关联起来;每个测试用例都要陈述测试的目的;对每个测试用例要有相应的测试步骤,包括被测对象的特定状态、所使用的消息和操作、可能产生的错误、测试需要的外部环境等。
OO概念对测试用例设计的影响
继承的成员函数需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中药调养女性的健康之道
- 学生假期中的疾病预防教育
- 2025年中国微型室内空气置换系统项目投资可行性研究报告
- 2025年中国弹力桃皮绒绣花布数据监测报告
- 学术写作技巧与常见问题解答
- 2025年中国婴儿天鹅绒蛤蟆装市场调查研究报告
- 2025年中国复合枸杞胶囊市场调查研究报告
- 2025年中国坐座厕垫纸项目投资可行性研究报告
- 2025年中国圣诞卡通气模市场调查研究报告
- 2025年中国喷塑法兰市场调查研究报告
- 2024安全生产法律法规知识培训
- 《健康住宅评价标准》
- 资源安全课件教学课件
- 占道施工安全培训
- 露天矿山开采施工组织方案
- GB/T 44481-2024建筑消防设施检测技术规范
- 证券分析(第6版)上部
- 2024年中级电工考前必刷必练题库500题(含真题、必会题)
- DB11T 527-2021 配电室安全管理规范
- 2024年《武器装备科研生产单位保密资格标准》内容考试试题库及答案
- 学校校园安全隐患排查手册
评论
0/150
提交评论