当前位置: 首页 > news >正文

(六)软件测试分工

主要谈传统软件测试过程中的测试分工。

集体测试

也许专业测试里讲这种方式,很可能不叫“集体测试”。因为我跟自己理解起了个大概符合意思的名词叫“集体测试”。

这种模式就是,公司里所有的测试人员抱成一团儿,来一个项目,所有测试人员就集中测试一个项目。

 

先说这种分工方式的优点:

1、因为测试团队中的每个成员都有优缺,人员在工作之中相互取长补短,可以很快的找出软件中的缺陷。三个臭皮匠顶一个诸葛亮,一个经验再丰富的测试不一定有三个水平一般的测试人员发现的问题多。

2、人多的另一个好处是测试项目可以在更快的时间内发现更多的缺陷。总结一下就是更短的时间内发现更多的问题。

再说说这种方式的缺点:

1、一个人员一张嘴,人力成本很高(人员工资,人员平均时间投入,测试机等硬件资源投入)。

2、当同时需要测试多个项目中时,不好意思,按顺序来,请在后面排好队。(并发能力不足)

3、工作重复,同样一个缺陷,很可能同时被所有测试员发现,或者叫重复率很高。

4、人员水平难以区分,在一个项目测试过程中,有的测试人员可能一个缺陷也没找到,有的测试人员却发现了几乎所有的问题。也许这个项目一个缺陷也没找到的测试员在下一个项目中却发现了很多缺陷。(混入南郭先生)

5、发现了漏测现象是整个测试团队的责任。(这也不是明确的缺点,要看团队的氛围是积极的还是消极的。)

好吧!集体测试缺点太多,就像国家成立初期的“吃大锅饭”,肯定是阻碍发展的。那我们来看看几种分工方式。

 

按测试内容分工

一个项目的测试包括文档测试,易用性测试,逻辑功能测试,界面测试,配置和兼容性等多方面。我们可以根据人员的特点为每个人员分配不同的测试内容。

内容分工方式的优点:

1、分工明确,每位人员都清楚自己的测试内容和重点

2、责任到位,通过漏测的缺陷就可明确是谁的责任

 

按测试流程划分

我们的项目测试流程一般需要,制定测试计划,编写测试用例,执行测试用例,输出测试报告等工作,我们可以根据流程中的各个阶段来进行划分。

    

不同的测试人员负责不同测试阶段的工作。

优点:

1、流程清晰,就像瀑布式项目开发流程,不同阶段的工作由不同的人员担任。

2、划分流程的每个阶段难易程度和所需要的技能。

编写测试计划人员需要对整个项目的工作时间、资源分配、测试内容,实施过程有整体的把控能力。

用例辨析人员,需要对项目需求,测试方法,测试点有深入的了解。

用例执行人员需要细心,使用缺陷系统、沟通、协助研发定位缺陷。

输出测试报告人员需要对项目的测试过程,缺陷数量,类型,分布。用例执行情况等进行统计。也可以由测试执行人员担任。

 

按项目模块划分:

对大中型的项目,这种划分就非常必要了,项目的模块非常多,功能也非常多。不同的测试人员负责不同模块的功能测试,这样会使测试工作变得更加清晰。

1、人员利用率高,为什么这么说呢?不同的人员负责的功能不一样。工作就不会存在交叉与重复。

2、更容易挖掘深度缺陷,假如A人员今天测试这个功能,明天测试那个功能,他就不可能对被测功能的内部逻辑与业务有深入的了解。找到的也只是很表面的缺陷。那么如果一个人员长期负责一个功能的模块,那么就会更容易发现更有深度的缺陷。而往往深度的缺陷是致命的。

 

按照测试类型分工

我们知道软件出了功能需要测试以外,软件在编码阶段需要单元测试,接口测完等,在系统测试阶段,为提高功能测试的效率,可能对某些模块进行功能自动化,我们还要考虑软件的性能、安全性等问题。这些类型也是我项目中最常见的分类,我们可以根据这些类型为测试人员分配测试工作。当然,其专业性对测试人员的要求也比较高。

  这种分工方式的特点:

1、专业技能要求较高,在这些分类中除了手工测试要求较低外(表面看是这样的),其它分类都需要较高的专业技能。例如,安全性测试需要掌握网络协议,编程技术,脚本公积,SQL注入,漏洞分析等方面的技能。

2、不同分类之间交互性低,正因为不同分类需要的技能不同,虽然同为“测试”工作,但一个做单元测试的人就无法让其去做性能测试。

分类方式的疑问

看了上面的几种分工方式,你是不是每一种测试人员分工方式都似曾相识,但又没有哪个公司是单一的按照上述某种分类工作。

我前公司,是一个长期的互联网产期,产品功能比较多,每位测试人员负责不同的功能模块,测试人员从测试计划到测试报告都基本由一个人来完成。当然对于比较大和紧急的版本迭代,也会多人协作对版本进行测试(协作的方式一般会将版本功能再次细分到每个人员身上)。安全测试由专业的安全人员指导功能测试人员对自己负责的功能进行安全扫描与分析。有独立的性能测试小组,对需要进行性能的产品版本进行性能测试。在独立的功能自动化人员,对于适合自动化的功能进行自动化工作。

我前公司的分工方式几乎包括了上面所有的分工方式。那么,我为什么要进行上面那么单一的分工方式划分呢?这样有助于我们理清对测试工作的各种分工方式。在实际的工作中,有大型项目,有小型项目,有客户端软件,也有互联网产品,有短到几天的项目,也有长期性的项目。有一次开发完成交付的,也有不断迭代更新的。根据项目的情况,我们可以选择合适的分工方式来应付于项目中。

 

更对精彩详见 “http://www.testclass.net/software_test/”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/poptestzm/p/7491062.html

相关文章:

  • Java面试题全集
  • 后缀数组专题
  • MySQL查询相关(初级)(全文重点)
  • 堆的实现(图片演示+文字讲解)
  • Ubuntu ko模块的编译
  • 通过git安装npm私有模块
  • python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
  • jquery easyui-datagrid/treegrid 清空数据参考
  • 【微信公众号发红包转账】微信公众号上手机网页接收请求,通过公众号给用户发红包 开发流程...
  • Linux驱动开发之注册
  • java:Properties属性文件概念
  • 从0实现一个tiny react(三)生命周期
  • python练习-统计包含数字字符串元组在内的列表内数据类型个数
  • MFC添加背景图片
  • C#/VB.NET 给Word文档添加/撤销书签
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • canvas 绘制双线技巧
  • CentOS 7 修改主机名
  • echarts的各种常用效果展示
  • es6
  • Github访问慢解决办法
  • HTML中设置input等文本框为不可操作
  • Js基础——数据类型之Null和Undefined
  • JS实现简单的MVC模式开发小游戏
  • nginx 配置多 域名 + 多 https
  • python3 使用 asyncio 代替线程
  • QQ浏览器x5内核的兼容性问题
  • spring cloud gateway 源码解析(4)跨域问题处理
  • SwizzleMethod 黑魔法
  • 基于webpack 的 vue 多页架构
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 说说动画卡顿的解决方案
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • MPAndroidChart 教程:Y轴 YAxis
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​2021半年盘点,不想你错过的重磅新书
  • ​Java基础复习笔记 第16章:网络编程
  • ​决定德拉瓦州地区版图的关键历史事件
  • # Maven错误Error executing Maven
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #大学#套接字
  • #单片机(TB6600驱动42步进电机)
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $.ajax()参数及用法
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (笔试题)分解质因式
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (六) ES6 新特性 —— 迭代器(iterator)