• 1
  • 1
分享

  摘要:软件测试作为软件质量保障的重要手段,PDCA循环是全面质量管理所应遵循的科学程序。本文结合软件测试工作的特点,通过文档规范的方式,将PDCA的理念融入软件测试,提出一套软件测试工作的流程。

  关键字:软件测试、PDCA、测试流程

  1、引言

  PDCA循环又叫戴明环,是美国质量管理专家戴明博士提出的,它是全面质量管理所应遵循的科学程序。全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是按照PDCA循环,不停顿地周而复始地运转的。PDCA 描述如下,PLAN:活动、控制、资源、目标;DO:按计划实施;CHECK:监控和测量一致性和有效性;ACTION:分析/回顾/改进/提高有效性。软件测试是有计划、有组织和有系统的软件质量保证活动,是软件工程的重要组成部分。本文结合PDCA循环对于质量改进的作用,依靠文档管理,将PDCA 理念融入软件测试。在软件测试流程中,结合PDCA 理念,各个阶段进行如此诠释,PLAN:编写测试计划;DO:按计划开展测试工作;DO:按计划开展测试工作;ACTION:维护测试文档。

  2、PLAN:编写测试计划

  软件测试组接到测试项目后,测试工程师首先编写《系统测试计划》,为本次测试工作做好安排。

  根据研发部门提交的《项目总体需求说明书》《项目模块需求说明书》《项目概要设计说明书》《项目详细设计说明书》及《数据库设计说明书》等内容,测试工程师编写《系统测试计划》。测试计划中包含编写目的、参考资料、测试内容、测试环境、测试方案、测试通过标准、风险评估、测试组织和时间安排等内容,包括了PLAN中应该进行活动、控制、资源、目标等全部内容,实现了做测试工作的计划性。

  3、DO:按计划开展测试工作

  完成测试计划后,即按照计划的时间要求进行测试工作。

  测试工程师依据《总体需求说明书》、《模块需求说明书》、《概要设计说明书》和《验收测试计划》分析测试需求,撰写该项目的《测试需求说明书》。软件测试的核心文件《系统测试需求说明书》是列出项目所有的测试点,保证了软件测试的有据可依。测试工程师根据《测试需求说明书》编写《测试用例》。

  测试负责人依据《系统测试计划》及项目进度向测试工程师分配测试任务;测试工程师向测试负责人领取测试资料,执行测试。本轮测试结束后,测试工程师编写《系统测试报告》。

图1.jpg

图1 测试设计工作流程

  4、CHECK:审核和评审测试文档

  审核和评审是PDCA方法中最重要的组成部分,在软件测试中主要是依靠对测试文档的审核和评审,来保证测试工作的质量。

  《系统测试计划》是测试工作的纲领性文件,是对整个系统测试的工作安排。测试工程师完成后,需要由测试负责人进行审核,审核通过后由研发和测试人员组成的评审小组进行评审,保证了测试计划的合理性。

  《测试需求说明书》是整个测试工作的核心文件,列出项目的所有测试点。首先由测试负责人进行审核,审核通过后组织评审,项目经理和评审小组参与进行评审,要求有测试记录。从研发和测试的角度保证了尽可能不遗漏测试点,也能有效减少测试组与研发部门的分歧。

  《系统测试用例》是根据《测试需求说明书》的测试点扩展而来,测试工程师完成后,由测试负责人审核《系统测试用例》,并提出修改意见。

  《系统测试报告》是每轮测试结束后,测试工程师编写《系统测试报告》,然后测试负责人审核《系统测试总结报告》。审核通过后,将《系统测试报告》交给测试负责人、项目经理、评审小组成员进行审批;审批不通过,则测试人员进行修改;审批通过,更新系统测试用例后,一轮测试结束。

图2.jpg

图2 系统测试工作流程

  5、ACTION:维护测试文档

  文档《系统测试计划》和《测试需求说明书》都需要经过测试负责人的审核和评审小组的评审,《系统测试用例》要由测试负责人进行审核,《系统测试总结报告》由测试负责人审核外,还要进行项目经理、评审小组成员进行审批和会签,在此过程中,会有很多测试工程师要按照评审意见进行修改,达到了分析改进提高的效果,保证测试工作的质量。

  6、总结:提高测试工作效率

  将PDCA方法融入软件测试工作流程中,使得测试流程更加规范,提高了测试工作效率。编写测试计划,使得测试工作按部就班;规范的工作内容,在各个阶段都明确的产出物,方便领导对测试工作的检查;增加测试文档的评审机制,既降低测试组与研发部门沟通成本,减少分歧,又提高了软件测试的质量。


作者:周泽岩   

来源:51testing 投稿

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 小程序测试过程中,不知道大家有没有碰到一个问题,打开了很多页面之后,小程序操作突然卡卡住,就没有任何反应了。在之前项目的小程序测试过程中很多次都碰到了这种情况,开发的解释从来都是说,被微信限制了。但是自己总觉得需要想办法去解决,所以还是决定自行去学习分析下这种情况。在小程序中,打开一个新的页面其实就是创建了一个新的View对象,一层层叠加的。当点击页面的回退按钮就是把当前页面关闭。小程序页面栈的上限是10个,这个过程中就很有可能会碰到这样一个问题,就是我最一开始说的打开页面的数量过多,达到10个页面后,就不能再打开新的页面。在某些产品功能要求下,比如一个学员正在学习一个课程,在课程详情页底部一...
            1 0 8122
            分享
          • 1)您的测试文档是否处于良好状态?组织测试文档的最佳和简单方法是将其拆分为许多有用的部分。将整个测试划分为多个测试方案。然后将每个方案划分为多个测试。最后,将每个案例划分为多个测试步骤。如果使用的是 Excel,则将每个测试用例记录在工作簿的单独工作表上,其中每个测试用例描述一个完整的测试流。2)不要忘记覆盖负面情况--正向逻辑、负向逻辑作为软件测试人员,需要具有创新精神,并制定应用程序遇到的所有可能性。作为测试人员,我们必须验证是否应该停止和报告任何不真实的进入软件的尝试或任何在应用程序中流动的无效数据。因此,消极的情况与积极的情况一样重要。确保对于每个方案,有两个测试用例 - 一个为正,一...
            0 0 1130
            分享
          • 1、按严重程度分类:是指bug对软件质量的破坏程度,即此bug的存在将对软件的功能和性能产生什么样的影响。崩溃(Blocker):系统无法正常运行。阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环、导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。严重(Critical):很明显的错误性的bug。系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符模块无法启动或调用,程序重...
            14 13 3720
            分享
          • 一、自动化简介1、自动化测试概念:自动化的概念是一个动态发展过程。过去,人们对自动化的理解或者说自动化的功能目标是以机械的动作代替人力操作,自动地完成特定的作业。2、什么样的项目适合做自动化测试:一般情况下,只要满足如下三个情况就可以开展自动化测试软件需求变更不频繁、项目周期较长、自动化测试脚本可重复使用3、python+selenium自动化测试环境搭建步骤python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器和火狐浏览器(1...
            0 0 1663
            分享
          •   同样是测试人员,交代的任务也能按时完成,为什么受欢迎的程度会有所不同呢?  先来说说不同的测试人员有什么不同吧。  责任心不同  对于一个测试人员来讲,责任心是很重要的一点。既然你测了这个功能,那么就要对这个功能负责,不能说是大体测测就完了,需要考虑各种可能出现的情况,以防意外的发生。作为测试人员要对整个功能负责。  举个例子来说,一个需求上线至少需要两个以上的测试人员共同测试完成之后才能更新到生产环境,当这个需求在生产环境上出现了问题,影响了正常的操作流程,那么有的测试人员会立即利用现有的错误数据,看有什么特殊数据或者操作,尽量快速的去复现这个问题,并交给开发人员去解决这个问题,尽快的更...
            0 0 1833
            分享
      • 51testing软件测试圈微信