什么是QA?
QA(Quality Assurance,中文意思是“质量保证”)是质量管理的一部分,它致力于提供质量要求会得到满足的信任。质量保证是指为使人们确信产品或服务能满足质量要求而在质量管理体系中实施并根据需要进行证实的全部有计划和有系统的活动。质量保证一般适用于有合同的场合,其主要目的是使用户确信产品或服务能满足规定的质量要求。
简单来说,QA人员需要建立质量体系,或者利用已有的质量体系,来管控开发、测试过程,使得承诺的产品或者服务能够满足规定的质量要求。
为什么需要QA?
开发、测试过程中存在许多问题,如:
- 开发需求过多
- 如何设计项目计划
- 产品上线之后问题多
- 权限变更没有管控,没人评审等
- 如何确定开发、测试人员的数量
- 性能测试指标如何确定
- 开发人员绩效如何考核
- ...
总的来说,存在问题是:
1. 流程不标准
2. 职责不明确
3. 过程不规范
4. 方法不科学
QA职责
想要成为一名优秀的QA人员需要先了解职责范围:
- 负责引导和监控产品/项目实施规范的开发流程,并开展例行的审计活动;(评审)
- 在系统工程方法方面研究与探索,通过严格的方法构筑产品质量;(计划质量保证过程)
- 通过对产品/项目质量数据度量和分析,及时发现问题,进行风险评估,提高产品/项目开发的过程质量;(循环发现问题并持续改进)
- 跟踪协调并推动产品/项目质量问题的解决。(解决问题,直至交付)
如何成为一名优秀的QA
1. 自我提升
- 1 正确的努力方向
QA首先要有先知先觉的思想。思想就是灵魂,QA要有天然的悟性,要真正吃透过程改进的思想,抓住CMMI的脉络,而不是仅仅知道CMMI是什么。
- 2 谦虚的服务意识
服务是一种态度,谦虚是一种本质,作为QA,既是公司利益忠诚的服务者,又是项目组成员谦虚的服务者,只有让公司及项目组轻松、愉快起来,QA的价值才有可能体现。
- 3 良好的人际沟通技巧
人际关系,无疑是QA必备的素养,作为过程改进的执行者与推动者,是维系过程的纽带,拥有良好的人际沟通技巧,将给QA工作增添很多的分数。
- 4 严谨的逻辑思维能力
逻辑思维是一种长期历练的结晶,看问题、办事情总得有个相互关联的逻辑结构。解决过程改进中存在的一些问题,将始终考验QA的这种能力。以往经验与知识体系固然重要,但要分清楚问题之间千丝万缕的关系,有理有据、省时省力地去解决问题,还需要严谨的逻辑来推理与分析。
- 5 持续的自我反省
“吾日三省吾身”,作为QA,必须时刻保持自我反省与批评的态度,我们也不必要“三省”,只要“一省”就可以了,每天下班后,整理一下自己的思绪,并把体会写下来。
- 6 坚韧的毅力与决心
人们学说:兴趣是最好的老师,没错,兴趣足以让人入迷于某事,但毅力与决心却是达到目标必备的素质,这种品质既可以与生俱来,也可以后天培养。有志者事竟成,要有这种坚持不懈的努力。
2. 掌握方法与技巧
QA首先是一个专才,其次才是一个全才。作为一名QA,如果仅仅关注于CMMI,那余下的这几十年将逃离不了文员的角色了(夸张了一点,主要是想说明知识广度的重要性)。所以应当拥有丰富的知识体系,打好奠基,一步一步走向目标。应该具备如下的几点(或几方面)知识体系:
- 1 软件工程体系
如果连最基本的软件生命同期、软件开发阶段都不懂或者不是很明白,要么现在就开始去学,要么,脱离QA这个行业。
- 2 质量体系知识
比如ISO、CMM、CMMI等,随时准备储存质量体系知识。
- 3 部分项目管理与开发经验
要做好QA工作,并做一位“有可能”称职的QA,要有实地的项目开发与管理经验。
- 4 配置管理
了解配置项、配置基线等名词概念。
- 5 测试知识
例如测试覆盖率等测试基础知识。
- 6 统计分析
需要用数据来说话,掌握收集、分析数据的能力。