- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 软件测试 软件测试的概念 软件测试技术 软件测试策略 测试的管理 软件调试 软件的可靠性和可用性 3、系统测试 有如下过程: (1) 功能测试: 检查集成的系统在运行时是否满足需求中指定的功能。单元测试和集成测试的重点是构件及构件间的交互。这里的测试不必知道正在执行哪个构件,但必须知道系统是作什么的。与功能相关的活动集合称为线程( thread),因此这里的功能测试有时称为线程测试。 功能测试采用黑盒技术,测试用例从需求文档中产生。如,对一个文字处理系统的测试可以检查文档创建、文档修改、文档删除等功能。有时可分析需求的语义,用输入与输出之间或输入与转换之间的逻辑关系建立判定表来实现测试。 (2) 性能测试: 针对的是非功能性需求,即测试的类型由非功能性需求的定义来决定 。 ? 强度测试(stress test)评价系统在短时间内到达其极限时的表现。 ? 容量测试(volume test) 检查系统对大量数据的处理。 ? 恢复测试(environmental test) 检查系统的容错(出错、故障、掉电等处理)能力,能否在指定时间内修正错误并重新启动系统。 ? 安全测试(security test) 测试系统的保护措施及数据与服务的完整性、保密性等。 还有许多方面的测试,如对用户的响应时间、执行某个功能的运行时间的计时测试,系统的可用性测试等。 以上是开发人员以需求规约为依据、采用黑盒技术,通过对系统及其目标的理解而进行的测试。开发人员的理解需要用户的认可,因此还要进行以下用户确认的测试。 (1)验收测试: 也称确认测试。指验收软件的有效性,使用户确信他们需要的就是这个系统。有时在实际环境中进行,有时在开发环境中进行。除了检查系统功能性能外,还要进行软件配置审查,包括文档的完整性、一致性、准确性的检查,是否具有维护阶段必需的细节。 (2)安装测试:在实际环境中进行的测试。测试系统的完备性及可能被现场条件影响的那些功能或非功能性特性。 还有2种系统测试策略: (1)Alpha测试:软件交付用户后,用户在开发环境中由开发人员“指导”下进行的测试。 (2)Beta测试:用户在目标环境(实际使用环境)下进行的测试。 如微软的 “Windows XP” Beta 2测试版由用户免费试用,半年后测试版作废。 4、测试的管理 (1)测试文档 为了控制测试的复杂性并提高测试效率,需建立测试文档: ? 测试计划 :目标,文档引用,系统输入/出及主要处理,主要测试,进度,所需材料等。 ? 测试说明:测试项标识,满足的需求,方法条件,测试用例,测试步骤等。 ? 问题报告和分析报告:记录每一个测试事件,给出测试结果的完整信息,分析实际测试结果和预期结果的差异及影响,并确定问题严重等级。 见下图: (2)职责分配 单元测试可由开发人员自己测试。一个子系统开发小组同时可以作为其它子系统小组开发的构件的测试小组。 体系结构设计人员可以作为集成测试小组,同一个测试文档可以用于测试小组间的交流。 对于后期的测试(如功能测试和性能测试)或者是质量需求极高的软件应由另一个独立的控制质量小组负责。设计人员将模型、源代码和测试用例提供给该小组,由他们进行测试。他们将问题报告和分析报告发送给设计人员,以便对系统作必要的修改。修改后还应进行回归测试,确保没有引入新的错误。 (3)何时停止测试 “时间不够、资金不够的时候,就完成了测试。” Musa提出了一个基于统计标准的答复:“在按照概率的方法定义的环境中,1000个CPU小时内不出错的操作的概率大于0.995,就有95%的信心说我们已经进行了足够的测试。” 软件可靠性理论建立了一种基于执行时间的函数的软件故障(在测试过程中发现的错误)模型: f(t)=(1/p)ln(l0pt+1) (参考教材1p349) 其中f(t)为软件在一定的测试时间t后可能会发生故障的预期累计数目,l0为测试开始时的初始故障密度(单位时间内的故障数),p为错误被发现和修正中的故障密度的呈递减的指数。 瞬时的故障密度l(t)可以使用f(t)的导数得出
文档评论(0)