前言
    接触了许多非测试和新入行的测试从业者,听到最多的问题就是:“测试是否被需要?“
 
团队职能介绍
    《暗黑者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. 洛谷P5206 [WC2019]数树 [容斥,DP,生成函数,NTT]

    传送门 Orz神仙题,让我长了许多见识. 长式子警告 思路 y=1 由于y=1时会导致后面一些式子未定义,先抓出来. printf("%lld",opt==0?1:(opt==1? ...

  2. Monkey自动化脚本(一)

    1.Monkey简介 Monkey-猴子,通过Monkey程序模拟用户触摸屏幕.滑动Trackball. 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,主要用于Android ...

  3. PID控制器开发笔记之十三:单神经元PID控制器的实现

    神经网络是模拟人脑思维方式的数学模型.神经网络是智能控制的一个重要分支,人们针对控制过程提供了各种实现方式,在本节我们主要讨论一下采用单神经元实现PID控制器的方式. 1.单神经元的基本原理 单神经元 ...

  4. Django + Uwsgi + Nginx 的生产环境部署

    使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归 ...

  5. Xilinx 7 Serial PUDC_B

    PUDC_B管脚用途 Pull-Up During Configuration (bar) Active-Low PUDC_B input enables internal pull-up resis ...

  6. SQL反模式学习笔记22 伪键洁癖,整理数据

    目标:整理数据,使不连续的主键Id数据记录变的连续. 反模式:填充断档的数据空缺. 1.不按照顺序分配编号 在插入新行时,通过遍历表,找到的第一个未分配的主键编号分配给新行,来代替原来自动分配的伪主键 ...

  7. 咸鱼入门到放弃2--Servlet

    Tomcat作为一款常用的servlet容器,其模型中包含了context容器对servlet行进管理. Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: ① ...

  8. DDoS攻击与防御(3)

    3.攻击应用资源网络应用和服务在处理数据时,通常需要消耗一定的网络连接.计算和存储资源,这些资源是由应用程序向系统进行申请并自行管理和维护的.消耗应用资源的DDoS攻击就是通过向应用提交大量消耗资源的 ...

  9. django中models field详解

    本文参考自:django官方文档models/field 在model中添加字段的格式一般为:  field_name = field_type(**field_options) 一  field o ...

  10. Angularjs 跨域请求

    不知道什么意思修改了service 参考http://blog.csdn.net/hj7jay/article/details/51767805 http://blog.csdn.net/tangsl ...