前言
    接触了许多非测试和新入行的测试从业者,听到最多的问题就是:“测试是否被需要?“
 
团队职能介绍
    《暗黑者1》中有句台词,“专案组有五个职能角色构成,侦探、网警、痕迹侦查专家、法医还有心理学专家”。
    软件项目开发也是个分工明确的系统工程,不同的人员扮演了不同的角色,可以分为:项目、产品、开发、测试、美工等等。
 
    项目经理负责分配资源,确定优先级,协调与客户和用户之间的交往。
    产品经理负责市场调查并根据产品、市场及用户等的需求,确定产品功能的定义、规划和设计。
    开发包括开发经理、前端开发、后端开发,
        开发经理,称为产品研发经理,负责制定并论证产品研发计划、监督管理研发工作进度及质量,提出有效的解决方案。
        前端开发,负责呈现给用户的过程中创建Web页面或app等前端界面。
        后端开发,通常称为软件开发工程师,负责软件概要设计、详细设计、编码、单元测试工作及说明文档的编写,这一职能更多时候被叫程序员。
    测试,负责理解软件需求,并对其进行测试,检查软件中是否存在缺陷。
    美工负责领导和协调 Web 界面的原型设计和正式设计。
    
    抛开其他职能不谈,假设软件开发过程中,离开测试会有什么结果?影响有四点:
    1,软件质量差;
    2,增加开发成本,由开发人员识别和纠正缺陷,会占用更多的时间成本;
    3,软件推广滞后,软件质量无法保证,触及到用户容忍度,会直接影响到软件在市场中的推广;
    4,增加交易成本,因为缺少测试标准和程序,在软件交付过程中用户无法掌握软件的可靠程度;
 
测试定位
    接上一节,测试人员还可以从(初、中、高)级别和(经理、主管、组长、组员)职位不同角度区分。
    测试人员承担的任务角色决定工作内容和负责的任务,但测试人员需要承担的任务角色是什么呢?这个没有统一的答案,不同的公司和团队针对测试这个角色的定位都有所不同。
    
    从我个人的理解,角色定位有三个,一是找出软件缺陷,二是质量保证,三是参与产品需求优化。
    找出软件缺陷,又称为找bug,顾名思义是软件开发人员将功能模块开发完成之后交付给测试,测试人员开始针对功能模块进行测试验证,寻找其中的问题。
    而在一些流程较规范的公司中,测试还承担着质量保证和参与产品需求优化工作,质量保证又称QA(quality assurance),QA最重要的思想,是树立“自己就是站在客户前面最后一道防火墙”的概念,本着对客户负责,对公司产品形象负责的态度做好测试验证工作。这要求测试人员对自己公司的产品非常的熟悉,对容易出问题的地方做到心中有数,有针对性地进行强化测试。
    参与产品需求优化,看似不是测试人员的工作,但是对于测试人员在实际的软件测试工作过程中,会更容易地发现软件中不符合易用性的操作。因此无论是发现bug还是遇到不够人性化的功能设计,都可以结合软件需求和自身的理解,对软件错误提出应该如何修改更符合需求和体验,整个过程中测试人员可以不断地推送软件产品更加成熟。
    
    经过刚才的梳理,测试人员的工作职责可以列举如下:
    1,搭建测试环境,安装必要的软件工具;
    2,制定测试计划,包括测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等;
    3,制定测试用例,为了更好更有效地进行测试,保证测试工作质量;
    4,发现软件缺陷,快速地定位缺陷出现的操作步骤、原因,编写成正式的缺陷报告提交给开发修复;
    5,评估软件整体质量,确认软件能否达到需求及标准,并编写测试报告提交测试成果;
    6,自动化测试,为了提高工作效率和测试水平;
    7,测试负责人还需要根据实际测试过程中不断地优化流程,提高测试水平和队伍建设;
 
思考结语
    写到这里,已经可以回答前言中的问题,也许在未来测试人员这个岗位会被不需要,但是测试这个行为会永远存在。
    所以在测试生涯的探索和成长过程中,更应该立足于当前,思考如何提升自己的贡献,找到最适合软件开发的测试流程,平衡软件质量。 

软件开发项目组各职能介绍 & 测试人员在团队中的定位的更多相关文章

  1. Scrum敏捷软件开发之技术实践——测试驱动开发TDD

    重复无聊的定义 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写 ...

  2. APP测试中的头疼脑热:测试人员如何驱动开发做好自测

    如今,随着移动互联网的浪潮越翻越涌,移动APP测试工作的现状已经成了那本"家家难念"的经.不管公司大小,不管测试哪种类型的APP,让广泛测试者苦不堪言的就属重复性最多,测试工作量最 ...

  3. 敏捷软件开发vs传统软件开发

    摘要 本文介绍了传统软件开发(着重介绍了传统软件开发中常用的瀑布模型)和敏捷软件开发,以及敏捷开发和传统开发的对比. 一.传统软件开发 比较常用的几种传统软件开发方法:瀑布式开发.迭代式开发.螺旋开发 ...

  4. 软件发布版本区别介绍-Alpha,Beta,RC,Release

    Alpha: Alpha是内部测试版,一般不向外部发布,会有很多Bug.除非你也是测试人员,否则不建议使用. 是希腊字母的第一位,表示最初级的版本 alpha就是α,beta就是β alpha版就是比 ...

  5. 51Testing专访史亮:测试人员在国外

    不久前,我接受了51Testing的访问,讨论了软件测试的一些问题.以下是全文. 1.史亮老师,作为我们51Testing的老朋友,能和我们说说您最近在忙些什么吗? 自2011年起,我加入Micros ...

  6. 《软件开发与创新:ThoughtWorks文集:续集》

    <软件开发与创新:ThoughtWorks文集:续集> 基本信息 原书名:The thoughtWorks anthology, volume 2:More essays on softw ...

  7. [转]James Bach:测试人员的角色

    [转]James Bach:测试人员的角色 2015-05-13 以前,我是个开发人员.我不喜欢这个工作,无尽的压力让我疲惫.我几乎从未感觉到自己的工作做得足够好.我从未有过真正的休息.如果我没做好, ...

  8. 敏捷软件开发_实例2<四>

    敏捷软件开发_实例2 上一章中对薪水支付案例的用例和类做了详细的阐述,在本篇会介绍薪水支付案例包的划分和数据库,UI的设计. 包的划分 一个错误包的划分 为什么这个包是错误的: 如果对classifi ...

  9. 软件开发项目云端All-In-One体验

    如今在软件开发圈里混,Agile,DevOps,Cloud是大家经常挂在嘴边的词,其实大家各自都有在应用层上的经验,但是如何把三者很好的结合起来,这是所有项目管理者困惑和需要的问题. Agile让我们 ...

随机推荐

  1. EChart 文字大小调整 饼状图为例

    一.EChart图中的文字调整(以饼图为例) 二.源码: { "title": { "text": "", "subtext&qu ...

  2. 开启Golang编程第一章

    Go is an open source programming language that makes it easy to build simple,reliable, and effcient ...

  3. Jenkins 快速上手指南

    步骤: 在服务器上安装好jenkins. 在浏览器地址栏输入:服务器地址+":8080/jenkins",回车访问jenkins主页. 单击“新建”,创建任务.如下图: 为任务命名 ...

  4. 动态规划——Longest Valid Parentheses

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  5. DWM1000 测距原理简单分析 之 SS-TWR代码分析2 -- [蓝点无限]

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 首先将SS 原理介绍中的图片拿过来,将图片印在脑海里. 对于DeviceA 和 DeviceB来说,初 ...

  6. Linux中Hadoop的环境搭建

    一:下载安装 Hadoop 1.1:下载指定的Hadoop 1.2:通过XFTP把文件上传到master电脑bigData目录下 1.3:解压hadoop压缩文件 tar -xvf hadoop-2. ...

  7. JS_ Date对象应用实例

    一.获取日期时间,秒数实时跳动 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  8. ftp搭建安装

    本文摘要:https://jingyan.baidu.com/article/380abd0a77ae041d90192cf4.html FTP 是File Transfer Protocol(文件传 ...

  9. Node.js_密码明文_密文_加密库_sha1

    加密库 sha1 加密模块,能够将指定 明文 加密成一个长度相等的 密文 let pwd = 'qwe123456'; const secret = sha1(pwd); 同样的明文,加密得到同样的密 ...

  10. vue_组件间通信:自定义事件、消息发布与订阅、槽

    自定义事件 只能用于 子组件 向 父组件 发送数据 可以取代函数类型的 props 在父组件: 给子组件@add-todo-event="addTodo" 在子组件: 相关方法中, ...