- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程课程练习题目和答案第6次作业
面向对象测试作业
请对比结构化测试方法和面向对象测试方法,讨论他们之间的相同点和不同点。
答:
(1)就测试目的而言,面向对象软件开发中测试的目标与以往传统的测试目标是完全相同的,都是为了确保软件能够正确地执行预定的功能。
(2) 测试过程都包括了测试计划、测试用例设计、测试运行、测试结果分析。面向对象的测试也可以分为单元测试、组装测试、系统测试和用户验收测试四个阶段,系统测试和验收测试是对系统的功能和性能进行整体测试的过程,不涉及软件的具体实现方法,因而这两个阶段的测试与系统使用的开发方法无关,可以采用传统的测试方法进行。
(3)涉及到系统开发方法的测试集中在单元测试和组装测试这两个阶段,以往采用的是过程性的测试方法,程序单元即为功能单元,系统由一系列相关联的程序单元构成,可以认为程序具有单一人口和单一出口,程序之间的关系是调用关系。
(4)而面向对象的系统由一些相互关联的对象构成,对象之间靠消息传递信息,对象由数据和操作组成,并且面向对象的方法具有更高程度的抽象,虽然系统是由对象构成,但在程序中的基本单元却是“类”,它是对象的抽象描述,对象是类的实例,另外类还具有继承和多态等结构。这些程序结构和实现机制的差别造成了测试方法上的差异。
(5)在传统的软件测试中,测试过程要求与具体的应用环境尽量相结合,与应用环境结合越紧密,其测试的结果越可靠。但在面向对象的软件测试中,作为基本程序单元的类是一个可以应用于许多不同应用软件中的独立部件,其复用的程度高,要求不需了解任何实现细节就能复用,因此对类的测试要求尽量与具体应用环境相独立,与应用环境越独立,其测试的结果越可靠。
面向对象测试的特点是什么?
答:
与传统的程序相比较,面向对象程序主要具有封装性、继承性、多态性和动态绑定等几大特性。这给面向对象测试带来了一些新的特定,增加了测试和调试的难度。
(1)封装性
封装是类的重要特性之一。它限制了对象属性对外的可见性和外界对它们的使用权限,在一定程度上简化了类的使用,避免了不合理的操作并能有效地阻止错误的扩散。但正是由于封装,使得类的一些属性和状态对外部来说是不可见的,这就给测试用例的生成带来了一定的困难。为了能够观察到这些属性和状态,以确定程序执行的结果是否正确,往往要在类定义中增添一些专门的函数用于测试。
(2)继承性
继承给程序开发人员带来了很多方便,然而对于测试人员来说,问题却并未简化。对父类进行了充分的测试未必能保证子类继承的特征的正确性,因为父类和子类的运行环境是不同的。同时,多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误。
(3)多态性和动态绑定
多态性和动态绑定是面向对象方法的关键特性之一。多态的概念是指同一消息可以根据发送消息对象的不同而采用多种不同的行为方式。程序运行时相当于执行了一个多路分支的switch()语句,首先判定传递过来的实参的类型,然后再确定究竟执行哪一个类中的方法。而在测试时,就必须为上面的每一个分支生成测试用例。由此可见,多态性和动态绑定为程序的执行带来了不确定性,并且增加了系统运行中可能的执行路径,加大了测试用例选取的难度和数量。
面向对象开发是渐进的迭代过程,并且从分析、设计到实现使用相同的语义结构。
如果前面定义了一系列属性或操作在后面的设计阶段被检测出是无关的,却被传到了设计和编码阶段去,这将花费大量的精力来实现一个不必要的属性或操作。因而面向对象的测试必须扩大到分析与设计阶段。
但是分析与设计阶段不能进行传统意义上的测试,它们是不能被执行的,因而还需要有专门的测试方法。
面向对象测试的步骤是什么?
答:(1)、制定测试计划
包括描述测试策略、估计测试工作所需的人力以及系统资源、制定测试工作进度。
(2)、设计测试用例
类测试用例设计
集成测试用例设计(用于验证被组装成构造的构件之间能够正常交互)
系统测试用例设计(用于测试系统功能整体上是否满足要求,在不同条件下的用例组合运行是否有效)
回归测试用例设计(迭代)
(3)、实现测试
(4)、执行集成测试
(5)、执行系统测试
(6)、测试评估
结合作业五中你所设计的“网上图书销售系统”,给出一个面向对象测试用例,可以是某个小流程的测试用例,也可以是整个系统的测试用例。
答:
一、类测试用例:
(1)检查对属性的操作,例如获取会员的信息、设置会员的信息
(2)检查对数据库的操作,例如保存会员信息、查询密码是否正确
二、集成测试用例
根据用例的交互图,从中选择感兴趣的场景,即角色、输入信息、输出信息、系统初始状态的组合。
例如,顾客下订单这个过程:
角色:顾客
输入
文档评论(0)