欢迎来到天天文库
浏览记录
ID:39724399
大小:1.67 MB
页数:76页
时间:2019-07-10
《《软件工程的测试》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程第六章软件项目的测试软件测试基本概念1软件测试计划与测试分析报告5软件测试的方法2软件测试的步骤3程序调试46.1软件测试基本概念测试的目的是确保软件的质量,尽量找出软件错误并加以纠正,而不是证明软件没有错。1963年美国飞往火星的火箭爆炸,原因是FORTRAN程序:DO5I=1,3误写为:DO5I=1.3损失1000万美元。1967年苏联“联盟一号”宇宙飞船返回时因忽略一个小数点,在进入大气层时打不开降落伞而烧毁。6.1软件测试基本概念一、为什么要进行软件测试软件中存在错误是不可避免的软件是一种高密集度的智力产品客观系统的复杂性人主观认识的局限性信息
2、通信不一致协调管理不完善6.1软件测试基本概念二、测试的概念1、软件测试软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动(包括代码执行活动与人工活动)。测试的目的是找出软件设计开发全周期中各个阶段的错误,以便分析错误的性质与位置而加以纠正。纠正过程可能涉及到改正或者重新设计相关的文档活动。找错活动称为测试,纠错活动称为调试。6.1软件测试基本概念2、程序测试程序测试是早已流行的概念。它是对编码阶段的语法错、语义错、运行错进行查找的编码执行活动。找出编码中错误的代码执行活动称程序测试。纠正编码中的错误的执行活动称程序调试。通过查找编码错与纠正编码错来
3、保证算法的正确实现。软件测试与调试覆盖软件生存周期的整个阶段,而程序测试与调试则仅限于编码阶段,软件测试中的单元测试与程序测试十分相似,不同在于,单元测试还要测试模块间的接口,并要设计与接口相关的模块。6.1软件测试基本概念3、软件确认与程序确认软件确认是广义上的软件测试,它是企图证明程序软件在给定的外部环境中的逻辑正确性的一系列活动和过程,指需求说明书的确认,程序的确认。程序确认又分成静态确认与动态确认。静态确认包括,正确性证明,人工分析,静态分析。动态分析包括动态确认与动态测试。6.1软件测试基本概念①静态分析是不执行程序本身,分析程序正文可能导致错误的异
4、常情况。可以人工的进行分析,也可以用测试工具静态分析程序来进行,被测试程序的正文做为输入,经静态分析程序分析得出分析结果。静态分析包括结构检查,流图分析,符号执行。②动态分析是执行被测程序,从执行结果分析程序可能出现的错误。可以人工设计程序测试用例,也可以由测试工具动态分析程序来做检测与分析。动态测试包括功能测试和结构测试。动态测试的内容包括:单元测试,也称逻辑测试,模块测试,功能测试。组装测试也称集成测试,综合测试,或结构测试,子系统测试。系统测试是软硬件或子系统的组装测试。6.1软件测试基本概念4、各种软件错误的出现比例①功能错,占整个软件错误27%,是需
5、求分析设计不完整而引起的。②系统错,占整个软件错误16%,是总体设计错误而引起③数据错,占整个软件错误10%,由编码错误引起的④编码错,占整个软件错误4%,程序员编码错误引起的⑤其它错,占整个软件错误16%,文档错和硬件错所引起6.1软件测试基本概念三、软件测试的目标测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试6.1软件测试基本概念四、软件测试的原则1、测试前要认定被测试软件有错,不要认为软件设有错。2、要预先确定被测试软件的测试结果。3、要尽量避免测试自己
6、编写的程序。4、测试要兼顾合理输入与不合理输入数据。5、测试要以软件需求规格说明书为标准。6、测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法。7、充分注意测试中的群集现象:测试中发现的80%的错误可能来自于20%的程序代码6.1软件测试基本概念四、软件测试的原则8、严格执行测试计划,尽量避免测试的随意性,从工程的角度理解软件测试,它是有组织、有计划、有步骤的活动9、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便10、应当把“尽早地和不断地进行软件测试”作为软件测试人的座右铭6.2软件测试的方法6.2.1软
7、件测试方法的分类软件测试方法分为两类:静态分析、动态测试。一、静态分析技术不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。二、动态测试技术当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。6.2软件测试的方法动态测试的算法有:①选取定义域中的有效值,或定义域外无效值。②对已选取值决定预期的结果。③用选取值执行程序。④观察程序行为,记录执行结果。⑤将④的结果与②的结果相比较,不吻合则程序有错。6.2软件测试的方法三、黑盒测试与白盒测试动态测
8、试既可以采用白盒法对模块进行逻辑结构的
此文档下载收益归作者所有