软件测试技术与测试实训教程讲座

上传人:好** 文档编号:112421453 上传时间:2019-11-06 格式:PPT 页数:34 大小:314KB
返回 下载 相关 举报
软件测试技术与测试实训教程讲座_第1页
第1页 / 共34页
软件测试技术与测试实训教程讲座_第2页
第2页 / 共34页
软件测试技术与测试实训教程讲座_第3页
第3页 / 共34页
软件测试技术与测试实训教程讲座_第4页
第4页 / 共34页
软件测试技术与测试实训教程讲座_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《软件测试技术与测试实训教程讲座》由会员分享,可在线阅读,更多相关《软件测试技术与测试实训教程讲座(34页珍藏版)》请在金锄头文库上搜索。

1、软件测试技术与测试实训 教程 黎连业 王华 李龙 黎照 北京:机械工业出版社 2012.05 第2讲:第2章 软件测试的质量要 求 软件测试是软件工程的重要组成部分,测试工作 的质量直接影响软件产品的生命力。软件测试质 量的重点是测试成熟度模型、质量要求和测试流 程细则。本章重点讨论以下内容: 软件测试成熟度模型; 软件测试的质量; 软件测试人员的职责 软件测试流程细则要求。 21 软件测试成熟度模型 211 软件测试成熟度模型 软件测试成熟度模型有三个。这三个模型是: TCMMTesting Capability Maturity Model,1996年,Testing Computer S

2、oftware 会议上,Rodger和Susan Burgess提出。 TSMTestability Support Model,1996年 ,David Gelperin和Aldin Hayashi 提出。 TMMTesting Maturity Model,1996年, IIIene Burnsein等提出。 1TCMM软件测试成熟度模型 TCMM定义了5个级别,与CMM的级别设 置完全一样。 第一级:初始级; 第二级:可重复级; 第三级:已定义级; 第四级:受管理级; 第五级:优化级。 2TSM软件测试成熟度模型 TSM有三个级别分别是: 第一级:弱(Weak)。可测性支持,很少测试问题

3、被提 及; 第二级:基本(Basic)。可测性支持,基本的测试问题 被提及; 第三级:强(strong)。可测性支持,所有测试问题被 提及。 TSM定义了6个KSA(Key Support Area),这6个KSA是 : 测试友好的基础构架 ; 顾及测试的项目计划 ; 测试友好的产品信息 ; 顾及测试的软件设计; 测试件; 测试环境设计。 TSM从测试组织的外部而非内部本身来考察测试的成熟性 ,这是他区别于另外两个测试模型的地方。 3TMM软件测试成熟度模型 TMM(Testing Maturity Model)定义了 5个级别。 第一级 初始级; 第二级 定义级 ; 第三级 集成级 ; 第四

4、级 管理和测量级 ; 第五级 优化预防缺陷和质量控制级。 这三个模型是各有侧重的关于测试的成熟 度模型。而当前流行的是TMM。 212 TMM软件测试成熟度模 型简要介绍 1 TMM模型框架 TMM定义了五个成熟度等级,每个等级代 表着一个成熟的测试过程。 TMM模型框架如图2-1 所示。 2每个等级的成熟度目标 每个等级的成熟度目标如图2-2所示。 初始级: 测试是一个混乱无序的过程,几乎没有定 义并且与调试没有区别。软件开发过程中 缺乏测试资源,工具以及训练有素的测试 人员。测试是代码完成后以随意方式进行 的。测试与调试相互交错以找出软件的缺 陷。测试的目标是表明软件奏效。发行的 软件产品

5、没有质量保证,缺乏资源、工具 和合适的工作人员。 定义级: TMM的定义级中,测试己具备基本的测试 技术和方法,软件的测试与调试己经明确 地被区分开。 制订测试与调试目标 启动测试计划过程 制度化基本的测试技术和方法 集成级 : 软件测试的过程及质量对软件产品质量有直接 影响。由于测试往往是在时间紧,压力大的情 况下所完成的一系列复杂的活动,因此应由训 练有素的专业人员组成测试组。测试组要完成 与测试有关的多种活动,包括负责制订测试计 划,实施测试执行,记录测试结果,制订与测 试有关的标准和测试度量,建立铡试数据库, 测试重用,测试跟踪以及测试评价等。 制订技术培训计划 软件生命周期测试 控制

6、和监视测试过程 管理和测量级 : 在管理和测量级,测试活动是完全被管理的; 有策划、有指导、人员具备技能、有组织、可 控制。管理层、测试者们定义、收集、分析和 使用测试相关的度量数据。测试活动的定义正 式扩展到整个生命周期中的审查活动,同行评 审和审查作为基于实现的测试活动的补充,它 们被认为是质量控制程序,用以移除软件产品 的缺陷。 管理和测量级有3个要实现的成熟度目标: (1)建立组织范围内的评审程序 (2) 建立测试过程的测量程序 (3)软件质量评价 优化预防缺陷和质量控制级: 测试首先要保证软件产品满足规格说明书、可靠, 并对它的可靠性有一种确定的信心。其次,测试要 处理缺陷和预防缺陷

7、,这点通过收集和分析缺陷数 据来实现。由于本级的测试活动可重复、已管理、 已定义和己测量的,因此软件组织能够优化调整和 持续改进测试过程。测试过程的管理为持续改进产 品质量和过程质量提供指导,并提供必要的基础设 施。优化,预防缺陷和质量控制级有3个要实现的成 熟度目标: (1)应用过程数据预防缺陷。这时的软件组织能够记 录软件缺陷,分析缺陷模式,识别错误根源,制订 防止缺陷再次发生的计划,提供跟踪这种括动的办 法,并将这些活动贯穿于全组织的各个项目中。 (2)质量控制在本级,软件组织通过采用统计采样技 术,测量组织的自信度,测量用户对组织的信赖度 以及设定软件可靠性目标来推进测试过程。 (3)

8、优化测试过程在测试成熟度的最高级,己能够量化 测试过程。 22 软件测试的质量 2.2.1 软件质量属性 软件质量是许多质量属性的综合体现,人们通过改善软 件的各种质量属性而提高软件的质量。软件的质量属性 很多,软件工程教科书以及CMM和ISO9001都作了明确 的介绍如正确性、精确性,健壮性、可靠性、容错性、 性能、易用性、安全性、可扩展性、可复用性、兼容性 、可移植性、可测试性、可维护性、灵活性等。 软件质量属性可分为两大类:“功能性”与“非功能性” 。 1. 功能性质量因素 2. 非功能性质量因素 2.2.2 软件测试的质量要求 软件测试的质量要求要重点注意如下9大点内容 。 1. 测试

9、的产品要有产品描述 2. 功能 3. 可靠性 4. 易用性 5.效率 6. 可维护性 7. 可移植性 8. 用户文档 9. 程序 2.2.3软件测试的质量控制 软件测试的质量控制主要有制定测试计划、测 试说明书、测试用例 (测试脚本)、测试数据、 测试执行、提交阶段测试报告、缺陷报告、 技 术评审。要想成功完成软件测试这项工作,必 须首先建立测试计划。测试包括划分每个测试 阶段和测试重点, 明确职责, 指明软件质量控制 计划中规定的每一个任务的负责单位或成员的 责任。 设计测试用例,指导整个测试过程。对测试的各 阶段所需要的时间、人力及其它资源进行预估 ,测试范围能分解应尽量分解,针对每个测试

10、 任务仔细分析到位,尽量做到客观、准确、留 有余地。 制定测试项目的输入、输出和质量标准, 并和有关方面达成一致。建立变化处理的 流程规则,识别出在整个测试阶段中哪些 是内在的、不可避免的变化因素,如何进 行控制。要重点检查: (1)产品包的完整性; (2)源代码与执行程序版本一致性; (3)使用文档与执行程序的一致性; (4)介质的正确性。 做好软件质量的控制,就要加强软件生命期各个 阶段的软件质量保证,需要做好如下几方面的软 件管理工作: (1)在软件开发过程中,确保所开发软件的质量 。与质量有关的人员都要规定其职责和权限,使 责任落实到人,保证产品质量真正得到控制。 (2)组织技术评审:

11、在软件开发的每个阶段结束 后,都要组织评审,对质量进行评价,可以及早 地发现软件开发过程中的可能引起软件质量问题 的潜在错误。 (3)加强软件测试:测试是质量保证的重要手段 。 (4)遵循软件工程标准和工程规范,软件规范则 成为软件技术评审的一项重要内容。 23 软件测试人员的职责 软件测试人员的职责主要有: 软件测试人 员的职责要求、软件测试人员应承担的责 任、测试人员要编写测试需求、测试人员 要编写测试用例、测试人员实施测试、测 试人员对单元测试的目标、测试人员对集 成测试的目标、测试人员对系统测试的目 标。最终目的是确保交给用户的软件的功 能符合用户的需求,把尽可能多的问题在 软件交给用

12、户之前发现并改正。 2.3.1软件测试人员的职责要求 软件测试人员的职责要求要重点注意如下15点内容: 测试人员应清楚自己的工作职责,并执行其职责。 测试人员应遵守公司制定的相关政策、流程文件中所规定的要求,按照公司的要求来架设测 试。 测试人员有责任提供好的建议,通过各种措施降低成本、简化流程、提高产品质量。 测试人员应对测试数据进行监控和分析,对于缺陷应查明原因并提出对应措施,确保软件完 成它所承诺的或公布的功能。 认真填写原始测试记录,合理处理测试数据,并及时上报分析结果,对自己所做的测试工 作质量负责; 测试人员要对测试结果分析,通过测试,掌握软件具有的能力、缺陷、局限等,对软件质 量

13、给出评价性的结论与意见。整理测试文档,填写软件测试报告,编写测试总结,为软件开 发成果提供总结性意见。 参与项目的需求分析工作,进行系统性的测试分析,首要职责是找错误,找出潜在的错误, 尽量想到所有可能出现的情况,不应默认假定不会发现错误。 负责项目的规范验证、正确性、可用性、边界条件、性能、安全性、兼容性、软件配置; 在执行任何具体测试任务前,都要在项目组内对于责任和目标达成共识,以免带来后续工 作的相互推诿。程序员是最经常打交道的客户是程序员,为了便于程序员报告程序的错误, 尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。 在编写自动化测试脚本前,首先要确定哪些用例适合做自动

14、化测试,因为自化测试不像人 工测试,它不能那么智能,也没有思维能力。 编制项目相应的测试规范和测试用例, 按照测试流程、计划以及对产品特性的把握,沟通确 认测试的范围、重点,考虑逻辑、数据完整性等要求,详细规定测试的要求,策划、编写 测试用例,根据测试反馈信息,对于没有考虑到的新问题,不断添加测试用例。 从整体的测试角度可以分为单元测试、集成测试、系统测试、确认测试。 测试人员应当彻底检查每个测试的执行结果。 测试人员要了解“用户”如何使用软件,并且确定“用户”使用的时候不会遇到重要的Bug。 确认软件达到某种具体标准, 承诺完成测试的软件没有质量问题。 2.3.2 软件测试人员对发布软件产品

15、应承担的责任 经过测试人员测试过的软件产品,经过客户使用后,又发现了问题 ,原则说软件测试人员应承担的责任, 为什么? 应该承认所有的测 试都不可能时彻底的。但是, 问题不是这么简单,首先, 确认发现问 题的原因。 如果发现的问题不是系统需求说明书、系统概要设计说明书 、系统详细设计说明书中所规定的范围要求, 测试人员不应 承担的责任; 如果是规定的范围要求, 测试人员应承担的责任。 如果是由于用户误操作而造成的问题,由于误操作,用户在录入数据 时不成功,造成了用户录入的数据丢失,这属于在数据库设计上的 数据安全保护问题,与整体的系统框架设计有关系,在进行测试用 例设计时没有考虑到、测试人员的

16、疏忽或过错导致该问题的出现, 评估人员负50%的责任, 开发人员负15%的责任, 测试人员应承担 35%的责任。 如果是由于测试遗漏而造成的问题, 写测试计划的人要负70%责任 , 测试人员要负30%的责任。 如果是发现了Bug,却不上报Bug,导致Bug最终在客户那里发现, 测试人员要负全部责任。 软件整个测试过程是规范的,有测试计划,测试用例设计( Checklist);测试计划、测试用例经由PM(产品经理)和RD( 开发人员)认同,要说责任,整个测试团队都有责任。测试人员要进 行通过不断的总结和提高保证将来的工作中能做的更好。 2.3.3 测试人员要编写测试需求 测试需求必须是可观测、可测评的行为。 在每个测试用例与测试需求之间不存在一 对一的关系,测试用例通常具有多个测试需

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号