文档库 最新最全的文档下载
当前位置:文档库 › 3软件质量保证过程(SQA)

3软件质量保证过程(SQA)

3软件质量保证过程(SQA)
3软件质量保证过程(SQA)

软件质量保证过程软件质量保证过程作为一种独立的审查活动贯穿于整个软件开发过程.质量控制人员类似于软件开发过程中的过程警察,其主要职责是:检查开发和管理活动是否与制定的过程策略、标准和流程一致;检查工作产品是否遵循模板规定的内容和格式。此文档从软件开发过程的各个阶段来描述软件质量保证过程。 1. 计划阶段目的和范围:项目计划过程的目的是计划并执行一系列必要的活动,以便在不超出项目预算和日程安排的前提下,将优质的产品交付给客户。项目计划过程适用于公司的所有项目,但每个项目可以根据各自的不同情况对该过程进行裁剪。进入标准:项目启动会议已经结束;

在项目的生命周期中,根据项目的跟踪结果,需要对项目计划进行修改和完善。输入:项目启动报告;项目提案书;项目相关文档;组织财富库中以往类似的经验文档。退出标准:项目计划已通过评审、批准并确立。输出:评审后的项目计划文档包括:软件开发质量计划;软件配置管理计划。过程描述:项目计划包含3个需要在项目中执行和管理的主要计划,如下:软件项目管理计划;软件项目质量管理计划;软件配置管理计划。软件项目管理计划涉及项目中所有与项目管理相关的问题(从项目开始到结束)。软件项目质量管理计划涉及与质量相关的需求,这些需要在产品中实现,并保证用于构筑产品的项目过程。由于质量是产品创建的一部分,所以将软件项目管理计划和软件项目质量管理计划合成一个计划文档,称为软件开发质量计划。软件配置管理计划用于管理与配置管理相关的需求,这些需求与工作产品和可交付产品有关。该计划的目的在于:为执行软件工程相关活动提供依据,并在整个开发和维护过程中对软件项目进行管理。可以使用不同的检查表来制定软件开

发质量计划和软件配置管理计划。如下每个计划都将包含以下3点:

目标;执行方法;当前状态。前两点不会经常变更,但第三点则被认为会在执行跟踪时被修改。因此,前两点通常被直接放到计划中,而第三点则以链接的方法放到计划中。(1)制订软件开发质量计划软件开发质量计划包括软件项目管理计划、软件项目质量管理计划。①制订软件项目管理计划软件项目管理计划的主要内容包括基础设施计划,进度计划(包括各种类型的估算)、风险管理计划、项目培训计划、执行计划、客户管理计划。基础设施计划基础设施计划包括项目开始执行前必须到位的所有需求,它需要解决以下问题:软件工程需求、基础设施需求、角色和职责、内外部接口、过程需求、知识和技能需求。

进度计划进度计划涉及制定合理可用的项目进度。在制定项目进度时,需要进行下面的估算:规模(Size)、工作量(effort)。项目进度需要描述以下内容:执行的活动、估算的人时、投入的人员、责任人和时间线、里程碑事件的标识。风险管理计划风险管理包括:标识风险事件(与管理相关的风险、与执行相关的风险,与客户相关的风险等)、评估风险并设定风险优先级、制订风险缓解和应急计划并跟踪该计划。项目培训计划根据项目及人员结构制订项目培训计划,包括业务领域知识、技术、工具等方面的培训计划。执行计划项目执行计划包含了与执行当前项目关系最大的生命周期模型。该计划对组织级执行模型进行了裁剪。项目生命周期模型通常包括:项目执行的阶段、各阶段的输入和输出、可交付的产品、需要迭代(反复)的阶段。②制订软件项目质量管理计划制订软件项目质量管理计划包含如下主要内容:项目设定的质量标准;同级评审计划:同级评审计划中描述了在不同的软件生命周期开发阶段,对不同的工作产品

所采用的同级评审类型;测试计划:测试计划包括对可执行文件/模块或整个系统将要进行的各种测试。根据项目测试过程来制定测试计划;度量管理计划:通过裁剪组织级的度量过程来制定项目度量管理计划。缺陷预防计划:管理、开发和测试人员互相配合制订缺陷预防计划,防止已识别的缺陷再次发生;过程改进计划:项目级过程改进的机会要记录到过程改进计划中。这些机会主要来源于度量分析、缺陷预防分析和标识出的好的或可避免的实践。(2)制订软件配置管理计划软件配置管理计划主要包括以下内容:软件配置管理计划组织;角色和职责;

开发/维护配置管理计划,包括可配置项的标识、命名约定、目录结构、访问控制、变更管理、基线库创建、放入/提取(Check in/Check out)机制、版本控制;

产品配置管理,包括产品中部件的可跟踪性,产品的版本设定和发布、交付的配置管理(标识出要交付的产品构成)、需求配置管理(需求基线的确定、产品版本与划定基线的需求版本之间的关系)、配置审计。验证:同级评审人员和软件质量保证人员必须对项目计划进行评审,批准后项目才能付诸实施。配置控

制:项目经理保管所有项目计划文档。对所有项目计划文档都要进行配置管理。项目结束后,所有的项目计划文档都要保存到组织财富库中,仍受配置控制。QA检查清单: QA检查清单包括:软件开发质量计划;软件配置管理计划。该阶段要确保制定了软件开发质量计划和软件配置管理计划。2. 需求分析阶段目的和范围:需求说明和需求管理过程的目的是为了保证开发组在开发期间对项目目标和生产出最后产品的目的有一个清晰的理解。软件需求规格说明书将作为产品测试和验证是否适合需要的基础。对于需求的变更,它可能在开发项目期间的任何时间点发生,需求的变更将要影响日程和承诺的变化,这些变化需要和客户所提出的要求相一致。进入标准:计划已经被批准,并且项目整体的基础设施是可用的;软件的需求已经被需求收集小组捕获;对已经形成了基线的软件需求规格说明书有变更的请求时。输入:软件的需求说明

书;变更需求的请求。退出标准:

软件需求规格说明书已经经过评审并形成了基线;对已经形成基线的软件需求的变更进行了处理;形成基线的软件说明书已经经过客户批准;验收标准已经完成;所有评审的问题都已经解决。输出:经过批准并形成基线的软件需求规格说明书;对受影响组件的重新估算文档;验收测试标准和测试计划。过程描述:这个过程主要处理以下两种活动:需求说明和需求管理。需求说明指的是需求过程中形成基线的主体,它是以后进一步的设计和测试的基础。另

外,在软件开发过程中,会经常遇到由于客户又有新需求或开发组自身对项目有了更清楚的理解或认识,要对需求进行变更。在对最初的需求说明书进行变更时,要用到需求管理过程。(1)需求说明需求说明过程主要包括以下任务:执行需求分析

定义需求规格说明书定义验收标准评审说明书和验收标准。①执行需求分析分析收集到的需求和在提案中可用的需求。这个任务要求需求说明书应该在完整性、一致性、清晰性和

可测试性上达到比较合理的程序。②定义需求说明书基于对需求的分析编写软件需求规格说明书。这个文档应清晰记录以下内容:目标和范围;功能需求;用户接口;输入输出;模块之间的接口;性能需求;特殊用户需求。如果需求不清晰或模糊,就需要准备原型,通过评估原型来产生需求说明书。③定义验收标准基于对以前步骤收集的需求规格说明书,建立测试标准,验证的解决方案。所有的需求应该可制定测试标准。这个测试标准将成为客户批准最终产品的依据,因此要求在制定客户标准时要经常紧密的与客户进行交流沟通。④评审需求分析说明书和测试标准因为是开发项目的基础,所以需求规格说明书和验收标准需要由项目组的同级人员进行评审。(2)需求管理需求管理过程包括以下6个任务:记录变更请求;

分析受到影响的组件;估算需求变更成本;重新估算所有产品的交付日期和时间;评审受影响组件;获得客户的批准。①记录变更请求;形成基线的需求说明书的变更可能是由客户提出的,也可能是由于设计或编码阶段开发人员根据一些限制或优化而提出的。所有需求变更必须经过客户的批准,并且必须是可行的。任务需求变更可以由组织自己定义开始时间,并且所有需求变更需要记录到变更登记表中。②分析受到影响的组件;任何经过批准的变更需要在整个项目组范围内进行受影响组件分析。③估算需求变更成本;项目成本与需求变更有关。任何规模的变更对于成本来讲都是一种损耗。如果一个受影

响组件是非常重要的,那么可行性需要重新进行成本估算。④重新估算所有产品的交付日期和时间;如果没有考虑有效的缓

冲,成本的变化可能会影响整个项目的交付时间。在交付时间内的任何实质的变更都需要再同用户商议决定。⑤评审受影响组件;在这个步骤中所有相关的受影响组件需要进行评审,项目负责人根执行此项任务。⑥获得客户的批准。这个过程的最后一项任务是获得客户的签字。客户应该同意已经形成基线的软件需求说明书、验收标准和已记录的受影响组件的变更。验证:项目经理要定期的检查需求规格说明书和项目需求管理的各个方面;软件质量保证人员要定期的对需求分析过程执行独立的评估。配置控制:软件需求规格说明书需要严格的配置控制;所有的变更请求需要被管理和控制;用于跟踪的度量文档需要管理和控制。QA检查清单:质量保证检查清单包括:软件需求规格说明书;变更需求跟踪记录;验收测试标准与测试计划。该阶段要确保客户提出的需求是可行的,确保客户了解自己提出的需求的含义,并且这个需求能够真正达到他们的目标,确保

开发人员和客户对于需求没有误解或误会,确保按照需求实现的软件系统能够满足客户提出的需求。 3. 设计阶段目的和范围:本过程所关注的是把需求(用户需求说明书和软件需求规格说明书)转变成为如何实现这些需求的描述。主要包括以下两个阶段:概要设计;详细设计。软件设计过程主要包括以下活动:体系结构设计;运算方法设计;类/函数/数据结构设计;建立测试标准。进入标准:产品需求已经形成了基线;需要设计解决方案;新的或修改的需求需要改变当前的设计。输入:形成基线的需求(用户需求说明书和软件需求规格说明书)。退出标准:

设计文档已经评审并形成基线;测试标准、测试计划可行。输出:概要设计文档;详细设计文档;测试计划;

项目标准;选择的工具。过程描述:设计过程包括概要设计和详细设计两个阶段。(1)概要设计这个阶段包括以下的任

务:结构设计、逻辑设计、项目标准定义、系统/集成测试计划的创建,并要进行同级评审。概要设计模板、系统/集成测试计划模板在本阶段将被使用。①结构设计在这个步骤中,完成软件解决方案的基础布局设计。继软件布局设计之后,应用程序被分解成基础模块/组件,目的是为了实现在模块内的高聚合和模块之间的松耦合。通常情况下,模块的划分是基于概要设计中的功能需求而定的。②运算方法设计在这个步骤中,完成软件系统解决方案与应用程序的转换逻辑设计。设计模块接口和应用需求的主要逻辑。在决定通用算法之前,通常需要一些模型。③定义项目标准在这个步骤中,所有的项目开发标准被定义。详细设计/编码标准要同实际执行的一致。制定标准时还要考虑标准将来的扩展性、灵活性和方便性。④创建系统/集成测试计划基于对概要设计的理解,系统和集成测试计划被制定出来。验证最后生产的产品达到了设计要求,通常采用基于黑盒的功能或性能检查。⑤评审设计作为所有开发阶段基础的概要设计是非常重要的,因此需要进行同级评审,由能力强的高级软件工程师组成的同级评审小组,以确保完成了合适的软件解决方案设计。(2)详细设计这个阶段包括以下任务:详细设计和准备单元测试计划。在这个阶段,需要使用详细设计模板和单元测试计划模板。①类/函数/数据结构设计根据项目所采用的设计方法(软件结构化设计方法/面向对象设计方法)进行类、函数及数据结构的设计。所有的用户界面、状态转换和相关的数据库详细描述在本阶段被建立。②创建单元测试计划测试计划应该包括要被测试的每一个模块的每一个元素,例如:与需求的完整一致性;与其它元素的一致性;在性能上的要求。单元/功能测试采用完全透明的白盒/玻璃盒测试方法,对于测试者来讲,实际运行的代码是可见的。③

评审详细设计详细设计阶段的输出是代码编写工作的基础,是非常重要的,因此需要在项目组中很好

的进行评审。评审小组负责评审和清除那些在详细设计中与采用的方法不一致的问题。(3)选择有用工具在详细设计完成之后,系统在解决方案已经非常清晰。这时,项目组需要选择用来提高软件质量的工具。这些工具要产生以下作用:提高质量;提高生产力;缩短开发周期。验证:项目管理者分析概要设计满足需求的程序;项目管理者不定时的监督详细设计说明书的创建工作;

项目管理者通过定期的分析在设计阶段收集的数据来验证设计过程执行的有效性;质量保证(QA)人员通过验证产生的工作产品和做独立的抽样检查来验证产品的有效性;质量保证(QA)人员通过分析项目的度量数据和对过程的走查来验证设计过程的效性。配置控制:所有的概要设计文档、详细设计文档和系统/集成测试计划需要进行严格的配置控制;跟踪的度量数据需要进行

管理和控制。质量保证(QA)检查清单:质量保证(QA)检查清单包括:概要设计文档;详细设计文档;测试计划(系统/集成/单元);项目标准。在概要设计阶段,要确保规格定义能够完全符合、支持和覆盖前面描述的系统需求;可以采用建立需求跟踪文档和需求实现矩阵的方式,确保规格定义满足系统需求的性能、可维护性、灵活性的要求;确保规格定义是可以测试的,并且建立了测试策略;确保建立了可行的、包含评审活动的开发进度表;确保建立了正式的变更控制流程。在详细设计阶段,要确保建立了设计标准,并且按照该标准进行设计;确保设计变更被正确跟踪、控制、文档化;确保按照计划进行设计评审;确保设计按照评审准则评审通过并被正式批准之前,没有开始正式编码。 4. 编码阶段目的和范围:编码过程的目的是为了实现详细设计中各个

软件设计和开发控制程序

公司软件设计和开发控制程序 1目的 对软件设计和开发全过程进行控制,确保产品设计和开发能满足顾客和有关标准、法令、法规的要求。 2范围 适用于软件产品设计和开发的全过程,包括软件产品的升级。 3职责 3.1软件研发部负责组织编制《项目实施计划书》、《需求规格说明书》、《软件概要设计说明书》、《详细设计说明书》、设计和开发输出文件、测试报告、验收报告等,负责组织协调和实施软件产品的设计和开发工作。 3.2软件研发部产品组负责根据市场调研分析或合同提交《可行性研究报告》。 3.3软件研发部测试组负责软件产品的确认测试。 3.4 由各业务部负责将合格软件产品交付顾客使用。 3.5 公司总经理签署《项目经理任命书》,正式启动软件项目。 3.6公司技术总工或授权人负责设计和开发立项《项目实施计划书》、《需求规格说明书》、验收报告等的批准。 4工作程序 4.1 设计和开发策划 4.1.1立项的依据 软件研发部对要进行的开发项目进行立项申请,提交项目资料。由公司的有关人员对项目进行一系列的风险评估。通过风险评估的项目,由软件研发部进行详细进度计划安排,落实时间进度、资源(人员/设备、内部/外部)、技术、资金和费用等,相关资源和资金使用计划要详细列出。 最后所有的项目申请资料、风险评估报告及产品进度计划都要报给公司上级领导审批,进行立项评审。 立项通过的项目才能由软件研发部进入正式的开发工作。 4.1.2 软件研发部项目经理负责就以上立项依据组织《项目实施计划书》的编制。

4.1.3设计和开发人员资格要求可参照本公司相关岗位卡的条款进行. 4.1.4 接口管理 4.1.4.1 在设计和开发策划和输入阶段: a.各业务部将客户相关文件资料交与软件研发部,同软件研发部一起对《需求规格说明书》进行评审; b.软件研发部编制《项目实施计划书》,经公司技术总工或授权人批准后发往客户方。 c.软件研发部项目经理将《项目实施计划书》、《需求规格说明书》及相关背景资料,提供给各设计和开发人员,作为工作的依据。 4.1.4.2 在设计和开发输出阶段,软件研发部项目经理根据设计和开发进度,适时召开设计和开发例会,组织解决设计和开发中遇到的困难,协调相关的资源,以例会记录的形式明确相关要求。 4.1.4.3 在设计、编码、测试阶段: a.进行总体设计、详细设计的设计人员及进行编码的程序员须充分沟通.必要时,可由项目经理负责召开设计和开发专题会议,并以会议记录的形式明确与会人员达成的一致意见。 b.软件研发部设计和开发人员提供单元和综合测试的《测试计划》,交本部门的相关设计和开发人员进行集成并由测试人员进行单元、综合测试。 c.软件研发部提供确认测试的《测试计划》,交测试组进行系统安装、测试。 4.1.4.4设计和开发各阶段 a.软件研发部项目经理负责就技术方面在客户与程序员之间进行协调; b.软件研发部经理负责组织和协调各有关单位的工作; c.各业务部负责与客户的业务联系及相关信息传递; d.参与设计和开发的各部门将必要的信息形成文件,经部门经理评审签字后予以传递. 4.2设计和开发输入 4.2.1《项目经理任命书》经公司总经理批准后,由软件研发部经理组织编写《项目实施计划书》、《需求规格说明书》,其中《项目实施计划书》须由公司技术总工组织人员评审。 4.2.2软件研发部经理组织软件设计和开发人员、测试人员及各业务部等设计和开发提出部门(包括客户),对《需求规格说明书》进行评审,对其中不完善、含糊或矛盾的需求做出澄清和解决.4.2.3《需求规格说明书》在接受合同时可以不完全确定,在项目进行期间可继续制定。当《需求规格说明书》更改时,合同可以修订,对《需求规格说明书》的更改将按照《软件配置管理规程》程序加以控制。 4.3 设计和开发输出 4.3.1各设计和开发人员根据《项目实施计划书》及《需求规格说明书》的要求进行设计和开发活动,并形成相应的文档。 4.3.2设计和开发的输出应形成文件,但不限于以下文档: ——《软件概要设计说明书》;

软件开发过程管理规范

软件开发过程管理规范文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

0 引言 如果要提高软件开发人员的开发质量,必须有相应的考核制度,有了制度后才能推动开发人员想方设法改善自已的开发质量。目前研发对软件开发的过程缺乏细粒度的度量,所以不能依据有效的度量数据来考核开发人员的工作绩效,大部份只是凭考核人主观意志来考核,不能形成对被考核人有效的说服力。此绩效考核办法旨在结合实际情况合理客观地评价开发效率和质量。 1 目的 对软件开发的过程所产生的软件项的质量和过程进行定量的评价,用评价的结果指导软件的开发过程,不断地提高软件开发质量水平,并依据度量记录来考核软件开发人员的工作绩效。 2 软件项包括 1)技术文档:主要包括:可行性分析报告、需求分析报告、软件功能规格说明、开发计划、系统设计报告、测试文档、用户手册、总结报告等; 2)计算机程序。 3 度量数据的来源 1)项目计划; 2)评审报告; 3)测试报告; 4)问题报告; 5)软件维护记录; 4 质量度量

4.1 度量指标 主要根据各类软件项检查表的检查指标来确定,例如,软件需求规格说明书检查表(见附录1),有10个检查指标,则根据具体项目检查侧重点不同,可从中选择相应的检查指标作为度量指标。 4.2 质量等级 1)软件项的质量等级的确定根据度量综合指标进行。 2)度量综合指标计算公式为:Total = ∑QiMi。 3)其中i=1,2,...n代表指标数量; 4)Q代表度量的指标; 5)M代表度量的指标Q在整个指标体系中所占的权重系数,对不同的开发项目可能不同,此系数根据开发的不同着重点给出。 度量指标权重系数表: 序号指标权重 1 指标1 权数1 2 指标2 权数2 3 指标3 权数3 4 指标4 权数4 5 指标5 权数5 加权平均分 1.0 6)质量评价:一般地,根据度量综合指标值,有以下评分标准。 质量评价计分标准表 序号得分质量评价

软件测试工程师必备知识

一、基本常识类 1.计算机基础知识 2.计算机网络基础知识 3.软件测试基本知识(软件质量,软件质量管理基础知识,软件测试概念,软件测试标准,软件测试技术及方法,软件测试项目管理) 4.软件开发基本知识(软件工程知识,理解软件开发方法及过程) 二、技术类 1.程序语言 C/C++,VB,VC,Java,.net,ASP,Javascrīpt等。具体要求要视公司的具体项目或产品来定。但一般以C为基本要求。 2.数据库知识

SQL Server,Oracle,Mysql,Sybase 等。一般对测试人员的要求就是要求会使用,然后熟练使用SQL语句进行查询,修改,添加,删除数据操作。 3.操作系统 Windows,Linux(常用的RedHat,SUSE,Debian)/Unix(FreeBSD,Solaris,HP-UX,AIX,Mac)系统。 三、自动化测试工具类 1.自动化测试概念/自动化测试框架好多人觉得自动化测试就是使用自动化测试工具,其实各种工具只是自动化测试实施的一个有效利器,如何建立一个脱离工具的自动化测试框架远远比研究如何使用测试工具复杂,困难的多。 2.自动化测试流程

3.自动化测试工具的使用自动化测试框架(流程)GUI的功能测试自动化非GUI的功能测试自动化性能测试(广义的和狭义的性能测试)自动化测试工具(功能测试工具,性能测试工具,缺陷管理工具,测试管理工具)(HP)Mercury Interactive QuickTest Pro,WinRunner,LoadRunner,Quality Center(Test Director),SiteScope Compuware QACenter(TestPartner QARun QALoad QADirector TrackRecord),DevPartner studio (IBM)Rational TestSuite(Robot TestManager FunctionalTester PerformeranceTester ClearQuest ClearCase ...)(Borland)Segue SilkTest SilkPerformer SCTestManager 其它:JUnit,NUnit,Auto It,Test Architect,OpenSTA等

软件质量保证试题答案

一、判断题题1分,共20分) ( × )1、软件故障是导致软件失效的必要和充分要素。 ( √ )2、同行评审的主要目标在于检测错误、核对与标准的偏离。 ( √ )3、在任何软件机构中,定期、不定期的培训、再培训都是必须而且是必要的。 ( √ )4、在整个机构中使用基础设施防护与改进部件的主要目标是在机构积累的SQA经验基础上消除或至少降低出错率。 ( × )5、所有SQA活动和项目里程碑的完成或项目里程碑的检验是同时发生的。 ( × )6、Daniel Galin等提在20世纪50年代建立的经典质量费用模型,提供了一种以经济学观点把与产品质量保证相关的费用非类的方法学。 ( √ )7、一旦更改过的SCI替换了前面的SCI,就认为完成了软件的一个新版本。 ( √ )8、软件质量成本是一个投资问题,而不是成本问题! ( × )9、SEI CMM评估标准, ISO 9001和ISO 9000-3标准是典型的项目过程标准。 ( √ )10、软件质量保证的独特性是由软件产品不同于其他制造产品的本质决定的。 二、填空题(每空1分,共20分;请把答案书写在相应横线上。) 1、软件质量工程包括软件质量保证、软件质量规划和软件质量控制三大方面。 2、McCall模型产品修改纬度的质量因素有可维护性、可测试性、灵活性。 3、面向对象模型不同于其他模型的主要特征是组件的密集重用。 4、有两种同行评审方法学:审查和走查。 5、RMA可以划分成三组类别内部风险管理措施,分包风险管理措施,顾客风险管理措施。 6、支持性质量手段有模板和检查表。 7、依据软件系统的生命周期和其他阶段,软件质量度量划分为软件过程度量和软件产品度量。 8、软件配置发布的版本有基线版本、中间版本、修订版本。 9、SQA标准被划分成软件质量管理标准,软件项目过程标准两类。 10、软件缺陷的固有特征有软件缺陷的固有性、软件缺陷的敏感性,软件缺陷的感染性。 三、选择题(每小题2分,共18分) 1 软件调试的目的是(B) ( A)发现软件中隐藏的错误 (B)解决测试中发现的错误 (C)尽量不发现错误以便早日提交软件 (D)证明软件的正确性 2 .黑盒测试技术中不包括(D ) (A)等值分析测试(B)边界值分析测试 (C)错误推测法(D)逻辑覆盖测试 3.(D )是把输入条件视为“因”,把输出条件视为“果”,将黑盒看成是从因到果的网络图(A)等值分析测试(B)边界值分析测试 (C)错误推测法(D)因果图 4.集成测试的测试用例是根据(C )的结果来设计。 A.需求分析 B.源程序 C.概要设计 D.详细设计 5 CMMI中,(D )主要致力于技术革新和优化过程的改进。

软件产品开发运作管理作业程序

1 / 5 1. 目的 制定软件产品开发运作管理程序,对软件开发过程的各个工作阶段予以识别和控制,实施过程管理程序和质量控制,使软件开发过程各阶段得以有序进行,不符 受 控 分发号

合项得到及时发现并纠正,确保软件开发项目的工程质量符合客户的要求。 2. 范围 适用于公司各种类型的软件产品开发活动:内部立项开发项目、客户委托开发项目、招投标项目等等包含软件产品开发的运作过程。 3. 职责 3.1中心副总经理:负责组织内部项目的立项申请、软件开发项目的项目任务定义、组织和软件开发技术评审,负责技术开发的外部联合有关事宜,指导开发部经理确定项目经理。 3.2软件开发部经理:协助中心副总经理进行项目任务定义和软件开发技术评审,确定软件开发项目经理,合理配置开发项目各种资源,监督项目经理执行软件开发运作程序及项目过程质量控制,并协同质量管理部人员对开发项目进行检查验收。与项目经理共同负责软件产品开发完成后的归档工作。 3.3项目经理:负责软件产品开发的执行过程:从项目任务书下达开始,对开发计划、需求开发、概要设计、测试设计与计划、数据库设计、详细设计、编码、测试、编写用户手册(或操作手册)、模块开发卷宗、试运行、验收等产品开发活动的全过程实施负责,对产品概要设计、数据库设计、详细设计的实施负责。并负责项目开发完成后的归档。 3.4开发人员(软件工程师):配合项目经理,对指定任务的需求调研、详细设计、编码及单元测试、手册内容编写、测试任务、模块卷宗开发负责。配合项目经理进行开发文件、卷宗的编篡归档工作。 4. 程序内容 4. 1软件产品开发流程图 (左侧为工作阶段名称,右侧为工作相关产品,括号中的编号是文档的编号)

软件开发过程规范

【最新资料,Word版,可自由编辑!】

目录 1.前言 (3) 1.1 目的 (3) 1.2 对象 (3) 1.3 要求 (3) 1.4 适用范围 (3) 1.5 软件开发过程模型 (3) 1.6 开发过程划分 (4) 2.技术过程规范部分 (4) 2.1 概述 (4) 2.2 业务建模阶段 (4) 2.3 需求阶段 (6) 2.4 分析设计阶段 (8) 2.5 实现阶段 (10) 3.管理过程规范部分 (11) 3.1 概述 (11) 3.2 接受项目 (12) 3.3 重新评估项目范围和风险(对于较大项目) (12) 3.4 制定开发计划 (13) 3.5 迭代开发管理 (13) 3.6 监控项目的实施 (14) 3.7 结束项目 (15)

软件开发过程规范 前言 目的 本规范的目的是使整个软件产品开发及项目工程阶段清晰,要求明确,任务具体,便于规范化、系统化及工程化。有利于提高软件生命周期的控制及管理,提高所开发软件的质量,缩短开发时间,减少开发和维护费用,使软件开发活动更科学、更有成效。 对象 本规范面向产品生命周期的所有相关人员,包括管理人员、开发人员、质管人员。 要求 具有软件开发管理职能的人员要求熟知项目开发的各阶段过程和各阶段过程相应的规范。 适用范围 适用于产品开发生命周期中的除产品提交外的其他全部过程;规范分为两部分:技术过程规范和管理过程规范,分别适用于软件开发过程中的技术性活动和管理性活动。 软件开发过程模型 本规范所采用的软件开发过程模型为简化的RUP开发过程模型;软件开发过程是体系结构为中心,用例驱动和风险驱动相结合的过程迭代。

软件测试基础知识整理

软件测试基础教程 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 一、测试的分类: 从测试方法的角度分为: (1)手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 (2)自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 > 从整体的角度分为: (1)单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。单元测试的依据是系统的详细设计;一般由项目组开发人员自己 完成。 (2)集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 (3)系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 (4)确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为: . (1)白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 (2)黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时, 把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它 只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测法。 A、等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子 集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试 用例设计方法。 B、边界值分析:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是 发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错 误。 C、错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的 方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特 殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的 错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据 和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错 误的情况。可选择这些情况下的例子作为测试用例。

软件项目标准开发流程

1、需求分析是怎样做的?(自己理解着说) 需求分析是构建软件系统的一个重要过程。 一般,把需求类型分成三个类型: 1、业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目的要求,它们在项目视图与范围文档中予以说明。 2、用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。 3、功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 业务需求和用户需求是软件需求分析的基础,也是软件构建的前提。系统分析员通过对业务需求和用户需求的分解,将其转换成克一形式化描述的软件功能需求。开发软件系统最为困难的部分,就是准确说明开发什么。这就需要在开发的过程中不断的与用户进行交流与探讨,使系统更加详尽,准确到位。这就需要确定用户是否需要这样的产品类型以及获取每个用户类的需求。 4、客户也经常是矛盾的。事实上,很少有客户能够明确的知道怎样的一个系统对自己是最有益处的,他们往往在集中方案之间徘徊,于是经常产生需求的变动。生产厂商经常陷入客户自己的矛盾之中。 客户的负面影响可能对于能够在预算内按时完成项目产生很大的影响。尽管客户需要对需求的质量负责任,但是,当一个软件项目因为客户事先没有预料到的情况而导致失败的时候,即使客户不会追究开发方的责任,就软件项目本身而言,也已经是失败的。 总结: 良好的需求分析是软件成功的基础。以上是作者对需求分析工作实践的一次小结以及综合性的思考,是对需求分析本身所做的一次分析。在此基础上,作者提出了逆向沟通的设想,即系统分析员主动进行沟通,提出指导性意见。当软件融合了客户和系统分析员双方智慧,其质量将会进一步得以提高。 2、 6周 (比较合理的代码行数是多少,如果多了,我是怎么切割的)500行,例如:实现数据3、如何将用户登录的信息保存? 用户登陆页面将每个用户的信息使用session保存下来,例如: session.setAttribute("UserID","ytang"); 如果用到用户的登陆信息,再从session根据session.getAttribute("userID")所存储的信息例如在项目1中的应用 4.软件项目开发流程应该是什么样子的? 1。需求分析和获取; 2。界面的设计和修改,直到用户可以接受; 3。后台数据库的建立,做成几张表,写几个存储过程; 4。前台模块的编写和调试; 5。项目的实施和维护;

软件测试自学指南

软件测试自学指南 软件测试自学指南一、软件测试基础知识 要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试? 这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。 下面是推荐的参考书: 1、软件测试(原书第2版) (美)佩腾(Patton,R.)著,张小松等译 这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。 看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。 2、软件测试的艺术(原书第3版) (美)梅耶等 第二本就是这本软件测试的“圣经”,这本书据说是硅谷测试人员必备的书。这本书最值得看的地方就是测试的思想。阅读这本书可以让你有豁然开朗的感觉。 3、计算机软件测试(原书第2版)(美)卡尼尔 这本书也是值得一读的,同样也是非常适合初学者阅读的。 4、全程软件测试朱少民 上面的都是外国人写的,来本国产的。 还有很多经典的测试书,例如:Paul C.Jorgensen的软件测试(第2版)这本书,但是笔者认为他不是很适合初学者,这本书都是用来做研究生教材的,做过一段测试的可以来看看。 二、软件测试进阶书籍 这部分主要是针对有过一年左右测试经验的,真正测试过几个项目的。推荐的参考书主要是提高测试效率的,一些测试的经验。 1、有效软件测试

这本书主要是给软件测试的各个阶段提出了一些建议,一共50条。这些建议都十分中肯,值得一读。 2、软件测试经验与教训 听书名也应该了解了一大半了吧,这本书一共给出了293条经验,阅读它吧。它会让你重新思考关于测试的基本理论。 还有一些很好的书籍了,但是没有读过的就不做推荐了。 三、自动化测试 我们都知道,目前自动化测试是软件测试的趋势,而且目前公司在招聘的过程中都会考察自动化相关的知识。这里我们介绍一下QTP和Loadrunner等测试工具。 目标:掌握自动化测试的概念、流程和方法。能够使用相关的工具进行自动化的测试。QTP部分: 目标:掌握QTP的测试流程、工作原理和基本使用。能够使用QTP进行自动化测试。进阶需要掌握自动化框架设计的原理,并能独立设计自动化框架。 目前网络资源很丰富,有很多前辈录制了很多视频,大家可以先来看看。 1、IT播吧- 小强老师零基础学习软件测试系列视频教程之QTP学习指南 首先可以先看这套视频,这里主要讲的是QTP的基本使用。学习视频的过程中,最好能够独立的测试QTP自带的飞机订票的例子。这个最好了,QTP的基本使用就没问题了。 2、精通QTP——自动化测试技术领航余杰赵旭斌编著 第一个视频还是讲的录制和回放,并且也是以飞机订票作为的例子,但是实际工作中,很少有录制的项目,基本上都是需要自己开发脚本的。所以这本书会给你很大帮助的。 3、QTP自动化测试权威指南(第二版) 这本是QTP的大牛Tarun Lalwani的经典力作,公认的QTP测试的“圣经”。无论是初学者还是使用过QTP的都应该好好的读一读。

软件质量保证测试试题与答案

选择题 1.软件测试的目的是( B )。 A)试验性运行软件B)发现软件错误 C)证明软件正确D)找出软件中全部错误 2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围B)内部逻辑 C)功能D)输入数据 3.黑盒法是根据程序的(C)来设计测试用例的。A)应用范围B)内部逻辑 C)功能D)输入数据 4.为了提高软件测试的效率,应该( D )。 A)随机地选取测试数据 B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划 D)选择发现错误可能性最大的数据作为测试用例 5.与设计测试用例无关的文档是(A )。 A)项目开发计划B)需求规格说明书 C)设计说明书D)源程序 6.测试的关键问题是( B )。 A)如何组织软件评审 B)如何选择测试用例 C)如何验证程序的正确性 D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。 A)测试计划B)测试规则 C)预期输出结果D)以往测试记录分析8.成功的测试是指运行测试用例后( B )。 A)未发现程序错误 B)发现了程序错误 C)证明程序正确性 D)改正了程序错误 9.下列几种逻辑覆盖标准中,查错能力最强的是 ( D )。 A)语句覆盖B)判定覆盖 C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是 (D )。 A)等价类划分法B)边界值分析法 C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试, 该阶段不能完成的测试是(A)。 A)系统功能B)局部数据结构 C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析B)概要设计 C)详细设计D)编码 13.不属于白盒测试的技术是(D)。 A)路径覆盖B)判定覆盖 C)循环覆盖D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试 方法为( A )。 A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试 15.使用白盒测试方法时,确定测试数据应根据(A)

ISO软件开发全套文档~软件开发过程控制程序

北京易游无限科技公司 https://www.wendangku.net/doc/b215311683.html, EUWX/QP 0714 软件开发过程控制控制程序 授控状态: 版号:A/O 分发号: 持有人: 2007年8月6日发布2007年8月6日实施

易游无限科技发布 易游无限科技程序文件文件编号CSI/QP 0714 版号A/0 标题: 软件开发过程控制程序页码共5页第1页

为保证软件产品及其文档可维护,软件开发过程得到有效控制,特制定本程序。 2适用范围 本程序文件适用于本公司有合同的所有软件开发过程的控制活动。 3定义 3.1需求分析:(引用GB/T11457-1995的2.404)研究用户要求以得到系统或软件需求定义的过程。 3.2概要设计:(引用GB/T11457-1995的2.343)分析各种设计方案和定义软件体系结构的过程。典型的概要设计包括计算机程序组成成分和数据的定义及构造、界面的定义,并提出时间和规模方面的估计。 3.3详细设计:(引用GB/T11457-1995的2.147)推敲并扩充概要设计,以获得关于处理逻辑、数据结构和数据定义的更加详尽的描述,直到设计完善到足以能实现的地步。 3.4设计实现:(引用GB/T11457-1995的2.229)把设计翻译成代码,然后对此代码排除隐错的过程。它是程序的一种机器可执行形式,或者能被自动地翻译成机器可执行的形式的某种形式的程序。 4职责 4.1项目负责人:负责制订《项目计划》、协调项目内外各方的关系、控制项目进度并保证项目计划的实施和完成。 4.2需求分析员:作为开发方的代表,负责沟通用户和开发人员的认识和见解,明确及准确地编写《软件需求说明书》和初步的《系统指南》。 4.3系统设计员:负责把软件需求变换成可表示的可实现的软件形式,为设计实现提供可行的依据。并在设计过程中要负责编写《概要设计说明书》、《数据库设计说明书》、《详细设计说明书》,完成《系统指南》的编写。 4.4程序员:按设计要求把软件的详细设计变换成可执行的源程序,进行调试。完成相应的文档,编写《用户操作手册》。 4.5测试人员:负责制定测试计划,设计测试方案,测试用例,并实施测试。 4.6配置管理人员负责对开发库中软件配置项的管理和维护。 4工作程序 软件开发过程主要分为项目计划、需求分析、概要设计、详细设计、设计实现、内部测试和系统测试7个阶段。 易游无限科技程序文件文件编号CSI/QP 0714 版号A/0 标题: 软件开发过程控制程序页码共5页第2页

标准的软件开发过程

标准的软件开发过程 软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达14种之多,在每个阶段需要编写哪些文件,以及这些文件的主要内容见下: 1.可行性与计划研究阶段 可行性研究报告:在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益分析、制订开发计划,并完成应编制的文件。 项目开发计划:编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作。 2.需求分析阶段 软件需求说明书:软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。内容包括对功能的规定对性能的规定等。 数据要求说明书:数据要求说明书的编制目的是为了向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。 初步的用户手册:用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。 3.设计阶段 概要设计说明书:概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。 编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。

详细设计说明书:详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。 数据库设计说明书:数据库设计说明书的编制目的是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。 测试计划初稿:这里所说的测试,主要是指整个程序系统的组装测试和确认测试。本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。4.实现阶段 模块开发卷宗(开始编写):模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。 编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。 用户手册完工 操作手册:操作手册的编制是为了向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。 测试计划终稿: 5.测试阶段 模块开发卷宗(此阶段内必须完成) 测试分析报告:测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载。 项目开发总结报告:项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。

软件测试必备基础知识

软件测试必备基础知识 一、基本概念 软件测试 在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成 过程的文档、数据以及程序进行测试 软件测试的目的 发现程序中存在的错误发现程序中存在的错误,而不是证明程序无错误。一个好的测试用例在于它能发现至今尚未发现的错误。一个成功的测试则是发现了至今未发现的错误。开始我们认为做测试无非是为了证明我们编的程序是无错误的,那是大错特错了。因为bug会因时间不同,条件不同而出现。永远无法证明我们的程序是绝对正确的。 为反馈信息做准备为开发者或软件项目经理提供反馈信息,以及为风险评估所准备的信息 软件测试的原则 所有的测试都应追溯到用户需求。因为软件的目的是使用户完成预定的任务,满足其 需求,而软件测试揭示软件的缺陷和错误,一旦修正这些错误就能更好地满足用户需求。 应尽早地和不断地进行软件测试。由于软件的复杂性和抽象性,在软件生命周期各阶 段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把 它贯穿到软件开发的各个阶段去。在需求分析和设计阶段就应开始进行测试工作,编写相 应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽 早发现和预防错误,杜绝某些缺陷和错误,提高软件质量,测试工作进行得越早,越有利 于提高软件的质量,这是预防性测试的基本原则。 在有限的时间和资源下进行完全测试,找出软件所有的错误和缺陷是不可能的,软件 测试不能无限进行下去,应适时终止。因为,测试输入量大、输出结果多、路径组合太多,用有限的资源来达到完全测试是不现实的。

测试只能证明软件存在错误而不能证明软件没有错误。测试是无法显示潜在的错误和缺陷,继续进一步错误可能还会找到其它错误和缺陷。 充分关注测试中的集群现象。在测试的程序段中,若发现的错误数目多,则残存在其中的错误也越多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块。 程序员应避免检查自己的程序。考虑到人们的心理因素,自己揭露自己程序中的错误是件不愉快的事,自己不愿意否认自己的工作;另一方面,由于思维定势,自己难以发现自己的错误。因此,测试一般由独立的测试部门或第三方机构进行。 尽量避免测试的随意性。软件测试是有组织、有计划、有步骤的活动,要严格按照测试计划进行,要避免测试的随意性。 软件测试对象 程序开发过程中的各个文档、源程序、目标程序及数据 软件测试的模型 V模型 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。 左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。 V模型问题: "测试是开发之后的一个阶段,"测试的对象就是程序本身。 "实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。 "整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量和预期进度 W模型相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。 W模型也有局限性。W模型和V

最新软件质量保证模拟试卷-B

常熟理工学院200 ~200 学年第学期 《软件质量保证》模拟试卷2 试题总分: 100 分考试时限:120 分钟 一、判断题(判断下列题目是否正确,如果正确请打“√”,错误请打“×”每小题2分,共20分) ( )1、在专业的软件开发、维护中,SQA环境是建立、执行SQA方法时必须首要考虑的问题。 ( )2、如何看待软件产品内部的缺陷,开发者和用户的立场是一致的。 ( )3、专家观点通过引进补充的外部能力到机构内部开发过程中来而支持质量评估工作。 ( )4、质量管理标准是专业标准,它们向开发组提供方法学指南。 ( )5、软件生命周期模型强调的是直接开发活动,而没有指示出开发过程的顾客参与。 ( )6、规程具有机构范围的适用性,它的执行和具体执行的人或组织背景有着密切关系。 ( )7、CAPA的目的在于检测、处理、改正软件缺陷。 ( )8、项目进展控制SQA工具有Gatt图、日历、数据流图和活动网络图。 ( )9、IEEE、ISO、DOD、ANSI、EIA都是著名的SQA标准开发机构。 ( )10、在科学和工程中,如果没有度量,对一切都没有一个定量的了解,那么这种科学和工程既不是有效的,也不是实际的。 二、填空题(每空1分,共20分;请把答案书写在相应横线上。) 1、McCall模型划分了、、三个纬度的11个软件质量因素。 2、螺旋模型任何一次迭代都可划分为制定计划、、工程和四个项限。 3、依据合同评审的目标对合同评审主题进行分类为和两种类型。 4、典型的版本方针包括、。 5、软件对属于各种质量因素的需求的符合性是由来测量的。 6、CAPA过程的成功运行包含如下活动:信息收集、、、改进方法的执行、跟踪。 7、常见的软件配置演化模型有和。 8、软件更改的质量保证工作需要和两个级别的活动。 9、从内容和重点上我们可以把质量管理标准划分成和两种类型。 10、、是SQA专职人员。 三、名词解释(每小题3分,共18分) 1、Daniel Galin 软件质量保证的扩展定义 2、合同评审 3、规程

软件开发流程管理制度

软件开发流程管理制度 (讨论稿) 为加强对定制软件开发工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高定开发效率和效益,特制定软件开发流程管理制度。 第一章、总则 为保证日常工作正常有序的进行,让开发中各个环境更紧凑,更可控,需要尽可能实现项目管理的正规化,工作过程的流程化,以便提高软件质量,按期交付。 1、软件开发总体遵循项目管理和软件工程的基本原则。 2、项目管理涉及项目立项、项目计划和监控、配置管理。 3、软件工程涉及需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护。 第二章、阶段成果 根据软件工程的过程,制定以下工作流程,并规定了各个重要环节需要提交的交付物。各阶段需提交的文档: 1、立项:项目申请表,软件需求报告或设计方案。 2、需求分析:项目研发主计划、需求规格说明书 3、总体设计:概要设计说明书或功能模块描述 4、详细设计:详细设计说明书,包括软件接口说明、单元测试计

划。 5、软件实现:软件功能说明、源代码说明或者注释 6、产品测试:测试报告 7、产品发布:产品说明书、使用手册 8、产品维护:问题反馈记录 9、项目总结:提交客户方的项目总结和公司项目汇报的PPT。软件过程成果表:

第三章、岗位设置 根据公司目前的开发过程主要分为分析、开发、测试三个阶段。分析阶段完成用户需求文档的编写,系统总体设计的编写;开发阶段完成设计文档的编写,代码的编写、代码的维护。测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,软件设计师,程序员,测试工程师的岗位设置。

软件测试基础知识适合初学者

软件测试基本概念 1、软件=程序+文档,软件测试=程序测试+文档测试。 “程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。; 2、软件的分类 按功能分:系统软件、应用软件 按技术架构分:单机版软件、C/S结构软件(C是指客户端,S指服务器端)、B/S结构软件(B是指浏览器) 按照用户划分:产品软件、项目软件 按开发规模划分:小型、中型、大型 3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。 4、测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立 5、软件环境的分类:软件开发环境软件生产运行环境 6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。 软件测试分类 1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果 白盒测试:指的是把盒子盖打开,去研究里面的源代码和程序结构。 2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。 动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。

注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间也有可能交叉。 3、单元测试:编译运行程序——静态测试——动态测试 集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。 系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序. 验收测试又分为α测试和β测试,其实α测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而β测试指的是内侧后的公测,即完全交给最终用户测试。 4、功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。 性能测试:软件的性能包括很多方面,主要有时间性能和空间性能两种。时间性能:主要指软件的一个具体事务的响应时间。空间性能:主要指软件运行时所消耗的系统资源。 软件性能测试分为一般性能测试、稳定性测试、负载测试和压力测试。一般性能测试指的是让被测系统在正常的软硬件环境下运行,不向其十佳任何压力的性能测试。稳定性测试,也叫可靠性测试,是指连续运行内测系统,检查系统运行时的稳定程度。我们通常用MTBF (错误发生的平均时间间隔)来衡量系统的稳定性,越大稳定性越强。负载测试是性能测试的一种,通常是指让被测系统在其能忍受的眼里的极限范围之内连续运行,来测试系统的稳定性。压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。 假设一个人很轻松的就能背一袋米,背两袋米很吃力,最多就能背三袋米,那么: 一般性能测试:我就让他背一袋米 稳定性测试:我让他背一袋米,但是让他去操场上跑圈,看多久累倒。 负载测试:我让他背两袋米去操场上跑圈,看多久累倒。 压力测试:我让他背两袋米,三袋米,四袋米......发现他最多就能背三袋米。 5、回归测试:是指对软件的新的版本测试时,重复执行上一个版本测试时的用例 冒烟测试:是指在对一个新版本进行西戎大规模的测试之前,先验证一下软件的基本功

软件测试作业及答案

第一章 1.选择题 (1)软件本身的特点和目前软件开发模式使隐蔽在软件内部的质量缺陷不可能完全避免,在下列关于导致软件质量缺陷的原因的描述中,不正确的是(C) A.软件需求模糊以及需求的变更,从根本上影响着软件产品的质量 B.目前广为采用的手工开发方式难以避免出现差错 C.程序员编码水平低下是导致软件缺陷的最主要原因 D.软件测试技术具有缺陷 (2)缺陷产生的原因是(D) A.交流不充分及沟通不畅、软件需求的变更、软件开发工具的缺陷 B.软件的复杂性、软件项目的时间压力 C.程序开发人员的错误、软件项目文档的缺乏 D.以上都是 2.判断题 (1)缺乏有力的方法学指导和有效的开发工具的支持,往往是产生软件危机的原因之一。(√) (2)目前的绝大多数软件都不适和于快速原型技术。(√) (3)在程序运行之前没法评估其质量。(×) (4)下列哪些活动是项目 探索火星生命迹象(√) 向部门经理进行月工作汇报(×) 开发新版本的操作系统。(√) 每天的卫生保洁。(×) 组织超级女声决赛。(√) 一次集体婚礼。(√) 3.简答题 (1)什么是软件软件经历了哪几个发展阶段 答:软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件北划分为系统软件,应用软件和介于着两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不是针对某一特定领域,而应用软件则恰好相反,不同的应用软件更根据用户和所服务的领域提供不同的功能。 20世纪50年代初期至60年代中期是软件发展的第一阶段(又称程序设计阶段); 第二阶段从20世纪60年代中期到70年代末期是程序系统阶段。 第三阶段称为软件工程阶段,从20世纪70年代中期到80年代中期,由于微处理器的出现,分布式系统广泛应用,以软件的产品化,系列化,工程化和标准化为特征的软件产业发展起来,软件开发有了可以遵循的软件工程化的设计原则,方法和标准。 第四阶段是从20世纪80年代中期至今,客户端/度武器(C/S)体系结构,特别是Web技术和网络分布式对象技术法飞速发展,导致软件体系结构向更加

相关文档