全部科目 > 系统集成项目管理工程师 >
2015年上半年 上午试卷 综合知识
第 27 题
知识点 V模型   生命周期   系统测试   信息系统项目  
关键词 生命周期模型   系统测试   信息系统   测试   生命周期  
章/节 项目的生命周期  
 
 
在一个信息系统项目的V型生命周期模型中,系统测试是针对(27)阶段做出的。
 
  A.  需求分析
 
  B.  概要设计
 
  C.  详细设计
 
  D.  编码
 
 




 
 
相关试题     V模型 

  第33题    2017年上半年  
在V模型中,(32)是对详细设计进行验证,(33)与需求分析相对应。

  第32题    2017年上半年  
在V模型中,(32)是对详细设计进行验证,(33)与需求分析相对应。

  第28题    2018年下半年  
()清楚地描述了测试各阶段和开发各阶段的对应关系。

 
知识点讲解
· V模型
· 生命周期
· 系统测试
· 信息系统项目
 
        V模型
        V模型如下图所示,左边开发过程的各开发阶段和右边测试过程的各测试阶段相互对应,形成了字母“V”的形状。
        
        V模型示意图
        V模型的价值在于它非常明确地标明了测试过程中存在的不同阶段,并且清楚地描述了这些测试阶段和各开发阶段的对应关系。
 
        生命周期
        IT服务生命周期由规划设计(Planning&Design)、部署实施(Implementing)、服务运营(Operation)、持续改进(Improvement)和监督管理(Supervision)5个阶段组成,简称“PIOIS”。
        (1)规划设计:从客户业务战略出发,以需求为中心,参照ITSS对IT服务进行全面系统的战略规划和设计,为IT服务的部署实施做好准备,以确保提供满足客户需求的IT服务。
        (2)部署实施:在规划设计基础上,依据ITSS建立管理体系、部署专用工具及服务解决方案。
        (3)服务运营:根据IT服务部署情况,依据ITSS,采用过程方法,全面管理基础设施、服务流程、人员和业务连续性,实现业务运营与IT服务运营的全面融合。
        (4)持续改进:根据IT服务运营的实际情况,定期评审IT服务满足业务运营的情况,以及IT服务本身存在的缺陷,提出改进策略和方案,并对IT服务进行重新规划设计和部署实施,以提高IT服务质量。
        (5)监督管理:本阶段主要依据ITSS对IT服务质量进行评价,并对IT服务供方的服务过程、交付结果实施监督和绩效评估。
 
        系统测试
        系统测试将软件与整个系统的硬件、外设、支持软件、数据和人员等结合起来,以需求规格说明为依据,在实际运行环境下进行测试。系统测试过程分为计划与准备、执行、返工与回归测试3个阶段,系统测试一般要完成功能测试、性能测试、恢复测试、安全测试、强度测试以及其他限制条件的测试。
        系统测试由独立测试小组在测试组长的监督下进行,测试组长主要负责保证在质量控制和监督下使用测试技术执行系统测试。系统测试过程由一个独立的测试观察员来监控测试工作。
               负载测试
               负载测试是通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
               负载测试的加载方式通常有如下几种。
               (1)一次性加载。一次性加载某个数量的用户,在预定的时间段内持续运行。例如,在早晨上班的时间访问网站或登录网站的时间非常集中,基本属于扁平负载模式。
               (2)递增加载。有规律地逐渐增加用户,每几秒增加一些新用户,交错上升。借助这种负载方式的测试,容易发现性能的拐点,即性能瓶颈。
               (3)高低突变加载。某个时间用户数量很大,突然降到很低,过一段时间,又突然加到很高,反复几次。借助这种负载方式的测试,容易发现资源释放和内存泄露等问题。
               (4)随机加载方式。由随机算法自动生成某个数量范围内变化的、动态的负载,这种方式可能是和实际情况最为接近的一种负载方式。虽然不容易模拟系统运行出现的瞬时高峰期,但可以模拟系统长时间的运行过程的状态。
               压力测试
               压力测试又称为强度测试,是在强负载(加大数据量、大量并发用户等)下的测试,用于查看应用系统在峰值使用情况下的操作行为,目的是发现系统的功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
               微软测试实践经验表明,如果软件产品通过72小时压力测试,则在72小时后出现问题的可能性微乎其微。所以,72小时成为微软产品压力测试的时间标志。
               负载测试与压力测试是两个很容易混淆的概念。负载测试是通过逐步增加系统负载,测试其变化,看最后在满足性能的情况下,系统最多能接受多大负载的测试。压力测试是在满足性能的情况下,能使系统处于失效的状态,通俗来说,就是发现在什么条件下,系统的性能会变得不可接受。
               压力测试的一般步骤如下:
               ①进行简单多任务测试。
               ②简单压力缺陷修正后,增加系统的压力直到系统崩溃。
               因此,负载压力测试的主要目的是度量应用系统的性能和扩展性。在实施并发负载过程中,通过实时性能监测来确认和查找问题,并针对所发现的问题对系统性能进行优化。负载压力测试工具能够对整个企业架构进行测试,通过这些测试,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
               可靠性测试
               软件可靠性是软件质量的一个重要标志。美国电气和电子工程师协会(IEEE)将软件可靠性定义为:系统在特定的环境下,在给定的时间内无故障地运行的概率。软件可靠性涉及软件的性能、功能、可用性、可服务性、可安装性,以及可维护性等多方面特性,是对软件在设计、生产以及在它所预定环境中具有所需功能的置信度的一个度量。
               可靠性测试一般伴随着强壮性测试,是评估软件在运行时的可靠性,通过测试确认平均无故障时间(Mean Time to Failure,MTTF)、故障发生前平均工作时间(Mean-Time-To-First-Failure,MTTFF)或因故障而停机的时间(Mean Time To Repairs,MTTR)在一年中应不超过多少时间。可靠性测试强调随机输入,并通过模拟系统实现,很难通过实际系统的运行来实现。
               安全性测试
               安全性测试是测试系统在应付非授权的内部/外部访问、非法侵入或故意的损坏时的系统防护能力,检验系统有能力使可能存在的内/外部的伤害或损害的风险限制在可接受的水平内。可靠性通常包括安全性,但是软件的可靠性不能完全取代软件的安全性。安全性还涉及到数据加密、保密和存取权限等多个方面。
               安全性测试需要设计一些测试用例试图突破系统的安全保密措施,检验系统是否有安全保密漏洞,验证系统的保护机制是否能够在实际中不受到非法的侵入。在安全测试过程中,测试者扮演成试图攻击系统的角色,尝试获取系统密码,利用能够瓦解任何防守的客户软件攻击系统;或者把系统“制服”,使别人无法访问。
               安全性测试是要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。破坏系统保护机构的主要方法有以下几种:
               (1)正面攻击或从侧面、背面攻击系统中易受损坏的那些部分。
               (2)以系统输入为突破口,利用输入的容错性进行正面攻击。
               (3)申请和占用过多的资源压垮系统,以破坏安全措施,从而进入系统。
               (4)故意使系统出错,利用系统恢复的过程,窃取用户口令及其他有用的信息。
               (5)通过浏览残留在计算机各种资源中的垃圾(无用信息),以获取如口令、安全码和译码关键字等信息。
               (6)浏览全局数据,期望从中找到进入系统的关键字。
               (7)浏览那些逻辑上不存在,但物理上还存在的各种记录和资料等。
               一般情况下,网络软件的安全评估包括以下情况;
               (1)检验和测试网络软件中涉及数据传输各部分的配量对安全的影响。
               (2)会话跟踪是否足够。
               (3)是否正确使用了加密技术。
               (4)变量限制的设定。
               (5)在服务器端执行程序中的安全漏洞。
               (6)HTML源码中是否有敏感的信息或没有必须出现的信息。
               兼容性/配置测试
               兼容性/配置测试用于测试软件与先前发布过的版本、有依赖关系的外部软件、运行的系统的各种版本和硬件平台的不同配置的兼容情况。
               可以从如下几个方面进行兼容性测试。
               (1)检查版本是否兼容。检查新版本操作习惯与老版本是否兼容,目的是使老版本的用户很快地适应新版本的变化。
               (2)检查数据格式是否兼容。数据格式有许多种形式,如文件格式、网络协议和共享数据等。例如,通信协议软件版本升级后,检查升级版本和老版本的通信协议是否一致等。
               (3)检查系统调用的兼容性。检查系统的哪些功能依赖于系统调用,是否属于某个平台或版本独有,是否在不同平台上有差异。
               (4)检查是否支持操作系统、数据库系统、硬件和软件平台。配置测试用例设计主要指软硬件环境配置的测试用例,检查计算机系统内各个设备或各种资源之间的相互关联和功能分配中的错误。
               容错性测试
               容错性测试是检查软件在异常条件下自身是否具有防护性措施或者灾难恢复手段。如当系统出错时,能否在指定时间间隔内修正错误并重新启动。可以把容错性测试看作是由系统异常处理测试和恢复测试组成的。
               可用性测试
               可用性是指系统正常运行的能力和用户接受的程度,一般用如下公式表示。
               可用性=平均正常工作时间/(平均正常工作时间+平均修复时间)
               影响可用性的因素有如下几个:
               (1)不充分的测试。
               (2)更改管理问题。
               (3)缺少在线监视和分析。
               (4)操作错误。
               (5)弱编码。
               (6)与外部服务或应用程序的交互。
               (7)不同的操作条件(使用级别更改、峰值重载)。
               (8)异常事件(安全性失败、广播风暴)。
               (9)硬件故障(硬盘、控制器、网络设备、服务器、电源、内存和CPU)。
               (10)环境问题(电源、冷却、火、洪水、灰尘、自然灾害)。
               下面给出提高系统可用性的一些办法。
               (1)使用集群。集群是指将至少两个系统连接到一起,像一个系统那样工作。当某一系统出现失效时,集群提供即时故障转移服务。
               (2)使用网络负载平衡。当检测某服务器失败后,网络负载平衡自动将通信量重新分发给仍然运行的服务器。
               (3)使用服务级别协议。可用性指标的期望服务级别要求达到4个或5个“9”。例如,“该应用程序应每周运行7天,每天24小时,年可用性为99.99%”是指全年不能正常工作的时间仅仅只有52分钟,不足1个小时。
               (4)提供实时的监视。监视系统的工作负荷和失败数据,实时监视对于发现趋势和改善服务至关重要。
               (5)使用数据备份,保证数据安全。
               (6)检查所有的安全计划。安全性是确保应用程序服务只对有权使用系统的用户可用,还意味着使得应用程序使用的所有分布式组件和资源受到保护。
               文档测试
               文档测试是指对软件开发、测试和维护过程中产生的所有文档的测试,包括对需求规格分析说明书、详细设计报告、系统设计报告、用户手册以及与系统相关的一切文档的审阅和评测。例如,系统需求分析和系统设计说明书中的错误将直接导致编码的错误,用户手册作为软件的一部分,将直接影响用户对系统的使用效果。
               文档测试强调文档的表述应该清楚、准确,主要包含:
               .正确地按照文档描述的方法使用系统。
               .测试每一个提示和建议信息。
               .使用文档作为测试用例的来源。
               .测试每一个在线帮助的超链接。
               .测试每条语句。
               .测试文档中提供的每一个样例。
               .把缺陷写入缺陷跟踪库。
               .检查所有的错误信息。
 
        信息系统项目
               项目的基本概念
               什么是项目?简单地说,安排一场演出、开发一种新产品、建一幢大房子都可以被称为一个项目。所谓项目,简单地说,就是在既定的资源和要求的约束下,为实现某种目的而相互联系的一次性工作任务。这个定义包括三层意思:一定的资源约束、一定的目标、一次性任务。这里的资源包括时间资源、经费资源、人力资源等。
               对项目的概念有了一定了解的基础上,我们来看一下项目的基本特征。
                      明确的目标
                      项目是一种有着明确目标——一种期望的产品或希望得到的服务的一次性活动。这里的目标包括几个方面。
                      (1)时间目标如在规定的时段内或规定的时间点之前完成。
                      (2)成果目标如提供某种规定的产品、服务或其他成果。
                      (3)其他需满足的要求包括必须满足的要求和应尽量满足的要求。
                      目标允许有一个变动的幅度,也就是可以修改的。不过一旦项目目标发生实质性变化,它就不再是原来的项目了,而将产生一个新的项目。
                      独特的性质
                      每一个项目都是唯一的、独特的。或者项目的成果与其他项目不同;或者项目的成果与其他项目类似,然而其时间和地点,内部和外部的环境,自然和社会条件有别于其他项目,总之项目总是独一无二的,没有两个项目是完全相同的。项目没有可以完全照搬的先例,也不会有完全相同的复制。
                      有限的生命周期
                      项目有具体的时间计划,它有一个开始时间和目标必须实现的截止日期。虽然不同项目可以划分为不同的具体阶段,不过,大多数项目的生命周期都可以划分为启动、规划、实施、结尾4个阶段。
                      特定的委托人
                      它既是项目结果的需求者,也是项目实施的资金提供者。他可能是一个人,或一个组织;委托人可能是企业外部的,被称作外部客户,也可能是企业内部的,比如企业内的别的部门,被称作内部客户。不管是外部客户还是内部客户,都是项目的委托人或项目成果的使用者。
                      实施的一次性
                      一次性是项目与其他常规运作的最大区别。项目有确定的起点和终点,项目不能重复。
                      组织的临时性和开放性
                      项目开始时要组建项目团队,项目团队在项目进展过程中,其人数、成员、职责在不断变化。某些成员是借调来的,项目终结时团队要解散,人员要转移。参与项目的组织往往有多个,甚至几十个或更多。他们通过协议或合同以及其他的社会关系结合到一起,在项目的不同时段以不同的程度介入项目活动。可以说,项目组织没有严格的边界,是有弹性的、模糊的、开放的。这一点与一般企事业单位和政府机构很不一样。
                      项目的不确定性和风险性
                      项目以所需的时间估计、成本估计、各种资源的有效性为项目计划的假定条件,这种假定带来了一定程度的不确定性,这种不确定性为项目的实现带来一定的风险。项目是一次性任务,做坏了没有机会重来。项目必须保证成功,因此必须精心设计、精心制作和精心控制,以达到预期目标。
                      结果的不可逆转性
                      不论结果如何,项目结束了,结果也就确定了。
               信息系统项目的概念
               通过上一节对项目的介绍,我们知道信息系统的建设也是一类项目。因为信息系统的建设符合项目的定义。我们知道,项目的定义中包含三层意思:一定的资源约束、一定的目标、一次性任务。首先,信息系统的建设是一次性的任务,有明确的任务范围和质量要求,有时间和进度的要求,有经费和资源的限制。因此,信息系统的建设是一类项目的建设过程。
               信息系统项目除了具有项目的特征之外,还具有自己的特点。
                      信息系统项目的目标不精确、任务边界模糊,质量要求主要由项目团队定义
                      在信息系统开发初期,项目团队调研时,客户只能提出一些初步的功能要求,提不出确切的需求。信息系统项目的任务范围在很大程度上取决于项目组所做的系统规划和需求分析。另外,因为大部分客户方都不是从事信息技术的人员,对信息技术的各种性能指标并不熟悉,所以,信息系统项目所应达到的质量要求也更多地由项目组定义,客户则尽可能地进行审查。为了更好地定义或审查信息系统项目的任务范围和质量要求,客户方可以聘请第三方的信息系统监理或咨询机构来监督项目的实施情况。
                      在信息系统项目开发过程中,客户的需求不断被激发,不断地被进一步明确,或者客户需求随项目进展而变化,从而导致项目进度、费用等计划的不断更改
                      尽管已经做好了系统规划、可行性研究,签订了较明确的技术合同,然而随着项目的进展,客户的需求不断地被激发,被进一步明确,导致程序、界面以及相关文档需要经常被修改。而且在修改过程中又可能产生新的问题,这些问题很可能经过相当长的时间后才会被发现。这就要求项目经理在项目开发过程中不断监控和调整项目计划的执行情况,尤其注重项目的变更管理。
                      信息系统项目是智力密集、劳动密集型项目,受人力资源影响最大,项目成员的结构、责任心、能力和稳定性对信息系统项目的质量以及是否成功有决定性的影响
                      信息系统项目工作的技术性很强,需要大量高强度的脑力劳动。尽管近年来信息系统辅助开发工具的应用越来越多,但是项目各阶段还是渗透了大量的手工劳动。这些劳动十分细致、复杂和容易出错,因而信息系统项目既是智力密集型项目,又是劳动密集型项目。并且,由于信息系统开发的核心成果——应用软件是不可见的逻辑实体,如果人员发生流动,对于没有深入掌握软件知识或缺乏信息系统开发实践经验的人来说,很难在短时间里做到无缝地承接信息系统的后续开发工作。
                      另外,信息系统的开发是项目团队整体的工作,为了高质量的完成项目,要充分发掘项目成员的才能和创新精神,不仅要求他们具有一定的技术水平和工作经验,还要求他们具有良好的心理素质和责任心,尤其要具有团队合作精神。项目经理在项目开发过程中,也应该注重项目成员之间的沟通协调,要将人力放到与进度和成本一样高的地位来看待。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有