- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尽管软件质量保证是贯穿软件开发全过程的活动,但最关键的步骤是软件测试,软件测试是对软件规格说明、软件设计和编码的最后复审,目的是在软件产品交付之前尽可能发现软件中潜伏的错误。测试(Testing)是软件开发时期的最后一个阶段,也是软件质量保证中至关重要的一个环节。 大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他步骤总成本的3~5倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。 测试的原则:(1)测试除了发现软件故障,还要检查软件是否满足了用户的需求。从用户的角度看,用户需求没有满足是最大的错误。(2)应该尽早准备测试计划,一般来说做完详细设计,就应该准备测试计划。(3)应该用不同的程序员进行测试。程序编写者只能算程序的调试者,程序员调试程序应看作编码的一部分,而不是真正的测试。(4)相信大部分软件错误集中在少数程序模块中,特别是那些难以理解的模块。(5)穷举测试是不可能的,因此在准备测试计划时要很好地设计测试用例。(6)严格执行测试计划,排除测试的随意性。(7)应当对每一个测试结果做全面检查。(8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。 测试用例和测试场景将根据这两种测试方法的特性制定。黑盒测试完全不考虑程序的内部结构和处理过程,测试仅在程序界面上进行。设计测试用例旨在说明:软件的功能是否可操作;程序能否适当地接收输入数据并产生正确的输出结果;在可能的场景中事件驱动的效果是否尽如人意;能否保持外部信息如数据文件的完整性。 9.1 OOA和OOD模型的正确性 9.2 OOA和OOD的测试 9.3 OO软件的测试案例设计的影响 9.3.1 OO概念的测试用例设计的含义 9.3.2 传统测试案例设计方法的可用性 9.3.3 基于故障的测试 9.4 在类级别可用的测试方法 9.4.1 对OO类的测试 9.4.2 系统测试 9.1 OOA和OOD模型的正确性 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间也称为问题域,与实现解法的解空间也称为求解域在结构上尽可能一致。 客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的。把客观世界中的实体抽象为问题域中的对象(object)。因为所要解决的问题具有特殊性,因此,对象是不固定的。一个雇员可以作为一个对象,一家公司也可以作为一个对象,到底应该把什么抽象为对象,由所要解决的问题决定。 从本质上说,用计算机解决客观世界的问题,是借助于某种程序设计语言的规定,对计算机中的实体施加某种处理,并用处理结果去映射解。把计算机中的实体称为解空间对象。显然,解空间对象取决于所使用的程序设计语言。例如,汇编语言提供的对象是存储单元;面向过程的高级语言提供的对象,是各种预定义类型的变量、数组、记录和文件等等。一旦提供了某种解空间对象,就隐含规定了允许对该类对象施加的操作。 面向对象方法学所提供的“对象”概念,是让软件开发者自己定义或选取解空间对象,然后把软件系统作为一系列离散的解空间对象的集合。应该使这些解空间对象与问题空间对象尽可能一致。这些解空间对象彼此间通过发送消息而相互作用,从而得出问题的解。也就是说,面向对象方法是一种新的思维方法,它是把程序看作是相互协作而又彼此独立的对象的集合。每个对象就像一个微型程序,有自己的数据、操作、功能和目的。这样做就向着减少语义断层的方向迈了一大步,在许多系统中解空间对象都可以直接模拟问题空间的对象,解空间与问题空间的结构十分一致,因此,这样的程序易于理解和维护。 1. 与人类习惯的思维方法一致 传统的程序设计技术是面向过程的设计方法,这种方法以算法为核心,把数据和过程作为相互独立的部分,数据代表问题空间中的客体,程序代码则用于处理这些数据。 2. 稳定性好 传统的软件开发方法以算法为核心,开发过程基于功能分析和功能分解。用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。 3. 可重用性好 用已有的零部件装配新的产品,是典型的重用技术,例如,可以用已有的预制件建筑一幢结构和外形都不同于从前的新大楼。重用是提高生产率的最主要的方法。 传统的软件重用技术是利用标准函数库,也就是试图用标准函数库中的函数作为“预制件”来建造新的软件系统。 4. 较易开发大型软件产品 在开发大型软件产品时,组织开发人员的方法不恰当往往是出现问题的主要原因。用面向对象方法学开发软件时,构成软件系统
原创力文档


文档评论(0)