准时交付给用户,所耗费的成本不超出预算,且能够正常地运行。
软件质量保证(Software Quality Assurance, SQA)就是保证软件质量的一系列系统性的活动,它是建立一套有计划,有系统的方法,向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。
软件质量保证的主要任务是向所有有关的人提供证据以确立软件产品的质量功能按照需求运行,它不负责高质量软件的编制,其主要职责是审计软件经理和软件工程组的质量活动,并鉴别活动中出现的偏差。
6.质量保证部门与测试部门的职责是否一样?归纳它们的共同点和不同点。 参考答案:
不一样。
从共同点的角度看,软件测试部门和软件质量保证部门的目的都是尽力确保软件产品满足需求,从而开发出高质量的软件产品。两个流程都贯穿在整个软件开发生命周期中。
二者的不同之处在于软件质量保证部门的工作侧重对软件开发流程中的各个过程进行管理与控制,杜绝软件缺陷的产生。而测试部门工作则是对已产生的软件缺陷进行修复。
7.ISO 9000标准与软件测试的关系是什么? 参考答案:
ISO 9000系列标准可分为两类:ISO 9001~ISO 9003作为第一类用于建立客户对生产商质量要求的保证;ISO 9004作为第二类用于生产商自身建立质量保证体系。其中ISO 9003作为软件企业实施ISO 9001质量保证模式提供实施指南,它对软件产品从市场调查、需求分析、软件设计、编码、测试等各个开发阶段进行质量保证控制,也对产品发布、销售、成品安装和维护过程进行规范控制,从而保证软件产品的整体质量。
8.简述CMM的具体等级划分。 参考答案:
CMM将软件过程能力成熟度划分为5个等级,如下图所示。每个等级定义一组过程能力目标,并且表述了能够达到这些过程能力目标的实践活动。
5、优化级通过信息反馈和新技术不断提高的过程不断改进过程可预测过程有标准过程4、管理级可控制管理。对过程和软件产品质量有具体的量度标准。组织化思想。具备文档化和标准化。3、已定义级无定义过程1、初始级2、可重复级项目级思想。可借鉴类似项目成功经验。过程混乱,项目成功具有偶然性。
图2 CMM软件成熟度等级
第3章 软件测试过程与方法
一、选择题
1. 关于白盒测试与黑盒测试的最主要区别,正确的是 A 。 A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序员参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛
2. 软件测试类型按开发阶段划分是 B 。 A.需求测试、单元测试、集成测试、验证测试
B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 3. B 可以作为软件测试结束的标志。
A. 使用了特定的测试用例 B.错误强度曲线下降到预定的水平
C.查出了预定数目的错误 D.按照测试计划中所规定的时间进行了测试 二、简答题
1.简述软件测试与软件开发的关系。 参考答案:
软件测试是贯穿于整个软件开发的过程。在软件开发的各个阶段,测试人员必须制订本阶段的测试方案,把软件开发和测试活动集成到一起,如下图所示。
项目规划产品发布项目需求分析测试需求分析系统测试系统测试计划项目概要分析集成测试计划项目详细分析单元测试计划代码编号测试代码编号集成测试单元测试
2.描述测试流程整体框架。 参考答案:
软件测试从测试计划编写到测试实施,需要经过一系列的过程。这些测试按软件从编写到交付的各个阶段的先后顺序可分为:单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试5个阶段,如下图所示。
被测模块单元测试设计信息软件需求系统其它元素系统测试已确认的软件基本可交付的软件用户预定要求验收测试被测模块单元测试基本可交付的软件集成测试已集成的软件确认测试被测模块单元测试
3.简述单元测试的目标和内容。 参考答案:
单元测试的主要目标是确保各单元模块被正确的编码,就是检验程序最小单元有无错误。单元测试的主要内容有:模块接口测试;局部数据结构测试;独立路径测试;出错处理测试;边界条件测试。
4.解释驱动模块和桩模块的概念。 参考答案:
驱动模块和桩模块都是单元测试过程中设置的辅助模块。 驱动模块(driver)。相当于被测模块的主程序,它接收测试数据,把这些数据传给被测模块,最后输出实测结果。
桩模块(stub)。用以代替被测模块调用的子模块,桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。
5.集成测试通常都有哪些策略? 参考答案:
一般是根据软件的具体情况来决定采用哪种模式。通常,把模块组装成为系统的测试方式有两种:一次性集成测试(No-Incremental Integration)又称非增量式集成测试。另外一种是增量式集成测试方式,增量式集成测试有3种方式:自顶向下增量测试方式(Top-down Integration)、自底向上增量测试方式(Bottom-up Integration)和混合增量测试方式(ModifiedTop-downIntegration)。
6.归纳确认测试阶段的工作。 参考答案:
确认测试又称为有效性测试或合格性测试(Qualification Testing),其目的是验证软件的功能和性能及其特性是否与客户的要求一致,是否满足软件需求规格说明书中的规定。确认测试阶段需要做的工作如下图所示。首先要进行有效性测试及软件配置审查,然后进行验收测试和安装测试,在通过了专家鉴定之后,才能成为可交付的软件。
选择测试人员构造测试用例交际运行测试软件计划用户文档开发文档源程序文本支持环境软件配置审查软件配置管理机构裁决专家鉴定 会交付用户运行维护有效 性测试测试报告
7.简述系统测试的流程。 参考答案:
系统测试流程如下图所示:
审批审批迭代制定测试计划设计测试用例执行系统测试缺陷管理与改错
8.简述验收测试的流程和常用的策略。 参考答案:
验收测试的工作流程如下图所示: