- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《15 软件安全测试》.ppt
第十五章 软件安全测试 质量保证活动是软件开发过程中重要的环节,而软件测试是软件质量保证的关键手段。 实际上,软件测试的工作量,在软件开发过程中占据较大的一部分,测试做得好,会大大降低维护的成本。测试的主要目标是找到软件中存在的错误,并加以排除,最终把一个高质量的软件系统交给用户使用。 随着应用的广泛,软件的安全性也就越来越成为软件的关键质量指标,因此,针对安全问题的测试又显得更为重要。 本章主要针对安全测试和评审问题进行概述,首先讲解了软件测试的概念、目的、意义和方法,然后阐述了针对安全问题的软件测试,并对这些测试方法进行了一些分类。 15.1 软件测试概述 15.1.1 软件测试的概念 IEEE对软件测试给出的定义是:“使用人工或者自动手段来运行或测定某个系统,其目的在于检测该系统是否满足规定的需求,或者弄清楚预期的结果与实际结果的差别。”,因此,软件测试,实际上是为了发现软件中的错误,并在交付用户使用前解决这些错误,这几乎成为一个公认的概念。 这里的“错误”,实际上是一个广义的概念,初学者往往会将其理解为“编码错误”,实际上,能够引起软件错误的因素很多,绝不仅仅是编码方面的原因,包括很广泛的内容: 软件的需求分析者曲解了用户的需求,测试时发现实现的流程和用户的叙述不一样; 软件的设计者在设计时没有考虑某些现场因素,导致软件在真实环境下测试时无法正常运行; 软件编码者粗心大意,将某些逻辑流程写错,使得程序得不到料想的结果;等等。 15.1.2 软件测试的目的和意义 由此可见,软件测试的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。 Grenford J. Myers曾对软件测试的目的提出过以下观点: 测试是为了发现程序中的错误而执行程序的过程; 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; 成功的测试是发现了至今为止尚未发现的错误的测试。 不过,我们并不能说,软件测试效果的评价指标就是查出错误的个数,认为查不出错误的测试就是没有价值的测试,这是片面的,因为: 没有发现错误,或者发现错误较少的测试,也是有价值的,可能说明软件质量较高,因此,测试同时也是评定软件质量的一种标准; 发现很多错误的测试,不一定是成功的,如果软件本身质量较低,那么不能通过发现错误的个数越多,来得出软件剩下的错误越少的结论;当前发现的错误越多,可能剩下的错误也很多。 从另一角度讲,通过软件测试找到错误,我们除了能够解决错误外,还可以通过分析错误产生的原因和错误的发生趋势,帮助软件的生产者发现当前软件开发过程中的缺陷,以便及时改进;另外,通过对错误进行分析,也可以帮助测试人员设计出更加有针对性的测试方法,提高测试工作的效率和效果。 软件测试的意义主要体现在: 减少软件中错误:通过软件测试可以发现软件中存在的错误,通过完全地修改这些错误,可以减少软件中错误,提高软件的可靠性; 评估软件的综合性能:通过软件测试,对发现的错误进行分析和统计,可以评估软件综合性能。当然,即使软件测试没有发现任何错误,也可以作为评估软件综合性能的手段;等等。 15.1.3 软件测试方法 从实际项目的测试工作划分,软件测试工作可以划分为以下几个过程: 单元测试:对用软件的每一个程序单元进行测试,检查各个程序模块的正确性;并配合适当的代码审查; 集成测试:把已测试过的模块组装起来,以便发现与接口有关的问题,如:数据模块间传递、模块组合性能、模块调用性能等; 确认测试:检查软件是否满足了需求规格说明书中的各种需求,以及软件配置是否完全、正确;该测试又叫做验收测试,目的是验证软件的有效性; 系统测试:把已经通过验收的软件,放入实际运行环境中运行;用户记录在测试过程中遇到的一切问题,定期报告给开发者。 这几个测试过程,从软件开发生命周期的一开始就应该执行,因此,测试在软件工程中的地位如图所示: 软件测试的方法,可以有很多种分类,第一种分类是静态测试方法和动态测试方法。 1:静态测试方法。 该方法中,不实际运行被测试的软件,对软件进行分析、检查和审阅,来寻找逻辑错误。主要工作包括: 对需求规格说明书、软件设计说明书、源程序做检查和审阅; 检查以上工作是否符合标准和规范; 通过结构分析、流图分析等方法,指出软件缺陷; 对各种文档进行测试;等等。 静态测试是软件开发中十分有效的质量控制方法之一。该方法特别是在软件开发生命周期的早期和中期阶段非常有效。此时,由于程序还没有编出来,可以直接运行的代码尚未产生,此时又必须对设计的一些思路进行检查或者审核,因为初期的工作的质量可能直接关系到软件开发的成本,因此,在这些阶段,可以大量采用静态测试方法。 静态测试主要靠人工来完成,不过,近些年来,也开发了不少
您可能关注的文档
- 《041-福建公司渠道管理类案例-运用经营分析系统》.ppt
- 《05 信息系统安全第五讲 身份认证》.pdf
- 《05.华中科技大学图书馆读书会案例(杨涛)》.pdf
- 《05MR602 城市道路——安全防护设施》.pdf
- 《05MR602城市道路安全防护设施》.pdf
- 《06SX503-安全防范系统设计与安装》.pdf
- 《07FJ03 防空地下室防护设备选用》》.pdf
- 《07工程安全和功能检验建筑与结构》.doc
- 《080725_产品白皮书V1.0_天珣内网安全风险管理与审计系统V6.6.9.0_孙阳波》.doc
- 《08。按键识别方法之一》.doc
- 部编版八年级上册历史复习第一单元中国开始沦为半殖民地半封建社会训练题.docx
- 2024_2025学年高中历史第三单元资产阶级政治家第10课革命的先行者孙中山2教学教案岳麓版选修4.doc
- 2025届高考历史统考一轮复习课后限时集训4专制集权的不断加强含解析岳麓版.doc
- 2025届高考数学试卷专项练习12三角函数与解三角形含解析.doc
- 2025届高考生物一轮复习专题重组卷第一部分单元检测卷十生物技术实践含解析.doc
- 2025届高考政治一轮复习素养测评二十六文化创新含解析.doc
- 2024_2025学年新教材高中政治第二单元人民当家作主6.2民族区域自治制度教案部编版必修3.docx
- 2024_2025学年新教材高中地理第四章区际联系与区域协调发展4国际合作教案新人教版选择性必修2.doc
- 2025届高考数学第二次模拟试卷三理含解析.doc
- 2025版高考英语一轮复习必修3Module6OldandNew学案含解析外研版1.doc
文档评论(0)