`
insertyou
  • 浏览: 858515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

软件测试过程的持续改进

阅读更多

Author:袁琳
MSN:testwin@sohu.com

随着国内软件测试行业的逐渐发展,有越来越多的软件企业更加重视软件测试,并已经形成了一套基本的软件测试流程。但是软件测试所起的作用还没有人们期望那样显著,因此,就需要继续加大投入对软件测试的关注程度,对软件测试过程进行持续的改进。以下是本人在工作中的一些体会,介绍软件测试过程中需要注重和改进的几个环节,与大家分享。

1、 计划与风险

项目计划对项目过程的实施有着直接的指导作用,它的重要性是不言而喻的。我经历过一些成功的项目,给我感受最深刻的就是计划的充分性,以及根据项目过程中遇到的各种新情况,对计划的及时变更做出反应的能力;我也经历过一些失败项目,由于项目计划的不合理或混乱无序,经常会带来严重的项目风险、以及开发成本,造成项目不断延期、产品质量无法保证。对于软件测试来说,测试计划也是指导后续测试工作的基础,在测试的计划中,不仅需要明确测试的目的、测试的资源、测试的人员等等,更重要的是需要详细明确并估计出在整个测试活动的任务和风险,比如:

测试需要做哪些工作?

整个测试活动估计需要多少工作日?

充分估计测试计划、测试设计、测试执行、测试分析评估这些阶段分别需要多少个工作日?

估计的测试用例规模是多少?

估计的测试进度时间又如何?

在测试过程中,可能会遇到哪些方面的问题?

可能存在的风险又有哪些?等等......

只有对过程中各任务的进行更详细的计划,才有利于在测试过程中对项目进度的把握有一个明确的目标;同时,风险策略的制定,也有利于对及早对测试过程中可能遇到的问题做出分析,以便在问题出现时能够尽可能的减少规避风险的成本。

2、 评审

在测试过程中的每个阶段结束前,都会输出一些资源,文档、用例 等等…,这些资源往往是下一个测 试阶段或软件开发的下一个环节执行的依据,比如:测试报告,测试人员在完成测试并提交测试报告之后,测试报告里说明已经没有未解决的问题了,那么是不是就应该结束测试呢?我们又如何来保证测试报告的准确性、充分性呢?这就需要组织参与项目的一些重要成员,项目经理、开发负责人、测试经理、QA等等对测试报告进行评审。评和审是结合在一起的,每个角色根据自己对项目的了解,从各自角度来审核测试报告的充分性,对质量风险发表各种见解。最终,对报告的规范性也要进行考察。评审也有会议评审、在线评审等等好几种方式,可以根据实际项目情况,对不同的项目、不同的文档、资源采用不同的方式评审。最后一点需要补充的是,对于测试发现的问题,一般是有争议的问题,需要有评审。对于紧急的问题,一般采用在线方式由专家裁决;另外,也最好根据实际情况组织会议评审来对一定规模的问题统一评审。

3、 文档

文档的编写对于测试人员来说是一个十分重要的任务,深入的、充分的投入测试的测试人员能写出高质量的测试文档。所以,测试文档的质量,往往反映了测试人员执行测试的广度和深度。而在文档的编写方面,首先必须形成统一规范;另外,针对不同项目的测试,可以适当对文档标题、内容进行简化。总之,文档模板一旦形成,必须严格遵守。

在编写测试文档过程中需要注意的几个问题:文档中描述的测试数据必须准确;必须详细描述出测试的环境;测试报告中必须详细描述测试的充分性、测试质量评价;等等......这里不再一一列举。

4、 方法与策略

测试方法和测试策略,测试的重中之重。这也是我个人非常乐于思考的,方法和策略的意义在于如何用最有效的办法、花最少的成本、在有限的资源情况下尽可能以最高的质量的完成测试项目,并根据项目中遇到的突发情况,不断制定新的策略。

测试的策略一般要求从全局方面对测试的阶段、每个阶段的测试类型进行考虑、定义,比如:需要做哪些方面的测试?测试的顺序是怎样的?功能测试如何进行?性能测试何时进行等等。而测试的方法更多是体现在一个具体的测试中,采取怎样的测试思路。另外,在测试过程中,对资源的协调也非常关键,需要能保证测试资源充分利用,每个测试人员都有适度并且相当的工作量。

在以往工作中,常常会进行交叉测试,这里予以介绍:测试往往是一个长期的重复性工作,对于测试人员来说,一个测试人员一般长期从事一种产品或一个特性的测试,长期如此,测试人员往往会出现测试反感腻味倦怠。因此,适当的采用交叉测试,让两个或多个测试人员相互学习对方业务领域的知识、并执行测试,既有利于减少测试人员的倦怠心里,使测试人员有一种新鲜感,也可能发现出前测试人员未发现的问题,也起到了互相监督的作用。

5、 总结测试经验

在测试的过程中,测试人员应该及时总结发现的错误并归类,标明经常容易出错的地方,将意见提交项目经理,审核后,制定出一份统一标准并提供给开发人员,这样就可以提前避免错误、避免重复错误和重复测试,提高测试效率。不仅如此,项目结束后的各项总结报告将是项目的后期维护或二次开发的宝贵参考资料。

另外,测试过程中,也可以将自己所负责特性、产品的体会、心得写出来,做为测试指导书,以便有新员工加入时,使其迅速上手。

6、 缺陷分析、度量

对测试活动过程中发现的缺陷进行分析、度量,寻找软件开发过程中存在的问题,并持续改进开发过程,提高质量。缺陷的分析、度量从时间上分为两个方面,首先是在软件开发过程中发现的缺陷进行分析、度量;然后就是,对软件产品发布后,对用户提出缺陷进行统计、分析。

对测试过程中的缺陷需要分版本,并按不同模块、问题级别,对缺陷进行各种统计,并比较子版

本统计数据之间的差异,CQ在这方面已经提供了比较强大的统计功能,这里不再赘述。进行分析,是因为开发修改后导致该模块不稳定,引发大量新问题;还是因为前期测试出现漏测(设计漏测、执行漏测);或者是版本合入新增需求的功能导致。然后根据问题原因,提供改进建议。下面对几个参数进行说明:

TFVUD是用户发现缺陷数(TotalFieldValidUniqueDe<rtx w:st="on"></rtx>fects):即由用户发现的经过了确认的、非重复的、非用户错误操作的、非建议类型的所有缺陷;(总数、按模块统计)

PDD是测试发现缺陷数(PostDevelopmentDe<rtx w:st="on"></rtx>fects):即在开发完成后的测试周期中发现的缺陷数,但它不包括那些向用户发布后发现的缺陷;(分别按模块、级别、时间 统计)

DDR是开发缺陷率(Developer De<rtx w:st="on"></rtx>fect Ratio):一定周期内缺陷总数与代码行数的比率。

分享到:
评论

相关推荐

    看软件测试过程的持续改进[2]

    看软件测试过程的持续改进[2]软件测试4、方法与策略测试方法和测试策略,测试的重中之重。这也是我个人非常乐于思考的,方法和策略的意义在于如何用最有效的办法、花最少的成本、在有限的资源情况下尽可能以最高的...

    看软件测试过程的持续改进[1]

    看软件测试过程的持续改进[1]软件测试随着国内软件测试行业的逐渐发展,有越来越多的软件企业更加重视软件测试,并已经形成了一套基本的软件测试流程。但是软件测试所起的作用还没有人们期望那样显著,因此,就需要...

    非常实用的软件测试综合资料库

    ①、软件测试是为了发现错误而执行程序的过程; ②、测试是为了证明程序有错,而不是证明程序无错误。 ③、一个好的测试用例是在于它能发现至今未发现的错误; ④、一个成功的测试是发现了至今未发现的错误的测试。 ...

    iSQE 2019中国国际软件质量工程峰会演讲PPT汇总.zip

    从持续测试到测试过程的持续改进 软件测试分论坛1 自动化测试的工业化和商业生态构建 新一代云计算PaaS平台在API测试中的实践与应用 智慧教育信息化测试团队能力建立的案例分享 性能测试在企业中的落地与最佳实践...

    软件生成期过程软件生成期过程软件生成期过程软件生成期过程

     5、软件测试  在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在...

    微软软件测试之道(How We Test Software at Microsoft)

    对不是一件简单、低级的事情,而是一件极具复杂性,需要极高综合素质的人员才能做好的事情,这也将有助于更多的毕业生去选择从事软件测试,从而改善软件测试行业中人才缺乏的问题,特别是高 端人才。 ——海辉软件...

    缺陷漏测分析:测试过程改进

    • 漏测的定义所谓漏测,是指软件产品的缺陷没有被测试组发现而遗漏到了用户那里,却最终...• 漏测分析的目的进行漏测分析的目的是为了促进软件质量和开发测试过程得到持续改进。具体来讲,就是通过分析开发和测试过

    软件测试中的软件质量保证

    质量保证(Quality Assurance, QA)的目的是提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。质量保证是一种有计划的、贯穿于整个产品生命周期的...

    持续集成及CruiseControl技术交流

    主题:持续集成及Cruise...注意,持续集成本身也是一持续改进的过程。如何逐渐提升可回归性、敏捷性,这是一个永恒的话题。 适合群体 具有一定的软件研发经验 熟悉研发工作生命周期中的各个阶段 对持续集成感兴趣的人士

    软件工程软件工程-简答题背诵最全版-电子科技大学2023年备考

    软件工程强调对软件工程师的职业道德、团队合作、沟通技能和软件工程过程的持续改进。 除了上述定义,软件工程还可以被定义为一种工程学科,它利用系统性的方法和技术来开发和维护软件。软件工程的目标是通过使用...

    [详细完整版]软件工程术语.doc

    软件生存周期 软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退 役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶 段。 5. 软件复用 软件复用就是利用...

    软件项目管理-项目质量管理

    质量保证意识:具备质量保证的理念,通过过程改进、标准化工作流程等手段,持续提高软件开发过程中的质量水平,以确保产品质量得到持续改进。 风险管理能力:能够识别和评估软件质量相关的风险,制定相应的风险应对...

    软件质量度量的方法体系

    软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。没有软件度量,就不能从软件开发的暗箱中跳将出来。通过软件度量可以改进...

    1-软件项目管理ppt

    - 过程的持续改进 Slide 5:软件项目管理的生命周期模型 - 软件项目管理生命周期模型是指对软件项目开发过程的分阶段描述。包括: 1. 规划阶段(Project Planning) 2. 需求分析和定义阶段(Requirement Analysis...

    基于DevOps的轻量级持续交付方案

    如何快速向用户交付可靠的产品,是近年来持续交付研究和应用的热点问题,传统的软件敏捷方法...通过行业调查、企业实践验证方案不仅可以缩短项目周期、提高交付质量,还能够实现交付过程可视化,促进软件质量不断改进.

    软件工程名词解释.docx

    软件生存周期 软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。 5. 软件复用 软件复用就是利用某些...

    敏捷开发模式下测试策略

    敏捷开发模式下测试策略...频繁的交付周期【2~5周】带来了更迅速的对产品的反馈和改善建议,以快速适应市场变化,主要分为自动化测试、持续集成,自动化部署组成 3 敏捷测试模型 4 Automation TESTING 5 敏捷测试原则 6

    硬盘测试IsMyHdOK v3.13

    硬盘测试IsMyHdOK v3.13 小 中 大 小编 2021/3/27 11:13:16 操作系统 软件介绍 IsMyHdOK,固态硬盘或机械硬盘的基准测试工具,用于检测SSD及HDD的...◆ 测试过程CPU和资源使用率低 ◆ 查看测试的硬盘驱动器评分表

Global site tag (gtag.js) - Google Analytics