《高级软件工程练习题.docx》由会员分享,可在线阅读,更多相关《高级软件工程练习题.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 软件工程练习题 19.1 用自己的话,描述为什么在面向对象系统中,类是最小的合理测试单元。 答:在面向对象软件中,单元的概念发生了变化,不再是传统软件单元测试中关注的算法细节和流经模块接口数据,而是测试由封装在类中的操作和类的状态行为驱动。最小的可测试单元是封装了的类,一个类包含了不同的操作,而一个操作也是有不同的类组成的,传统的单元测试已经不再能满足面向对象软件的特点了,而以类作为最小的测试单元更加合理。19.8 运用随机测试、划分方法、多类测试及19.5,19.6节所描述的银行应用的行为模型导出的测试,在另外生成4个测试。答:随机测试: 测试用例r1:open-
2、setup-deposit-summarize-withdraw-close 划分方法: 测试用例r2:open-setup-deposit-creditLimit -withdraw-close 多类测试: 测试用例r3:verifyAcct-verifyPIN-verifyPolicy-depositePeq 从行为模型导出的测试 测试用例r4:open-setupAccnt-deposit(initial)-withDraw-deposit-credit-accntInfo - withdrawal(finial)-close20.13导航语法测试与导航语义测试的区别是什么? 导航语法测
3、试:确保允许WebApp用户经由WebApp游历的机制都是功能性的。对导航功能进行测试,以确保每个导航都执行了预计的功能。 导航语义测试:确认每个导航语义单元(MSU)都能被合适的用户类获得。“一组信息和相关的导航结构,在完成相关的用户需求的子集时,这些导航结构会相互协作”。每个NSU有一系列连接导航节点的导航路径定义。作为一个整体,每个NSU允许用户获得特殊的需求,这种特殊的需求是针对某类用户,有一个或多个用例定义的。导航测试应检查每个NSU,以确保能够获得这些需求。20.17为使其成功,CornerP已经实现了一个特殊的服务,单独处理处方的重新填写。平均情况下,1000个并发用户每两分钟提
4、交一次重填请求,WebApp下载500B的数据块来响应。此服务需要具有的吞吐量是多少Mb/s? 答: 吞吐量P=N*T*D =(1000*0.5*500B)/60 =4167B/s =0.033Mb/s20.18负载测试与压力测试之间的区别是什么?答:压力测试主要是为了发现在一(任意)定条件下软件系统性能的变化情况,通过改变应用程序的输入以对应用程序施加越来越大的负载(并发,循环操作,多用户)并测量在这些不同的输入时性能的改变,也就是通常说的概念:压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。其实这种测试也可以称为负载测试,但是负载测试通常描述一种特定类型的压力测试
5、增加用户数量以对应用程序进行压力测试。比如实际中我们说从比较小的负载开始,逐渐增加模拟用户的数量, 直到应用程序响应时间超时,就是说的负载测试。 压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力,它包括两种情况: (1)稳定性压力测试:在选定的压力值下,长时间持续运行。通过这类压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等; (2)破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,
6、但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来; 负载测试的目标是测试在一定负载情况下系统性能(不关注稳定性,也就是说不关注长时间运行,只是得到不同负载下相关性能指标即可);实际中我们常从比较小的负载开始,逐渐增加模拟用户的数量(增加负载), 观察不同负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不同负载情况下的性能指标。 负载测试与压力测试的最主要区别:(1)负载测试在于确定最终满足系统指标的前提下,系统所能承受的最大负载测试。压力测试的目标则在确定什么条件下系统性能处于失效状态 (2) 压力
7、测试主要是为了发现在一(任意)定条件下软件系统性能的变化情况,通过改变应用程序的输入以对应用程序施加越来越大的负载(并发,循环操作,多用户)并测量在这些不同的输入时性能的改变,也就是通常说的概念:压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在. 负载测试通常描述一种特定类型的压力测试增加用户数量以对应用程序进行压力测试。比如实际中我们说从比较小的负载开始,逐渐增加模拟用户的数量, 直到应用程序响应时间超时。22.6研究某现有的SCM工具,然后大概描述它是如何实现版本控制和配置对象控制的。 答:版本控制:SCM工具记录项目和文件的修改轨迹,跟踪修改信息,使软件开发工作以
8、基线渐进方式完成,从而避免了软件开发不受控制的局面,使开发状态变得有序。SCM工具可以对同一文件的不同版本进行差异比较,可以恢复个别文件或整个项目的早期版本,使用户方便地得到升级和维护必需的程序和文档。SCM工具内部对版本的标识,采用了版本号方式,但对用户提供了多种途径来标识版本,被广泛应用的有版本号、标签和时间戳。多样灵活的标识手段,为用户提供了方便。配置对象控制:以Webapp为例,Webapp包括很多配置对象:内容对象、功能构件和接口对象。可以按任何方式来标识Webapp对象,只要适用于组织就可以。但是,为了维护不同平台之间的兼容性,建议采用下面的约定:文件名长度应该不超过32个字符,避
9、免使用大小写昏黄的或全部大写的名称,也应避免使用下划线。另外,配置对象内的URL地址应该使用相对路径。22.8研究某现有的SCM工具,并描述它实现版本控制的方法。此外,阅读2-3篇有关SCM的文章,并描述用于版本控制的不同数据结构和引用机制。 答:SCM用如下方式实现版本控制:SCM工具记录项目和文件的修改轨迹,跟踪修改信息,使软件开发工作以基线渐进方式完成,从而避免了软件开发不受控制的局面,使开发状态变得有序。SCM工具可以对同一文件的不同版本进行差异比较,可以恢复个别文件或整个项目的早期版本,使用户方便地得到升级和维护必需的程序和文档。SCM工具内部对版本的标识,采用了版本号方式,但对用户
10、提供了多种途径来标识版本,被广泛应用的有版本号、标签和时间戳。多样灵活的标识手段,为用户提供了方便。 数据结构和引用机制:文件版本的组织体现在版本树结构中,每个文件都可以通过checkout-edit-checkin的命令形成多个版本,还可以包含多层分支和子分支。ClearCase可以对目录和子目录进行版本控制,允许开发者对其数据的组织发展过程进行追踪。目录版本对一些改变进行控制,如建立一个新文件、修改文件名、建立新的子目录或在目录间移动文件等。同时也支持对目录自动进行比较和归并的操作。(参考文献:曹洪岚 “浅谈软件配置管理” 中国会议 2009.10.1 赵文杰 “软件配置管理理论与实践” 现代计算机(专业版)2010.12.25 )22.12什么是内容管理?通过Web去研究内容管理工具的特性,并给出简要的总结。答:在某种意义上,内容管理和配置管理是相关的,因为内容管理系统确定了如何获取现有内容、如何按照能够提交给最终用户的方式构造现有内容、然后在客户端环境下显示这些内容的过程。内容管理系统在创建动态Webapp的时候最常用。动态Webapp能够“动态的”创建Web页面,由用户向Webapp请求特定信息,Webapp查询数据库并形成相应信息,然后提交给用户。专心-专注-专业