前言
    接触了许多非测试和新入行的测试从业者,听到最多的问题就是:“测试是否被需要?“
 
团队职能介绍
    《暗黑者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. centos7中nfs文件系统的使用

    需求: file01:1.1.1.1(内网ip 172.20.103.212),file02:2.2.2.2(内网ip 172.20.103.211) 这两台机器的 /dev/mapper/myvg- ...

  2. linux下 vi命令编辑/etc/my.cnf

    把my.cnf配置文件加个max_connections包括(插入命令,删除命令,修改命令.退出保存命令) 你要有这个文件写权限,shell下输入: vi /etc/my.cnf 进入vi后,按i移动 ...

  3. 史上最明白的 NULL、0、nullptr 区别分析(老师讲N篇都没讲明白的东东),今天终于明白了,如果和我一样以前不明白的可以好好的看看...

    C的NULL 在C语言中,我们使用NULL表示空指针,也就是我们可以写如下代码: int *i = NULL; foo_t *f = NULL; 实际上在C语言中,NULL通常被定义为如下: #def ...

  4. django日志,django-crontab,django邮件模块

    django 日志 四大块,格式器,过滤器,处理器,日志管理器 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatt ...

  5. file_get_contents函数偶尔报错的抑制显示

    $result = @file_get_contents($url);可以使用@进行抑制file_get_contents()的报错 @是为了抑制错误显示,让用户看不到,提升用户体验.注意:只是抑制错 ...

  6. 加密:HashUtils,RSAUtil,AESUtils

    import java.security.MessageDigest; public class HashUtils { public static String getMD5(String sour ...

  7. Linux安装配置git

    1.查看git安装版本 git version 2.查看git安装位置 whereis git 3.yum安装git yum install git 4.生成ssh key cd /root/.ssh ...

  8. 导出excel 文件

    ---恢复内容开始--- 安装  pip install xlwt ---恢复内容结束---

  9. Zabbix告警发送邮件时附带性能图

    脚本处理逻辑分析: 通过zabbix传递给脚本的message参数,筛选出报警信息的itemid; 通过itemid获取到图片并保存; 将报警信息和图片组装成html; 发送邮件. 后续脚本里面的处理 ...

  10. CentOS7.6 yum方式安装mysql2.7.25

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB 1 下载并安装MySQL官方的 Yum Rep ...