前言
    接触了许多非测试和新入行的测试从业者,听到最多的问题就是:“测试是否被需要?“
 
团队职能介绍
    《暗黑者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. CSP应用开发-CryptAPI函数库介绍

    基本加密函数为开发加密应用程序提供了足够灵活的空间.所有CSP的通讯都是通过这些函数.一个CSP是实现所有加密操作的独立模块.在每一个应用程序中至少需要提供一个CSP来完成所需的加密操作.如果使用多于 ...

  2. JDBC连接MariaDB:数据传输加密

    环境:win7+springboot+mybatis+mariadb 需求说明: 未做安全加固前用wireshark抓包: 可以很明显看到用户名.数据库和 SQL,这种情况是有安全风险的. 1.下载o ...

  3. noj 算法 八数码问题

    描述 在九宫格里放在1到8共8个数字还有一个是空格,与空格相邻的数字可以移动到空格的位置,问给定的状态最少需要几步能到达目标状态(用0表示空格):1 2 34 5 67 8 0   输入 输入一个给定 ...

  4. 软件工程课开学测试——根据已有的CSS模板资源,搭建整个系统

    日期:2019.2.28 博客期:038 星期四 今天的测试得到了9.5分,将将及格的程度吧!本次程序完成的很不成功! <%@ page language="java" co ...

  5. 一 .isinstance(obj,cls)和issubclass(sub,super)

    class Foo: pass class Bar(Foo): pass obj = Bar() isinstance(obj,cls)检查是否obj是否是类 cls 的对象 print(isinst ...

  6. php memcached-gui工具

    转载: https://github.com/mailopl/memcached-gui/blob/master/memcached.php 适用于在服务端查看memcache内存数据 php代码: ...

  7. Dapper官方库 在guid和string互转的问题

    之前在和老何谈论他的开源项目Util中使用MySql的过程中发现了官方dapper在转换guid到string时候的一个错误 Error parsing column 0 (ID=6c2adb93-d ...

  8. sql语句表连接删除

    DELETE 表1,表2FROM 表1 LEFT JOIN 表2 ON 表1.id=表2.id WHERE 表1.id=需要删除的ID

  9. C# .net 中 Timeout 的处理及遇到的问题

    C# 中 Timeout 的处理 前言 最近在项目中要实现一个功能,是关于 Timeout 的,主要是要在要在 TCP 连接建立的时间 和 整个请求完成的时间,在这两个时间层面上,如果超出了设置的时间 ...

  10. rabbitmq-cluster搭建

    一.前期准备: 准备3台linux系统,配置好公司源,或者官网下载相应的网络源 1.条件:准备3台linux系统,确保能连到download.yunwei.edu 2.编写yum源下载脚本: #vim ...