实用软件课件第4章_第1页
实用软件课件第4章_第2页
实用软件课件第4章_第3页
实用软件课件第4章_第4页
实用软件课件第4章_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章软件编码和软件测试

本章内容:l

结构化程序设计(程序设计语言的选择、

程序设计风格)l

软件测试目标l

软件

测试方法l

软件

测试步骤l

设计软件测试方案l

软件测试原则和测试策略l

软件调试、验证与确认l

软件测试文档重点:l

程序设计风格l

设计软件测试方案《实用软件工程(第4版)》14.1结构化程序设计

结构化程序设计(StructuredProgramming,SP)1、采用自顶向下、逐步求精的程序设计方法;2、仅采用顺序、选择、重复三种基本控制结构,每种基本结构只有一个入口、一个出口;将这三种基本控制结构根据程序的逻辑,嵌套或组合成结构化程序,完成预定的功能。3、采用主程序员组的组织形式。4.1.1程序设计语言的选择1.程序设计语言的分类(1)面向机器语言:机器语言和汇编语言。(2)高级程序设计语言2.高级语言选用的实用标准(1)项目的应用领域(2)软件开发环境(3)根据系统用户的要求来选择(4)程序员的知识《实用软件工程(第4版)》24.1.2程序设计风格源程序文档编写规则1.源程序文档书写规则:含义鲜明的标识符名称、适当的注解和程序布局阶梯式。2.数据说明:易于理解、便于查阅3.语句构造要简单明了4.输入输出语句要合理5.程序效率要满足用户需求。程序设计主要应考虑的是程序的正确性、可理解性、可测试性和可维护性。4.2软件测试目标(1)软件测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案能够发现尚未发现的错误;(3)成功的测试是发现了尚未发现的错误的测试。软件测试的目的是,通过人工或计算机执行程序来有意识地发现程序中的设计错误和编码错误。《实用软件工程(第4版)》34.3软件测试方法

4.3.1静态分析与动态测试1.静态分析2.动态测试:以执行程序并分析程序来查错。为了进行软件测试,需要预先准备好两种数据:①输入数据;②预期的输出结果。我们把以发现错误为目标的用于软件测试的输入数据及与之对应的预期输出结果叫测试用例。4.3.2黑盒法与白盒法1.黑盒法

(Black.BoxTesting)又称功能测试,其测试用例完全是根据程序的功能说明来设计的。2.白盒法

(WhiteBoxTesting)又称结构测试,其测试用例是根据程序内部的逻辑结构和执行路径来设计的。常把黑盒法和白盒法联合起来进行,这也称为灰盒法。《实用软件工程(第4版)》44.4软件测试步骤

4.4.1模块测试也称单元测试,其目的是检查每个模块是否能独立、正确地运行。模块测试通常在程序设计时进行。驱动程序代替主程序,用来测试子程序。存根程序也称“虚拟子程序”,测试主模块。4.4.2集成测试子系统的组装称为集成化。集成测试分为子系统测试和系统测试两种。渐增式测试、非渐增式测试1、自顶向下集成2、自底向上集成4.4.3程序审查会和人工运行4.4.4确认测试1.确认测试必须有用户积极参与,或以用户为主进行。2.软件配置复审3.Alpha测试和Beta测试4.4.5平行运行《实用软件工程(第4版)》54.5设计测试方案测试方案包括三个内容:要测试的功能输入的数据对应的预期输出结果4.5.1等价类划分法4.5.2边界值分析法4.5.3错误推测法4.5.4逻辑覆盖法1.语句覆盖2.判定覆盖3.条件覆盖4.判定/条件覆盖5.条件组合覆盖6.点覆盖7.边覆盖8.路径覆盖《实用软件工程(第4版)》6【例4.2】按不同逻辑覆盖法设计测试数据

测试数据的条件组合及对应的执行路径《实用软件工程(第4版)》74.5.5程序环行复杂程度的度量

McCabe方法首先画出程序图,然后计算程序的环行复杂度。程序环行复杂度的计算方法有三种:

1、

强连通图中线性无关有向环的个数。2、

V(G)=m-n+2其中,m是程序图G中的弧数,n是有向图G中的节点数。3、如果P是流图中判定结点的个数,V(G)=P+1。【例4.2】计算程序环行复杂度。现有对计算机应用能力考试成绩进行统计的程序。连续输入考试成绩,最后以输入0分或负分为结束。规定成绩在60分以下的不及格、60分以上的及格、80分以上的属于优秀。该程序统计并分别输出成绩不及格、及格、优秀的人数及总人数。算出此程序的环行复杂度。《实用软件工程(第4版)》8程序流程图《实用软件工程(第4版)》9程序图《实用软件工程(第4版)》陆惠恩编著10计算程序的环行复杂度:方法1:图中有4个线性无关的有向环:R1、R2、R3、R4。在图4.4(b)中,实线弧数为14,节点数为12。因此,环行复杂度为V(G)=14-12+2=4方法2:判定结点的个数为3,V(G)=3+1=4。方法3:有向环为R1,R2,R3,R4,

环行复杂度为4.三种计算方法的结果相同。《实用软件工程(第4版)》114.5.6因果图法1.因果图法测试用例设计步骤2.因果图法基本符号《实用软件工程(第4版)》123.因果图约束符号【例4.4】用因果图法设计测试用例某规格说明规定:输入的第一列字符必须是A或B,第二列字符必须是一个数字。第一、二列都满足条件时执行操作H;如果第一列字符不正确,则给出信息L;如果第二列字符不正确,则给出信息R。根据上述要求画出因果图,并设计测试用例。例4.4的因果图例4.4的判定表《实用软件工程(第4版)》134.6软件测试原则和策略

4.6.1软件测试原则

4.6.2.实用测试策略

(1)用等价类划分法设计测试方案。(2)使用边界值分析方法,既测试输入数据的边界情况又包括输出数据的边界情况。(3)如果含有输入条件的组合情况,一开始就用因果图法。(4)必要时用错误推断法补充测试方案。(5)用逻辑覆盖法检查现有测试方案,若没有达到逻辑覆盖标准,再补充一些测试用例。《实用软件工程(第4版)》陆惠恩主著144.7软件调试、验证与确认

4.7.1软件调试软件调试也称纠错。首先进行软件测试,第二步是纠错4.7.2程序正确性验证(软件验证)是确定软件开发周期中的一个给定阶段的产品是否达到需求的过程。4.7.3软件确认软件确认的方法:

1.系统功能和性能满足需求说明书中的全部要求,得到用户认可。2.完成测试计划中的所有要求,并书写测试分析报告和开发总结。3.按用户手册和操作手册进行软件实际运行。4.8软件测试文档1.软件测试计划2.测试说明文件测试设计说明测试用例说明测试规程说明3.软件测试分析报告

《实用软件工程(第4版)》15第4章小结

优先选用高级程序设计语言。结构化程序设计将顺序、选择、重复三种基本控制结构进行组合和嵌套。软件设计风格直接影响软件的质量,软件的可维护性和可移植性。软件编码阶段应进行静态分析和模块测试。软件测试是由人工或计算机,执行或评价系统过程,验证是否满足需求。测试的根本任务是发现软件中的错误。测试的早期用白盒法,后期用黑盒法。设计测试方案要选用尽可能少的高效测试数据,尽可能多地发现错误。1.边界值分析方法,包括输入数据和输出数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论