软件测试流程和规范

上传人:n**** 文档编号:50725272 上传时间:2018-08-10 格式:PPT 页数:59 大小:799KB
返回 下载 相关 举报
软件测试流程和规范_第1页
第1页 / 共59页
软件测试流程和规范_第2页
第2页 / 共59页
软件测试流程和规范_第3页
第3页 / 共59页
软件测试流程和规范_第4页
第4页 / 共59页
软件测试流程和规范_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《软件测试流程和规范》由会员分享,可在线阅读,更多相关《软件测试流程和规范(59页珍藏版)》请在金锄头文库上搜索。

1、软件测试方法和技术 - Ch.4软件测试流程和规范 第3章回顾p基于直觉和经验的方法p基于输入域的方法p基于组合及其优化的方法p基于逻辑覆盖的方法p基于模型的测试p第四章 软件测试流程和规范 4.1 测试过程模型4.2敏捷测试过程4.3测试过程改进模型4.4 软件测试标准和规范4.5建立软件测试管理和评判体系4.1软件测试模型V模型W模型H模型TMAP软件测试V模型V模型V模型是软件开发瀑布模型的变种,它反映了测试 活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非 常明确地标明了测试过程中存在的不同级别,并且 清楚地描述了这些测试阶段和开发过程期间各阶段 的对应关系 。

2、 左边依次下降的是开发过程各阶段,与此相对应的 是右边依次上升的部分,即各测试过程的各个阶 段。 V模型按V模型要求,在软件需求分析阶段需进行系 统测试计划和设计等方面的准备工作;在概要设计 阶段需进行集成测试计划和设计等方面的工作;在 详细设计阶段需进行单元测试计划和设计等方面的 工作;当编码完成并通过评审完成基线后,可依次 进入单元测试、集成测试和系统测试的执行阶段。W W模型模型W模型W模型由两个V字型模型组成,分别代表测试与开 发过程,图中明确表示出了测试与开发的并行关 系。W模型强调:测试伴随着整个软件开发周期,而且 测试的对象不仅仅是程序,需求、设计等同样要测 试,也就是说,测试与

3、开发是同步进行的。 W模型有利于尽早地全面的发现问题。n例如,需求分析完成后,测试人员就应该参与到 对需求的验证和确认活动中,以尽早地找出缺陷 所在。同时,对需求的测试也有利于及时了解项 目难度和测试风险,及早制定应对措施,这将显 著减少总体测试时间,加快项目进度。W模型局限性在W模型中,需求、设计、编码等活动被视为串行 的,同时,测试和开发活动也保持着一种线性的前 后关系,上一阶段完全结束,才可正式开始下一个 阶段工作。这样就无法支持迭代的开发模型。对于 当前软件开发复杂多变的情况,W模型并不能解除 测试管理面临着的困惑。 H模型H模型揭示:(1)软件测试不仅指测试执行,还包括很多其他活动。

4、(2)软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。(3) H模型指出软件测试要尽早准备,尽早执行。(4) 不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。 TMapZhu.KpTMap (Test Management Approach,测试管理方法)是一种结构化的、基于风险策略的测试方法体系, 目的能更早地发现缺陷,以最小的成本、有效地、彻底地完成测试任务,以减少软件发布后的支持成本。pTMap所定义的测试生命周期由计划和控制、基础设施、准备、说明、执行和完成等阶段组成。这个过程目前被国际软件测试资质

5、认证委员会所采用,成为测试过程的标准。TMap描述的生命周期模型Zhu.K(1)计划和控制阶段涉及测试计划的创建,定义了执 行测试活动的“who,what,when,where and how”。(2)基础设施建立测试执行、测试件管理、缺陷管理 等所需要的环境,包括自动化测试框架。(3) 准备阶段决定软件说明书质量是否足以实现说明 书和测试执行的成功。(4) 说明阶段涉及定义测试用例和构建基础设施。(5)执行阶段,需要分析预期结果和实际结果的区别 ,发现缺陷并报告缺陷。(6) 完成阶段包括对测试资料的维护以便于再利 用,创建一个最终的报告以及为了更好地控制将来的测 试过程对测试过程进行评估。T

6、Map三大基石Zhu.Kp与软件开发生命周期一致的测试活动生命周期(L);p坚实的组织融合(O)p正确的基础设施和工具(I)p可用的技术(T)TMap基本内容Zhu.K4.2 敏捷测试过程敏捷测试是符合敏捷测试宣言的思想、遵守 敏捷开发原则,在敏捷开发环境下能够很好地和 其整体开发流程融合的一系列测试实践。敏捷测试强调测试人员的个人技能,始终保持 与客户/用户,其他成员(特别是业务人员、产 品设计人员等)的紧密协作,建立良好的测试框 架以适应需求的变化,更关注被测系统的本身而 不是测试文档(如测试计划、测试用例等)。敏捷测试的特征n传统测试更强调测试的独立性,将“开发人员”和“测试 人员”角色

7、分得比较清楚。n传统测试更具有阶段性,从需求评审、设计评审、单 元评审到集成测试、系统测试等,从测试计划、测试 设计再到测试执行、测试报告等。n传统测试强调测试的计划性,认为没有良好的测试计 划和不按计划执行测试就难以控制和管理,而敏捷测 试更强调测试的速度和适应性,侧重计划的不断调整 以适应需求变化。敏捷测试的特征n传统测试强调测试是由“验证”和“确认”两种活动构成的,而敏捷测试没有这种区分,始终以用户需求为中心, 每时每刻不离用户需求,将验证和确认统一起来。n传统测试强调任何发现的缺陷要记录下来,以便进行缺 陷根本原因分析,达到缺陷预防的目的,并强调缺陷跟 踪和处理的流程,区分测试人员和开

8、发人员的各自不同 的责任。而敏捷测试强调面对面的沟通、协作,强调团 队的责任,不太强调对缺陷的记录和跟踪。n传统测试没有自动化测试也是可以的。敏捷测试的持续 性迫切要求测试的高度自动化,在1-3天内就要完成整个的验收测试。4.3 软件测试学派 (1)分析学派(2)标准学派(3)质量学派(4)上下文驱动学派(5)敏捷学派Zhu.K4.3 软件测试学派 (1)分析学派认为软件是逻辑性的,将测试看作是计算机科学和数学的一部分,结构化测试、代码覆盖率就是其中一些典型的例子。Zhu.K(2)标准学派把测试看作侧重劣质成本控制并具有可重复标准的、旨在衡量项目进度的一项工作,测试是对产品需求的确认,每个需求

9、都需要的到验证。4.3 软件测试学派 (3)质量学派软件质量需要规范,测试就是过程的质量控制、揭示项目质量风险的活动,确定开发人员是否遵守规范,测试人员扮演产品质量的守门员角色。Zhu.K(4)上下文驱动学派认为软件是人创造的,测试所发现每一个缺陷都和相关利益者密切相关;认为测试一种有技巧的心里活动;强调的人的能动性和启发式测试思维。探索性测试就是其典型代表。4.3 软件测试学派 (5)敏捷学派认为软件是持续不断的对话,而测试就是验证开发工作是否完成,强调自动化测试。TDD是其典型代表。Zhu.K4.4 测试过程改进模型 4.4.1 TMM4.4.2 TPI4.4.3 CTP4.4.4 STE

10、PZhu.K4.4.1 TMMn软件能力成熟度模型(CMM, Capability Maturity Model):是软件行业标准模型,用来定义和评价软件企业开发过程的成熟 度,提供如何做才能够提高软件质量的指导。nCMM的基本原理:CMM将软件组织的过程能力成熟度分为5个级别,每一个级别定 义一组过程能力目标,并描述要达到这些目标应该采取的各种实践活 动。nCMM的主要作用:提供了一个软件过程改进的框架。根据CMM模型,软件开发者( 机构或组织)能够大幅度的提高按计划、高效率、低成本的提交有质 量保证的软件产品的能力。4.4.1 TMMn测试成熟度模型(TMM, Test Maturity

11、Model):过程能力描述了遵循一个软件测试过程可能达到的预 期结果的范围。了解过程能力对于预测产品质量是十分关 键的。 nTMM的基本原理:TMM也将测试过程成熟度分为5个等级初始级、 定义级、集成、管理在编码后修改软件缺 陷的成本是编码前的10倍,在产品交付后修改软件缺陷的 成本是交付前的10倍;软件质量越高,软件发布后的维护费 用越低。另外,根据对国际著名IT企业的统计,它们的软 件测试费用占整个软件工程所有研发费用的50% 以上。n中国软件企业在软件测试方面与国际水准仍存在较大差距 。首先,认识上重开发、轻测试,没有认识到软件项目的 如期完成不仅取决于开发人员,更取决于测试人员;其次

12、,管理上随意、简单,没有建立有效、规范的软件测试管 理和评判体系;另外,缺少自动化工具的支持,大多数企 业在软件测试时并没有建立软件测试管理与评判体系。 如何建立测试管理与评判体系测试规划资源管理测试设计测试实施配置管理测试管理确定目标和策略确定测试方案及用例执行用例测试配置管理资源综合调配与管理对以上过程综合管理软件测试生命周期u测试计划 u测试分析 u测试设计 u测试执行 u测试评估测试基本过程 n软件测试过程与整个软件开发过程基本上是平 行进行的。n一个开发机构还应当制定软件测试规程,按照 软件工程的规范,定义各项活动的目标和详细 过程 。1.测试计划测试计划是对每个产品,或是对各个开发

13、阶段的产品开展测试的策略。计划的目的是用来识别任务、分析风险、规划 资源和确定进度。计划并不是一张时间进度表,而 是一个动态的过程,最终以系列文档的形式确定下 来。拟定软件测试计划需要测试项目管理人员的积 极参与,这是因为主项目计划已经确定了整体项目 的一个时间框架,软件测试作为阶段工作必须服从 计划和资源上的约定。1.测试计划一般来说,一个完整的测试计划应该包含 以下几个方面。 (1)项目测试背景(既测试活动需要覆盖的范围)的界定 (2)风险的确定 (3)资源的规划 (4)时间表的制定1.测试计划2.测试分析软件测试需求通常存在于与软件相关的各种 文档资料,如软件需求规格、合同及约定、界面

14、设计等,另外与客户或系统分析员的沟通信息、 业务背景资料、正式与非正式的培训资料等都是 收集测试需求的途径。3.测试设计软件测试设计是将测试需求转换成测试 用例的过程,它要描述测试环境、测试执行 的范围、层次和用户的使用场景以及测试输 入和预期的测试输出等。 测试设计包括测试用例设计、测试流 程安排两方面内容。3.测试设计测试用例n为实施一次测试而向被测系统提供的输入数 据、操作或各种环境设置n控制着软件测试的执行步骤n是对测试方案中每个测试项的进一步实例化4.测试执行n软件测试的执行n执行测试用例n记录原始测试数据n记录缺陷n对所发现的缺陷进行跟踪、管理和监控 5.测试评估n测试评估n结合量化的测试覆盖率及缺陷跟踪报告,对整 个软件质量、测试工作和软件缺陷进行总结n对软件项目的质量和开发团队的工作进度及工 作效率进行综合评价n生成相应报告或报表Q & A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

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