PDCA理念融入软件测试   

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

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

  1、引言

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

  2、PLAN:编写测试计划

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

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

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

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

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

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

图1 测试设计工作流程

字体:  小  中  大  | 上一篇 下一篇 | 打印  | 我要投稿

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

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

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

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

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

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

图2 系统测试工作流程

  5、ACTION:维护测试文档

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

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

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

PDCA理念融入软件测试的更多相关文章

  1. 【转载】Think as Customer 以客户为中心的测试理念

    纵观各大公司的核心理念,往往都有一条类似“以客户为中心”的价值观.华为公司更是把“以客户为中心”放在其核心价值观的第一条,以显示它的重要性.从我 们入职培训开始,公司就反复强调并引导大家深入讨论,希望 ...

  2. Java面试汇总

    转自:http://zy19982004.iteye.com/blog/1846537#comments 一.All 最近找工作,遇到的笔试面试题,归纳如下,供大家参考. 二.J2SE 容器 Hash ...

  3. 静态分析安全测试(SAST)优缺点探析

    静态分析安全测试(SAST)是指不运行被测程序本身,仅通过分析或者检查源程序的语法.结构.过程.接口等来检查程序的正确性,那么采用静分析安全测试的方法有什么优缺点呢,且让小编给你说道说道. 许多公司都 ...

  4. (转)iOS Wow体验 - 第六章 - 交互模型与创新的产品概念(1)

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第六章译文精选,其余章节将陆续放出.上一篇:Wow ...

  5. App开发革命进阶路

    APP开发的成败,或许不是程序编辑的多么完美,界面设计的多么精致,其实这就是一场用户体验的革命. APP的使用场景是移动设备,人机交互以单指手“触点”为主,大段文字输入是交互的禁区.因此,APP带来了 ...

  6. 利用Flare3D和Stage3D创建3D

    Flare3D 是一款功能强大的引擎,它使得 Flash 中的 3D 内容管理变得更为简便. 它的设计宗旨是提供一个完美的开发工作流程,以便你能够获得事半功倍的效果. 本教程侧重讨论在 Flash 中 ...

  7. 【操作教程】SequoiaDB分布式存储教程

    1.各模式适用场景介绍 由于SequoiaDB对比其他的NoSQL有更多的方式将数据分布到多台服务器上,所以下面笔者为阅读者一一介绍每种分布式方式适合于哪种场景. 1.1 Hash 方式分布数据 在H ...

  8. 我对于UI设计这个领域的理解

    User Interface(UI),包括三部分用户.界面以及用户与界面之间的交互关系.UI设计则是指对软件的人机交互.操作逻辑.界面美观的整体设计. 如何看待UI设计这个领域? 任何一个行业的出现都 ...

  9. 软件测试价值观-SMBT新理念

    软件测试价值观-SMBT新理念 作者:张元礼 http://blog.csdn.net/vincetest 近年来有不少软件测试同行不少有些困惑-软件测试人员的价值在哪里?我们怎么才能做好软件测试?怎 ...

随机推荐

  1. POJ 1O17 Packets [贪心]

    Packets Description A factory produces products packed in square packets of the same height h and of ...

  2. CodeForces - 697B

    这道题看见就觉得是道水题,想着随便写写就能A了,然后就开始上手直接模拟,然后就被数据打脸了. 后面就困了一个多小时,各种改,最后还是看了题解发现了scanf的多种用法. 题目大概意思就是说: 给一个  ...

  3. <黑马新秀>Spring学习日志

    # 用于梳理Spring知识点 Spring是分层的Java EE应用全栈轻量级开源框架,以IoC(Inverse Of Control反转控制)和AOP(Aspect Oriented Progra ...

  4. TextBox换行C#文本框换行.net文本框换行textarea换行

    在TextBox中输入的内容,显示的时候如果用lable显示,无法换行 可以使用TextBox输入,然后也使用TextBox 显示,这样换行输入的内容,显示的时候也可以换行.显示的时候可以设置一下控件 ...

  5. Docker容器化【Dockerfile编写&&搭建与使用Docker私有仓库】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  6. Codeforces1304D Shortest and Longest LIS

    前置扯淡 %%@\(wucstido\),思路是在是巧妙---link Description 给一个长度为\(n\)由 \(<\) 和 \(>\)组成的字符串,表示序列中相邻位置的数的大 ...

  7. linux 信号量sem实现 生产者—消费者(线程间通信)

    #include<pthread.h> #include<stdlib.h> #include<stdio.h> #include<unistd.h> ...

  8. GIL全局解释器锁-死锁与递归锁-信号量-event事件

    一.全局解释器锁GIL: 官方的解释:掌握概念为主 """ In CPython, the global interpreter lock, or GIL, is a m ...

  9. Java快速输入输出

    一.StreamTokenizer实现快速输入 需要的jar包 import java.io.BufferedReader;import java.io.IOException;import java ...

  10. redis 的雪崩和穿透?

    https://blog.csdn.net/Aria_Miazzy/article/details/88066975