软件测试-静态测试

上传人:自*** 文档编号:48497872 上传时间:2018-07-16 格式:PPT 页数:16 大小:331.54KB
返回 下载 相关 举报
软件测试-静态测试_第1页
第1页 / 共16页
软件测试-静态测试_第2页
第2页 / 共16页
软件测试-静态测试_第3页
第3页 / 共16页
软件测试-静态测试_第4页
第4页 / 共16页
软件测试-静态测试_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件测试-静态测试》由会员分享,可在线阅读,更多相关《软件测试-静态测试(16页珍藏版)》请在金锄头文库上搜索。

1、LOGO指导教师:简勇软件测试方法技术的研究 静态测试n班级:软件117n学生:居富山n学号:1108203719LOGO论文的主要工作uu介绍软件测试以及静态测试方法研究背景和意义,以介绍软件测试以及静态测试方法研究背景和意义,以 及它们在国内的前景和未来及它们在国内的前景和未来 uu对软件测试进行概述,什么是软件测试?它的目的和对软件测试进行概述,什么是软件测试?它的目的和 原则是什么?用什么工具去测?原则是什么?用什么工具去测? uu重点介绍静态测试,它的简介、学术解释、编码规范重点介绍静态测试,它的简介、学术解释、编码规范 、质量度量、错误检测,以及它的分析工具、测试要点、质量度量、错

2、误检测,以及它的分析工具、测试要点 和动态测试之间的区别和动态测试之间的区别 uu对静态测试进行总结,对它的未来进行展望对静态测试进行总结,对它的未来进行展望 uu最后,感谢那些在我写论文过程中支持过我和帮助过最后,感谢那些在我写论文过程中支持过我和帮助过 我的人们我的人们本课题研究的是软件测试方法技术的研究静态测试。 随着软件技术的日益发展,软件系统的复杂性和规模性也在 不断的扩大,软件的安全性和质量的保证成为了所有公司和个人 关注的地方,软件中存在的各种问题也逐渐成为了我国制约软件 产业发展的主要因素。一些小的软件开发公司,甚至连一个专门 的软件测试人员都没有。可想而知,我国当今的软件产业

3、是多么 的薄弱,严重的制约了我国软件产业的发展。没有很好地软件测 试工作为产品的开发把关,怎么会有完美的、符合客户要求的产 品呈现。所以软件测试在软件开发中的地位日渐提高,软件测试 影响也越来越大。第一章:课题的背景及意义第二章:软件测试概述软件测试的定义和实质GrenfordJ.Myers曾对软件测试的目的提出过以下观点: (1)测试是为了发现程序中的错误而执行程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。 然而,这种观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能. 但是只从字面意思理解,可

4、能会产生误导,认为发现错误是软件测试的唯一目的, 查找不出错误的测试就是没有价值的测试,实际上并非如此! (1)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势, 可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进; (2)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有 效性; (3)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法软件测试的定义 :软件测试主要工作内容是验证和确认,下面分别给出其概念: 验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件 做了你所期望的事情。 1.确定软件生存周期中的一个给定阶段的

5、产品是否达到前阶段确立的需 求的过程; 2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规 定的过程; 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务 或文件等是否和规定的需求相一致进行判断和提出报告。 确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软 件的逻辑正确性。即保证软件以正确的方式来做了这个事件软件测试的定义第三章 静态测试静态测试简介1、静态测试是指无须执行被测代码,而是借助专用的软件测试工具评审 软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准, 借以发现编写的程序的不足之处,减少错误出现的概率; 2、静态测试是指测试不运

6、行的部分:只是检查和审阅,如规范测试、软 件模型测试、文档测试等。动态测试是通常意义上的测试,也就是运行 和使用软件; 3、通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程 序测试软件称为动态测试。在动态测试中,通常使用白盒测试和黑盒测 试从不同的角度设计测试用例,查找软件代码中的错误; 4、静态测试是指不用执行程序的测试,它主要采取方案代码走查、技 术评审、代码审查的方法对软件产品进行测试。静态测试学术简介“静态测试”在学术文献中的解释: 1、静态测试是指无须执行被测代码,而是借助专用的软件测试工具 评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编 程标准,借以发现编写

7、的程序的不足之处,减少错误出现的概率; 2、静态测试是指测试不运行的部分:只是检查和审阅,如规范测试 、软件模型测试、文档测试等。动态测试是通常意义上的测试,也 就是运行和使用软件; 3、通过评审文档、阅读代码等方式测试软件称为静态测试,通过运 行程序测试软件称为动态测试。在动态测试中,通常使用白盒测试 和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误; 4、静态测试是指不用执行程序的测试,它主要采取方案代码走查 、技术评审、代码审查的方法对软件产品进行测试。静态测试编码规范一个项目或者一个企业,如果要下决心实施软件质量,实施软件工程,第 一步要做的就是软件编码规范。编码规范是程序编写

8、过程中必须遵循的规则, 一般会详细规定代码的语法规则、语法格式等。企业实施怎样的编码规范,取 决于很多个因素:l编程采用的语言,例如C、C+、JAVA、ADA等。项目的规范 化程度。目前现成的C/C+编码规范有很多,例如前几年网络上比较流行的 华为公司编程规范、摩托罗拉C+编程规范等。但项目不能完全照搬,应 该根据自己所处的阶段,定制属于自己的规范,否则的话,会让程序员无所适 从,严重打击程序员的积极性。 有了统一的规范后,测试工程师或者程序员自身,就可以实施编码规范检 查了。要真正把编码规范贯彻下去,单单靠测试员程序员的热情,很难坚持下 去,所以笔者建议借助于一些专业的工具来实施。在C/C+

9、语言的编程规则检 查方面,比较专业的工具有C+Test、LINT工具、KlocWork(Insight) /QAC/QAC+等,这些工具通常可以和比较流行的开发工具集成在一起,程序员 在编码过程中,在编译代码的同时即同时完成了编程规则的检查。静态测试质量度量有了严格的编程规范,只能算是万里长征迈出了第一步。要提高软件的 可重用性,以及软件的可维护性,还需要进一步的努力,即静态质量度量。 静态质量度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几个 方面来衡量,即功能性(Functionality)、可靠性(Reliability)、可用性 (Usability)、有效性(Effi

10、ciency)、可维护性(Maintainability)、可移 植性(Portability)。以ISO9126质量模型为基础,可以构造质量度量模型。 具体到静态测试,这里主要关注的是可维护性。 要衡量软件的可维护性,可 以从四个方面去度量,即可分析性(Analyzability)、可改变性( Changeability)、稳定性(Stability)以及可测试性(Testability)。具 体到软件的可测试性怎么去衡量。又可以从三个度量元去考虑,例如圈复杂 度、输入/输出的个数等。圈复杂度越大,说明代码中的路径越多;路径越多 ,意味着要去做测试,需要写更多的测试用例。输入/输出的个数同样

11、的道理 。在具体的实践中,专门的质量度量工具是必要的。没有工具的支持,这一 步很难只靠人工完成。在这个阶段,比较专业的工具有Testbed、Logiscope 等。静态测试错误检测在传统意义上认为,错误检测应该是动态的系统测试的范围。但在bug的 成本上分析,有以下公认的结论。 bug发现的越晚,修正的成本就越高,测试阶段修正bug的成本是编码阶段 的约4倍的关系。为了减少成本,bug被发现的越早越好。在编程阶段,静态的 分析代码就能找到代码的bug,是很多人的梦想。这个梦想在21世纪初变成了 现实。以PolySpacee、Klocwork、Coverity为代表的静态分析软件,实现了只 要静

12、态分析代码,就可以发现代码的bug,例如数组越界、除数为0、缓冲区溢 出等,虽然还不是特别完美。微软在其最新的开发工具VisualStudio2005的 teamsystemediton中集成了安全工具PREFix。PREFix原来就是著名的静态分析 工具,后被微软收购过来。从微软的倾向看发展走势,类似的静态工具未来会 成为市场的主流。静态测试缺陷成本图静态测试测试要点u挑选合适的复审员 u管理部门的参与 u注意事项 u技术复审与项目管理 u复审领导 u记录员 u规则和惯例 u规则 u用户与复审静态测试与动态测试的区别u识别缺陷的成效 静态测试的成效:最多识别软件所有缺陷中70-75%的缺陷

13、动态测试的成效:最多识别软件所有缺陷中30-35%的缺陷 u识别缺陷的成本 需求阶段识别一个重要缺陷平均花费2-3小时 设计阶段识别一个重要缺陷平均花费3-4小时 代码评审阶段识别一个重要缺陷3-5小时 动态阶段识别一个重要缺陷平均花费15-25小时 u解决缺陷的成本 需求及设计阶段消除一个重要缺陷花费5-10小时 代码评审阶段消除一个重要缺陷花费5-15小时 动态测试识别消除一个重要缺陷平均花费30-80小时第四章 结论与展望结论随着软件开发过程和开发技术的不断改进,软件测试 理论和方法也在不断完善,软件测试就是为了发现程序中 错误而执行程序的过程,测试的目的就是以最少的时间和 人力找出软件

14、中潜在的各种错误和缺陷。 本文介绍了软件测试的基础概念及静态测试。据业界 统计,60%以上的问题都是需求设计问题,理论上讲这些 问题都能够通过静态测试发现,从上面的分析也可以看出 静态测试提出的问题,其解决成本远低于动态测试发现的 问题,设计问题尽量通过静态测试发现,是测试工作的发 展方向。展望近年来国内软件测试人员的需求不断扩大,越来越多的 IT企业认识到了软件测试的重要性,越来越多的知名企业 开始不惜重金聘请优秀的软件测试人员,这些都说明了软 件测试职业的光明前景。因此,软件测试将会成为一个具 有很大发展前景的行业,软件测试大有前途,市场需要更 多具有丰富测试技术和管理经验的测试人员。这种

15、可惜的 现状与发展趋势一定会促进我国软件行业的发展。致谢本次的毕业论文设计经历了从文献综述、开题报告、论 文的写作、论文修改以及最终定稿的过程。完整的过程中 我得到了老师和同学们的指导、帮助与支持。在此请接受 我诚挚的感谢。 本文是在简勇老师的指导下完成的,非常的感谢。还有 讯飞订单班的李远康老师,对于我本次的论文也做出了很 大的帮助。在我论文的写作过程中,老师和同学们都提出 了很多建设性的意见,给了我很多的启发,在一定程度上 帮助了我。是他们给了我一个积极的环境,并且不断地督 促我,鼓励我,在我毫无思绪的时候安慰我,是我能按时 的完成这篇文章。在此,向那些帮助过我的老师和同学们 表示最诚挚的敬意和最衷心的感谢。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号