软件评测师笔记2014
影响软件质量可分为:可直接测量(如每个功能点错误)、间接度量(可用性、可维护性) 包括:质量模型、外部度量、内部度量、使用质量度量。
外部、内部质量的质量模型:
质量属性包括:功能性、可靠性、易用性、效率、可维护性和可移植性
ISO/IEC 9126《软件工程 产品质量》统一了多种质量模型。其中,下述关于软件使用质量描述,使用质量是从用户角度看待的质量,其属性分为4种:有效性、生产率、安全性和满意度。
使用质量是从用户角度看待的质量。
使用质量的获得依赖于取得必须的外部质量,而外部质量的获得则依赖于取得必须的内部质量。
V模型中单元测试对应于编码阶段,集成测试对应于详细阶段,系统测试对应于概要设计阶段,验收测试对应于需要分析阶段。
螺旋模型综合了(27)的优点,并增加了这两种模型忽略的风险分析。 (27)A. 瀑布模型和演化模型 B. 瀑布模型和喷泉模型
C. 演化模型和喷泉模型 D. 原型和喷泉模型
解析:瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 参考答案:A
软件评审作为质量控制的一个重要手段,已经被业界广泛使用。评审分为内部评审和外 部评审。关于内部评审的叙述,正确的包括(28) ①. 对软件的每个开发阶段都要进行内部评审
②. 评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与 ③. 评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定 ④. 内部评审由用户单位主持,由信息系统建设单位组织,应成立评审委员会 (28)
A.
B.
解析:关于内部评审:
对软件的每个开发阶段都要进行内部评审
评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与 评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定,一般不超过7人。 参考答案:B
软件质量保证的主要目标不包括(29)
(29)A .通过预防、检查与改进来保证软件质量
B.保证开发出来的软件和软件开发过程符合相应标准与规程
C.收集软件产品、软件过程中存在的不符合项,在项目总结是进行分析
D.确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要 软件质量保证(Software Quality Assurance,简称SQA)
即参照一定的质量标准、目标及各项软件流程、规范来监督,管理公司产品的质量;在许多质量体系还不是很成熟的公司,维护和发展这些质量标准、流程规范等也是由质量保证人员进行。行内有个这样的说法:“软件质量保证并不能够保证软件的质量”,事实也是如此,软件质量的好坏不是一个人,一个部门能够决定的。但是,我们可以把提高软件的质量作为我们从事软件质量保证工作的目标。 参考答案:C
软件设计要遵循的基本原则包括(30)
①. 模块化 抽象 封装 信息隐蔽 (30) A. B. C.
D.
关于软件质量,(31)的叙述是正确的。
①. 软件满足规定或潜在用户需求特性的总和
②. 软件特性的总和,软件满足规定用户需求的能力 ③. 是关于软件特性具备“能力”的体现 ④. 软件质量包括“代码质量”、“外部质量”和“使用质量”三部分
(31)A.
解析:软件质量实体特性的总和,满足明确或隐含要求的能力。是关于软件特性具备“能力”的体现
软件质量包括“内部质量”、“外部质量”和“使用质量”三部分
关于软件测试与质量保证,正确的理解的是(32)P7
(32)A.软件测试关注的是过程中的活动,软件质量保证关注的是过程的产物 B.软件测试不是软件质量保证工作中的内容 C.软件测试是软件质量保证的重要手段 D.软件质量保证人员就是软件测试人员 解析:
软件测试和质量保证的区别
1)、QA主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找问题或评估;
质量的保证的重要工作通过预防、检查与改进来保证软件质量。 采用“全面质量管理”和“过程改进”的原理开展质量保证工作。 关注的是软件质量的检查与测量。
QA的工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求。 2)、软件测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析
测试人员要“执行”程序软件,对过程中的产物-----开发文档和源代码进行走查,运行软件,以找出问题,报告质量。
测试人员必须假设软件存在的问题,测试中所作的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,因此软件测试是保证软件质量的一个重要环节。
软件测试与质量保证:通常,人们将“质量标准、配置管理、测试测量”,作为质量管理的三大支柱,而将“SQA计划、SQA进度、SQA评审和审计”,作为质量管理三大要素。 质量管理与控制的三个层次
(1) 事先的预防措施:制订软件过程开发规范和软件产品质量标准,对软件开发和管理人员进行这方面知识和技能的定向培训;(规范是对行为的约束、标准是对产品的约束、规程是对操作的约束)
(2) 事中的跟踪监控措施:按照CMM/CMMI或ISO9000的过程管理思想,对软件过程和软件产品的质量控制提供可视性管理;
(3) 事后的纠错措施:对软件工作产品和软件产品加强评审和检测。评审是在宏观上框住您,在微观上挑剔您,找出不符合项。检测是为了发现Bug,改正错误。
结论:软件质量保证措施,应以提前预防和实时跟踪为主,以事后测试和纠错为辅。
需求说明书评测内容:
作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其它需求给予评价。评审的主要内容是:
① ·系统定义的目标是否与用户的要求一致;
② ·系统需求分析阶段提供的文档资料是否齐全;
③ ·文档中的所有描述是否完整、清晰、准确反映用户要求;
④ ·与所有其它系统成分的重要接口是否都已经描述;
⑤ ·被开发项目的数据流与数据结构是否足够,确定;
⑥ ·所有图表是否清楚,在不补充说明时能否理解;
⑦ ·主要功能是否已包括在规定的软件范围之内,是否都已充分说明;
⑧ ·软件的行为和它必须处理的信息、必须完成的功能是否一致;
⑨ ·设计的约束条件或限制条件是否符合实际;
⑩ ·是否考虑了开发的技术风险;
⑪ ·是否考虑过软件需求的其它方案;
⑫ ·是否考虑过将来可能会提出的软件需求;
⑬ ·是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;
⑭ ·有没有遗漏,重复或不一致的地方;
⑮ ·用户是否审查了初步的用户手册或原型;
⑯ ·软件开发计划中的估算是否受到了影响.
为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格进行。评审结束应有评审负责人的结论意见及签字。除分析员之外,用户/需求者,开发部门的管理者,软件设计、实现、测试的人员都应当参加评审工作。一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。
设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关系,联系
电话),其中“家庭住址”记录了邮编、省、市、街道信息:“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。 学生实体Students中的“家庭住址”是一个(49)属性;为使数据库模式设计更合理,对于关系模式Students(50). (49)
A.简单 B.多值 C.派生 D.复合
(50)A.可以不做任何处理,因为该关系模式达到了3NF B.只允许记录一个亲属的姓名、与学生的关系以及联系电话的信息 C.应该将家庭成员、关系及联系电话加上学生号,设计成为一个独立的实体 D.需要对关系模式Students增加若干组家庭成员、关系及联系电话字段
分析:简单属性是原子的、不可再分的。复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。例如,试题(49)中“家庭住址”可以进一步分为邮编、省、市、街道信息等。“ 家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。属于另一个实体,应该将家庭成员、关系及联系电话加上学生号,设计成为一个独立的实体。 参考答案:(49) D (50) C
交易响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。 交易吞吐量:系统服务器每秒能够处理通过的交易数。响应时间越短,交易执行吞吐量越大。 当系统达到饱和点,服务器吞吐量保持稳定后,就达到了给定条件下的系统上限。但是,随着服务器负载的继续增长,系统的响应时间也随之延长,虽然吞吐量保持稳定。
交易响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。 交易吞吐量:系统服务器每秒能够处理通过的交易数。响应时间越短,交易执行吞吐量越大。 当系统达到饱和点,服务器吞吐量保持稳定后,就达到了给定条件下的系统上限。但是,随着服务器负载的继续增长,系统的响应时间也随之延长,虽然吞吐量保持稳定。
隔离防护:是系统中安全部分与非安全部分进行隔离的措施,目前采用的技术主要有两种,即隔离网闸和防火墙,隔离网闸属于近年新兴的网络安全技术,主要的目的在于实现内网和外网的物理隔离,防火墙是相对成熟的防护技术,主要用于内网和外网的逻辑隔离。
安全日志:是记录非法用户的登录名称、操作时间及内容等信息,以便于发现问题并提出解决措施。它属于被动防护的策略。 入侵检测系统:是一种主动的网络安全防护措施,它从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。一般来说,入侵检测系统还应对入侵行为作出紧急响应。在不影响网络性能的情况下能对网络进行监测,从而提供对内部、外部攻击和误操作的实时保护,被认为是防火墙的第二道安全闸门。
软件错误:是指软件在生存周期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。
软件缺陷:存在软件(文档、数据、程序)之中的那些不希望或不可接受的偏差 软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。 软件失效:软件运行时产生的一种不希望或不可接受的外部行为结果。
自动化测试的优缺点: 优势:提高测试质量、提高测试效率、提高测试覆盖率、执行手工测试不能完成的测试任务、更好地重现软件缺陷的能力、更好地利用资源、增进测试人员与开发人员间的合作伙伴关系 局限性:定制项目、周期很短的项目、业务复杂的对象、人体感观与易用性测试、不稳定软件、涉及物理交互。
根据《中华人民共和国标准化法》(以下简称《标准化法》)的规定,我国标准分为国家标准、行业标准、地方标准和企业标准等四类。
1、国家标准:由国务院标准化行政主管部门制定的需要全国范围内统一的技术要求,称为国家标准。
2、行业标准:没有国家标准而又需在全国某个行业范围内统一的技术标准,由国务院有关行政主管部门制定并报国务院标准化行政主管部门备案的标准,称为行业标准。
3、地方标准:没有国家标准和行业标准而又需在省、自治区、直辖市范围内统一的工业产品的安全、卫生要求,由省、自治区、直辖市标准化行政主管部门制定并报国务院标准化行政主管部门和国务院有关行业行政主管部门备案的标准,称为地方标准。
4、企业标准:企业生产的产品没有国家标准、行业标准和地方标准,由企业制定的作为组织生产的依据的相应的企业标准,或在企业内制定适用的严于国家标准、行业标准或地方标准的企业(内控)标准,由企业自行组织制定的并按省、自治区、直辖市人民政府的规定备案(不含内控标准)的标准,称为企业标准。
这四类标准主要是适用范围不同,不是标准技术水平高低的分级。
国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)所制定的标准,以及ISO为促进《关贸总协定一贸易技术壁垒协议》即标准守则的贯彻实施所出版的《国际标准题内关键词索引(KWIC Index)》中收录的其他国际组织制定的标准。ISO希望该索引能作为执行(GWTT/TBT)标准守则的国际标准的权威性目录予以接受,尽可能接受该目录作为成员国本国国家标准和技术法规的基础。所列国际组织,根据ISO第2号指南的定义,均属于国际标准化机构,但它们所发布的文件并不一定都可作为国际标准,只有经ISO认可并收入(KWIC Index)索引中的标准文件才被确认为国际标准。 国际先进标准是指国际上有权威的区域性标准,世界上主要经济发达国家的国家标准和通行的团体标准,包括知名跨国企业标准在内的其他国际上公认先进的标准。
配置管理:配置项标识;配置项控制(变更控制);配置状态报告;配置审计 配置项标识: ● 标识测试样品、标准、工具、文档报告等配置项的名称和类型。
● 指出何时基准化配置项(置于基线控制下)。
● 标识各配置项的所有者及储存位置。 配置项控制(变更控制):
● 规定测试基线
● 基线创立时间
● 变更控制委员会人员组成、职能
● 确定变更请求的处理程序和终止条件
● 变更过程中测试人员变更的职能
● 确定变更请求和产生结果的对应机制。
● 确定配置项提取和存入的控制机制与方式。 配置状态报告:
● 定义报告形式、内容和提交方式
● 确认过程记录和跟踪问题报告、更改请求、更改次序;
● 确定测试报告提交的时间与方式;
配置审计:
●确定审计执行人员和执行时机;
●确定审计的内容与方式;
●确定发现问题的处理方法
▲配置管理是管理和调整变更的关键,对于一个参与人员较多、变更较大的项目,它是至关重要的。
它应用于测试工具、用例,且对于测试过程中的所有文档也是非常重要的,也可应用于测试样本和数据。
软件成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化。 测试工作的主要目标是使测试产能最大化。也就是说,要使通过测试找出错误的能力最大化,而测试的次数最小化。
测试实施成本的构成。(测试准备成本 测试执行成本 测试结束成本) 测试准备成本控制的目标是使时间消耗总量、劳动力总量,尤其是准备工作所需的熟练劳动力问题最小化。准备工作一般包括:硬件配置、软件配置、测试环境建立,以及测试环境的确定等。 可以通过加强软件测试的配置管理来降低测试维护成本。
测试执行成本控制的目标是使总执行时间和所需的测试专用设备尽可能地减少。 测试结束成本控制是进行测试结果分析和测试报告编制、测试环境的清除与恢复原环境所需的成本,
使所需的时间和熟练劳动力问题减少到最低限度。 回归测试将测试案例全部重新执行一边,可以将测试风险降至最低,但加大了测试执行成本。
软件成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化。 测试工作的主要目标是使测试产能最大化。也就是说,要使通过测试找出错误的能力最大化,而测试的次数最小化。
测试实施成本的构成。(测试准备成本 测试执行成本 测试结束成本) 测试准备成本控制的目标是使时间消耗总量、劳动力总量,尤其是准备工作所需的熟练劳动力问题最小化。准备工作一般包括:硬件配置、软件配置、测试环境建立,以及测试环境的确定等。 可以通过加强软件测试的配置管理来降低测试维护成本。
测试执行成本控制的目标是使总执行时间和所需的测试专用设备尽可能地减少。 测试结束成本控制是进行测试结果分析和测试报告编制、测试环境的清除与恢复原环境所需的成本,使所需的时间和熟练劳动力问题减少到最低限度。 回归测试将测试案例全部重新执行一边,可以将测试风险降至最低,但加大了测试执行成本。
在一个完整的功能测试过程中,属于应该编写的测试文档有测试需求文档、测试用例文档、问题报告单。
出版的《国际标准题内关键词索引(KWIC Index)》中收录的其他国际组织制定的标准。ISO希望该索引能作为执行(GWTT/TBT)标准守则的国际标准的权威性目录予以接受,尽可能接受该目录作为成员国本国国家标准和技术法规的基础。所列国际组织,根据ISO第2号指南的定义,均属于国际标准化机构,但它们所发布的文件并不一定都可作为国际标准,只有经ISO认可并收入(KWIC Index)索引中的标准文件才被确认为国际标准。 国际先进标准是指国际上有权威的区域性标准,世界上主要经济发达国家的国家标准和通行的团体标准,包括知名跨国企业标准在内的其他国际上公认先进的标准。
参考答案:D
为验证某呼叫中心是否能够承受大量呼叫信息同时呼入并得到正确处理,测试工程师一 般采用 (64)测试工具。
(64)A、负载压力 B、代码 C、网路伪真 D、故障诊断 解析:
负载压力:指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。 参考答案: A 关于软件评测过程中的配置管理,(65)是不正确的表述。
(65)A、测试活动的配置管理属于整个软件项目配置管理的一部分。
B、软件评测配置管理包括4个基本的活动,配置项变更控制、配置状态报。 告、配置审计、配置管理委员会建立。
C、配置项变更控制要规定测试基线、对每个基线进行描述。
D、配置状态报告要确认过程记录、跟踪问题报告、更改请求以及更改次序等。 解析: 配置管理:配置项标识;配置项控制(变更控制);配置状态报告;
配置审计 配置项标识:
● 标识测试样品、标准、工具、文档报告等配置项的名称和类型。
● 指出何时基准化配置项(置于基线控制下)。
● 标识各配置项的所有者及储存位置。 配置项控制(变更控制):
● 规定测试基线
● 基线创立时间
● 变更控制委员会人员组成、职能
● 确定变更请求的处理程序和终止条件
● 变更过程中测试人员变更的职能
● 确定变更请求和产生结果的对应机制。
● 确定配置项提取和存入的控制机制与方式。 配置状态报告:
● 定义报告形式、内容和提交方式
● 确认过程记录和跟踪问题报告、更改请求、更改次序;
● 确定测试报告提交的时间与方式;
配置审计:
●确定审计执行人员和执行时机;
●确定审计的内容与方式;
●确定发现问题的处理方法
▲配置管理是管理和调整变更的关键,对于一个参与人员较多、变更较大的项目,它是至关重要的。
它应用于测试工具、用例,且对于测试过程中的所有文档也是非常重要的,也可应用于测试样本和数据。 参考答案:B
● 测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,以下理 解正确的是___(66)___ P113-114 (66) A. 测试准备成本属于测试实施成本
B.可以通过加强软件测试的配置管理来降低测试维护成本
C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试专用设备 D.回归测试将测试案例全部重新执行一边,可以将测试维护成本降至最低
解析:软件成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化。 测试工作的主要目标是使测试产能最大化。也就是说,要使通过测试找出错误的能力最大化,而测试的次数最小化。
测试实施成本的构成。(测试准备成本 测试执行成本 测试结束成本) 测试准备成本控制的目标是使时间消耗总量、劳动力总量,尤其是准备工作所需的熟练劳动力问题最小化。准备工作一般包括:硬件配置、软件配置、测试环境建立,以及测试环境的确定等。 可以通过加强软件测试的配置管理来降低测试维护成本。
测试执行成本控制的目标是使总执行时间和所需的测试专用设备尽可能地减少。 测试结束成本控制是进行测试结果分析和测试报告编制、测试环境的清除与恢复原环境所需的成本,使所需的时间和熟练劳动力问题减少到最低限度。 回归测试将测试案例全部重新执行一边,可以将测试风险降至最低,但加大了测试执行成本。 参考答案:B
● 以下关于缺陷探测率(DDP)的表述,不正确的是___(67)___
(67)A.DDP是一个衡量测试工作效率的软件质量成本指标
B.缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错误才
可能越少
C.DDP是衡量测试投资回报的一个主要指标 D.测试周期越长,缺陷探测率就会越高
解析:缺陷探测率(DDP)=测试者发现的错误数/(探测者发现的错误数+客户发现并反馈给技术支持人员进行修复的错误数。
DDP是一个衡量测试工作效率的软件质量成本指标。缺陷探测率越高,也就是测试者发现
的错误越多,发布后客户发现的错误才可能越少,降低了外部故障不致成本,达到了节约总成本的目的,可获得较高的测试投资率(ROI)。因此,.DDP是衡量测试投资回报的一个重要指标。
测试周期越长,缺陷探测率不一定会越高,但测试成本越高。 参考答案:D
Web应用安全测试应考虑下面内容:
目录测试 SSL套接字测试 登录验证 日志文件 脚本语言
对该访问控制系统进行测试时,用户权限控制是其中的一个测试重点。对用户权限控制的测试应包含哪两个主要方面?每个方面具体的测试内容又有哪些? 两个方面:
①评价用户权限控制的体系合理性,是否采用三层的管理模式即系统管理员、业务领导和操作人员三级分离;
②用户名称基本采用中文和英文两种,对于测试来说,对于用户名称的测试关键在于测试用户名称的唯一性。
用户名称的唯一性体现有哪些方面?
●同时存在的用户名称在不考虑大小的状态下,不能够同名;
●对于关键领域的软件产品和安全要求较高的软件,应当同时保证使用过的用户在用户删除或停用后,保留该用户记录,并且新用户不得与之同名。
系统安全审计功能设计的测试点应包括:
①能否进行系统数据收集,统一存储,集中进行安全审计; ②是否支持基于PKI的应用审计;
③是否支持基于XML的审计数据采集协议; ④是否提供灵活的自定义审计规则。
可靠性测试的目的可归纳为以下三个方面:(P489)
①发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷。
②为软件的使用和维护提供可靠性数据。
③确认软件是否达到可靠性的定量要求。
广义的软件可靠性测试是指为了每终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。 狭义的软件可靠性测试是指为了获取可靠性数据,按预先确定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。狭义的软件可靠性测试也叫“较件可靠性试验(sottwan: reliability test)”,它是面向缺陷的测试,以用户将要使用的方式来测试软件,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。这就使得所获得的测试数据与软件的宴际运行数据比较接近,可用于软件可靠性评价。
可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。 失效严重程度类就是对用户具有相同程度影响的失效集合。(P486)
可靠度就是软件系统在规定的条件下,规定的时间内不发生失效的概率。(P483)
故障强度是指:以单位运转时间的软件故障停机小时表示停机时间的长短,其表式为:软件 故障强度率=100%*软件故障停机小时/软件实际运转时间。
平均无故障时间(MTTF):全称是Mean Time To Failure,即平均失效时间。系统平均能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长