质量控制部门职责及分工Word格式文档下载.docx
《质量控制部门职责及分工Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《质量控制部门职责及分工Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
通常这样的问题大都是由经验丰富的测试工程师发现的。
1.4.5与使用者的互动
一个好的软件必须与使用者之间正常互动。
在使用者操作使用软件的过程中,软件必须很好地响应使用者。
这个问题常常有网络中浏览网页时出现。
假设目前使用者正在某一个网页填写资料,但是所填写的资料不足或是有误。
当使用者单击了“确定”按钮之后,网页响应使用者所填写的资料有错,可是并未指明错误在哪里,使用者只好回到上一页后重新填写一次,或是直接放弃离开。
这个问题就是软件对使用互动并I未做完整的设计,对于属于窗口程序类型的软件,这一点也常常被忽略,例如当使用者做任何更新或删除动作的前后,程序是否提供相应的信息给使用者?
或对所执行的动作做确认?
如提供确认窗口。
与使用者的互动原则就是所有的动作必须伴随着适当的响应(Everyactionewithareaction)。
1.4.6使用性能太差
所测试的软件功能正常但是使用性能太差了,这样算不算问题呢?
这个问题,也经常有测试人员问。
使用性能不佳,当然是一个问题,而问题通常是由于开发人员采用了错误的解决方案,或是运用了不适用的算法所导致的。
例如有一个软件属于C/S的企业软件,Server端会将Client传递上来的资料做好分类处理。
由于资料所包含的种类相当多,于是开发人员将它分别存入不同的资料文件内,例如ClientA送给Server的资料种类有A1-A10,而Server就分别将资料存到10个不同的资料文件内。
这样做的结果是造成使用者在做资料查询时速度出奇地慢,因为Server会逐一搜寻10个不同的资料文件内容来做对比。
类似的例子相当多,寻根究底是因为未做好基础审核(ArchitectureReview)与设计审核(DesignReview),可是却大都是在进行系统测试或性能测试时才显示出问题的严重性。
当然,在有些情况下,项目经理或开发人员会反驳说如此的使用性能是在合理的X围内。
建议测试人员将竞争对手或同类型的软件拿来做一个性能测试,这个测试的结果最好以数字或百分比的形式返回给产品与开发人员。
这样的方式所达到的效果远比互相争吵来得有效得多。
1.4.7未做好错误处理
软件除了避免出错之外,还要做好错误处理。
许多软件之所以会产生错误,是因为程序本身不知道如何处理所遇到的错误。
譬如说,所测试的程序可以读取外部的资料文件并且做一些分类整理,可是刚好所读取的外部资料文件的内容是被损毁的。
当程序读取这个损毁的资料文件时,程序就发生问题,这时候操作系统不知如何处理这个状况,为了保护自己只好中断程序。
由此可见这个程序并未做好错误处理。
除了做好错误处理之外,同时也要设立防止错误发生的机制。
如上述所说的,程序在读取外部资料文件之前,应该先检查外部资料文件是否毁损,这样的方法才比较保险。
当然,除了做好错误处理之外,产品是否提供适当的调试机制,也是测试人员应该注意的。
复杂的软件如果未提供调试文档或调试方法,在以后的维护过程中将会吃尽苦头。
建议在进行软件设计规格阶段时,最好将调试机制包含在内,这对以后的开发过程与维护过程绝对有很大的帮助。
1.4.8边界错误
缓冲区溢出的问题(BufferOverflows),这几年来成为相当热门的网络攻击方式,而这个错误就属于边界错误的一种。
简单地说,程序本身无法处理超过边界资料所导致的错误。
这个问题有许多情形是开发人员在声明变量或是使用资料的长度时不小心引起的。
1.4.9计算错误
只要是软件程序就免不了包括数学计算。
软件之所以会出现计算错误,大部分出错的原因在于采用了错误的数学运算或未将计数器归0。
1.4.10使用一段时间所产生的错误
这个问题就是程序刚开始运行时很正常,但在运行了一段时间后却出现问题。
最典型的例子就是数据库的搜寻功能。
有一些软件在刚开始使用时,所提供的资料搜寻功能运作良好,可是在使用了一段时间后却发现,进行资料搜寻所需的时间却越来越长了。
结果发现,所采用的资料搜寻方式是从第一笔搜查到最后一笔的方法。
类似这样的问题可以解决和避免。
例子:
有一个软件提供组件更新的功能,程序会通过因特网对比下载最新的组件,之后程序会以新的组件取代旧的组件。
这个更新程序做第一次更新动作的时候是正确运作,可是如果再做第二次更新动作就毫无作用了,其原因很简单,开发人员忘了将状态标志恢复到原来的状态,所以程序无法再进行第二次的更新动作。
1.4.11控制流程的错误
控制流程的好与坏,考验着开发人员对软件开发的态度与设计的程序是否严谨。
软件在状态间的转变是否合理,要依据流程进行控制。
相信许多测试人员在使用软件时,有时候会有这种感觉—为什么会跳到这一步?
或是好像少了一个步骤等类似的问题,这就是所谓的控制流程错误。
用软件安装程序解释这样的问题是最容易的。
譬如使用者在进行软件安装时,在输入用户名与一些其他资料后,软件就直接进行安装了,问题就出在安装程序并未为使用者提供可以选择安装目的地的状态。
这就是软件控制流程不完整的错误问题。
1.4.12在压力之下所产生的错误
程序在处于压力状态下如果运作不正常的话,就是属于这种软件的错误。
压力测试对于Server级的软件是必须要进行的一项测试,因为Server级的软件对稳定度的要求远比其他的软件高。
通常一连串的压力测试是必须配合着测试软件来实施的,例如让程序处理超过10万笔的资料,然后再来观察程序运行的结果。
要准备10万笔的资料就必须借助于测试软件。
1.4.13不同硬设备所导致的错误
顾名思义就是问题的产生与硬件设备不同有关。
如果所开发的软件与硬件设备有直接的关系,这样的问题就会相当多,例如光盘刻录机的软件就存在不少这样的问题。
例如:
所开发的软件在特殊品牌的服务器上运行约七八分钟就会停摆。
1.4.14版本控制不良所产生的错误
出现这样的问题属于项目管理的疏忽,当然测试人员未善尽职守也是原因之一。
在最近的例子中有一个错得很冤,情形是这家公司一年前所出版的一个软件被反应有安全上的漏洞,后来这家公司也很快将这个问题的修正版提供给客户下载。
理论上这个事件就应该平息了,但是在一年后他们在推出新版本时,却忘记将这个已解决掉的问题加入新版本内。
所以对旧客户来说,原本的问题已经解决了,可是想不到将版本升级后,旧问题又出现了。
1.4.15文件错误
最后这个错误是文件错误。
这里所提与的错误除了软件所附带的使用手册、说明文档、FAQ,以与其他相关的文件内容除了降低质量之外,最主要的问题是会误导作用者。
很多客户投诉,不满使用手册所提供的资料与实际不符合。
第2章质量控制部门的组成
2.1部门的定位
质量控制部门不仅仅是一个测试部门,与单纯的测试部门有着重要的区别:
测试针对一个项目,包含详细的技术工作,它是项目组的一个核心角色。
质量控制是公司的一个职能部门,它在一个负责企业质量和标准实施和监督的人领导下工作。
质量控制也负责在不同的项目组之间共享最好的实践经验。
2.2部门成员的角色与职责
质量控制部门的角色分为七种:
质量控制经理、质量监督员、测试协调员、测试执行员、用户培训员、系统实施员、过程研究员。
2.2.1质量控制经理
质量控制经理的职责是:
协调部门各角色的工作,并对最终发布的产品、产品的文档与整个开发过程进行评审。
2.2.2质量监督员
质量监督员的职责是:
参与项目组,具有使项目组成员充分了解各项标准和规X的责任;
协助并监督项目组在开发过程中执行相关标准和规X;
协助质量控制经理对开发过程进行评审;
可根据执行情况对各项标准和规X提出改善建议。
2.2.3测试协调员
测试协调员的职责是:
针对某个产品或某个项目制定测试计划和测试方法,确定测试工期;
根据各测试执行员提交的测试结果,完成项目或产品的测试总结报告。
一个测试协调员的角色可由多个人员担任,一个人员也可担任多个测试协调员的角色。
2.2.4测试执行员
测试执行员的职责是:
根据测试协调员制定的测试计划和测试方法编写测试说明包括测试用例的设计和说明;
对产品进行测试,并记录测试结果;
对BUG进行管理,保证它们在产品提交以前被解决;
参与产品的质量评审。
2.2.5用户培训员
用户培训员的职责是:
参与系统测试,并在系统测试的同时获取系统界面、了解系统的操作,完成《用户手册》和培训教材;
通过方案演示和系统培训,最大可能性地使系统的使用者得到相关产品和服务的价值。
2.2.6过程研究员
过程研究员的职责是:
参与项目或产品开发过程评审,参与产品质量评审,并根据评审结果对开发过程进行分析,找出影响产品质量的主要因素,并针对主要因素提出相应的过程改进方案。
2.3部门成员的要求
产品质量关系到企业的生命和前途,质量控制部门应全程跟踪产品的开发过程,是产品质量的最后一道防线,对最终发布的产品的质量负有直接的责任,所以对部门成员的要求是:
有高度的责任心、对工作的认真态度、具有严谨和细致的思维习惯。
2.3.1对测试人员的要求
测试人员包括:
测试协调员、测试执行员
人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。
为高质高效地完成测试任务,好的测试工程师应具有如下能力:
2.3.1.1沟通能力
一名理想的测试者必须能够同测试涉与到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。
既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。
和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。
而和开发者谈一样的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。
2.3.1.2技术能力
就总体言,开发人员对那些不懂技术的人持一种轻视的态度。
一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。
一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。
要做到这一点需要有一定的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
2.3.1.3自信心
开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。
如果容许别人对自己指东指西,就不能完成什么更多的事情了。
2.3.1.4外交能力
当你告诉某人他出了错时,就必须使用一些外交方法。
机智老练和外交手法有助于维护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的外交手腕。
如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相当于“赢了战争却输了战役”。
2.3.1.5幽默感
在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。
2.3.1.6怀疑精神
可以预料,开发者会尽他们最大的努力将所有的错误解释过去。
测式者必须听每个人的说明,但他必须保持怀疑直到他自己看过以后。
2.3.1.7自我督促
干测试工作很容易使你变得懒散。
只有那些具有自我督促能力的人才能够使自己每天正常地工作。
2.3.1.8洞察力
一个好的测试工程师具有“测试是为了破坏”的观点,捕获用户观点的能力,强烈的质量追求,对细节的关注能力。
应用的高风险区的判断能力以便将有限的测试针对重点环节。
第3章质量控制部门的职责
3.1售前
3.1.1了解需求
了解客户需求、对测试的具体或特殊要求。
3.1.2熟悉功能和性能
结合项目方案、需求分析,熟悉和分析系统功能、性能指标。
3.1.3确认工期
确认测试所需的工作量,提供给项目负责人以确认项目工期。
3.1.4确定标准
与开发组确定开发标准和测试标准。
3.2售中
3.2.1制定测试计划
根据用户需求和需求分析、设计方案,制定《项目测试计划》。
3.2.2产品测试
测试的任务是保证产品或服务交付之前,能够发现所有存在的问题。
测试要准备测试计划、测试规定和测试的用例,这些文档用于拓宽测试X围和进行足够的可使用性测试。
在软件开发的项目中,测试必须针对所有的接口,包括API的每个方面。
将新软件集成到现行系统时也必须进行测试。
系统测试工作全部完成后要准备测试总结报告。
测试的内容包括:
代码测试、单元测试、集成测试、系统测试、性能测试、系统实施测试、应用程序接口测试。
注:
测试这种角色必须独立于开发才是真正有效的。
3.2.3管理BUG
测试要管理BUG跟踪数据库,并对BUG报告的质量负责。
BUG数据库对于产生针对进度跟踪项目状态的统计报告来说,是一种重要资源。
BUG报告也用于确定项目进度中的、关键部分的风险。
3.2.4产品质量的评审
根据产品测试报告的对产品的质量进行评审,确定产品是否可以发布。
3.2.5项目文档的评审
根据项目管理规X,按时检查各阶段需提交的开发文档,检查开发文档的规X性和正确性,对文档进行评审。
3.2.6编制《用户手册》
在进行测试的过程中,获取系统界面,并对各项功能和操作进行说明,最后形成《用户手册》。
3.2.7用户培训
用户培训的任务是通过方案演示和系统培训,最大可能性地使系统的使用者得到相关产品和服务的价值。
用户培训的第二个任务是通过使产品更容易理解和使用,降低系统技术支持的费用。
3.2.8系统实施
系统实施的任务是确保产品平稳地过渡、安装和移交到产品操作和技术支持组手中。
3.3售后
3.3.1测试文档提交
将《项目测试计划》、《项目测试总结报告》以与开发文档交项目管理部相关负责人。
3.3.2测试总结
总结测试中遇到的问题、经验、测试方法。
3.3.3完善测试标准、规X
根据总结的结论,对不适合的测试标准、规X进行修订,使之更加完善。
3.4过程改进
3.4.1开发过程的评审
根据项目开发过程中各标准的执行情况对开发过程进行评审。
3.4.2对开发过程的各项标准的定义
定义开发过程中所需要遵循的各项标准,制定标准有两条原则:
一是标准应有利于稳定质量或在不损害质量的基础上降低开发成本;
二是具有可执行性。
3.4.3开发过程的持续改进
根据开发过程的评审结果与产品质量的结果,找出影响产品质量的因素,并改进开发过程的标准或方法,保持产品质量的稳定和持续上升。
各项目组在开发过程中积累的好的经验也可作为持续改进开发过程的一个重要参考。
第4章质量控制部门的工作规X
4.1共同分担责任
质量控制经理是部门的负责人,但部门的每位成员都有必要分担这个责任。
4.2良好的工作心态
部门每一位成员都应始终保持如下的工作心态以保证产品的成功与个人成长:
高度责任感、认真工作、思想开放,有着进一步自我发展的愿望。
4.3工作计划与进度控制
充分了解客观情况,制订切实可行的工作计划,充分利用时间,对事情的发展主动加以控制,以做好为目的,对不可控制事情与时预警,避免返工或重做。
充分相信其他成员能够按时优质完成各自的任务而不影响其他成员的工作。
4.4积极参与与有效沟通
在任何需要的时候都要积极参与,充分表达你的见解,而不是坐等被人问起。
主动与其他小组成员进行明确与与时的沟通,提倡建设性的反馈,避免任何指责性的言语和行为。
每一位成员既是问题的发现者,又是问题的解决者。
既便是面对超出职责X围的问题,也不能以此作为推诿的理由。
4.5建设良好的工作环境
共同创造积极而又有建设性的工作环境:
尊重部门的所有成员,也尊重其他人的观点。
认识到个人之间的差别,不以自己的意志与好恶强求别人。
摒弃骄傲、自满或固执的情绪,因为那会影响到部门成员的合作与互助。
4.6抛弃自我
抛弃自我的概念:
团队的成功高于一切,个人的获取是次要的。
在团队中没有自我的概念,从而也就没有个人的胜败。
如果团队成功了,每个人都是赢家。
4.7不含敌意的冲突
不含敌意的冲突是好的,它能激起讨论,以澄清认识并促成寻求新的方法。
每个人都必须以积极的态度对待冲突,并愿意就面临的冲突广泛交换意见,尽力得到最好、最全面的解决方案,不允许有任何情绪化的言论和行为。
反对无原则的附和。
在附和意见之前先问自己:
出了门是不是还会支持决议?
为其辩护?
4.8如何解决问题
解决问题的9个步骤:
说明问题;
发现问题的可能原因;
收集资料并明确最可能原因;
明确可能方案;
评估可行方案;
决定最佳方案;
修订质量计划;
实施方案;
判断问题是否得以解决。
4.8.1各项工作的规X
在部门的各项工作的应遵循的标准和规X详见《测试规X》、《过程改进规X》、《产品和过程度量标准》、《项目文档规X》等。
第5章质量控制部门分级测试方案
5.1方案要达到的目的:
1、避免再出现给用户演示时出现较明显的BUG。
2、降低BUG的遗漏率。
5.2分级测试方案
测试工作分为四级:
5.2.1一级测试内容
1、正常操作,能否执行通过。
2、需求描述的功能是否实现(只检查功能实现,不考虑合理性)。
5.2.2二级测试内容
1、业务逻辑是否合理。
2、用户能否容易上手。
5.2.3三级测试内容
1、非正常操作(包括边界值、非法值、空值输入等)看是否有合适的异常处理(错误提示是否准确易懂)。
2、页面布局与显示信息(如:
tital显示等)。
5.2.4四级测试内容
1、破坏性操作,如:
多个用户对同一条信息进行删除等。
2、性能测试。
3、压力测试。
5.3为什么采用分级测试方案
在测试工作中遇到一些难以解决的问题,为了解决这些问题,制定了分级测试方案。
5.3.1问题一:
用户演示时出现错误页面等明显BUG
原因分析:
测试人员在测试中,要检查系统所有方面的问题,涉与面广,造成工作量庞大,不能与时对系统进行全面检查。
解决方法:
采用测试分级方案,在给用户演示前,应提前通知质量保证部,对系统进行一级测试,测试通过才能进行演示,以保证演示顺利通过。
5.3.2问题二:
BUG遗漏率太大
如果测试人员的BUG遗漏太多,就失去测试的意义了。
测试人员要对以上四个级别的内容都进行测试,就要考虑很多方面的问题,这需要具有较强的思维严密性,不容易做到。
采用测试分级方案,系统提交给测试人员后,先进行一级测试,测试人员只考虑一级测试的内容,完成后提交BUG给开发人员。
按照一级测试流程进行(见一级测试流程图)。
一级测试通过后,再进行二级测试,这样逐级上升,每个测试级别只考虑比较单纯的问题,可以减轻测试人员的压力,这样就对思维严密性的要求降低很多,又能降低BUG遗漏率。
5.4BUG处理
5.4.1BUG状态说明
状态
说明
标注状态的角色
1
Open
已经发现的BUG
测试人员
2
Updated
已被修正的BUG
开发人员
3
Disputed
有争议的BUG
4
False
假BUG
5
Close
测试证实已经修正的BUG
6
Reopen.
被修正的BUG再次出现,NO.为出现次数
5.4.2BUG处理流程
5.5分级测试方案工作流程
5.5.1一级测试流程
5.5.2二级测试流程
5.5.3三级测试流程
5.5.4四级测试流程
第6章部门人员工作考核方案
6.1考核表
6.1.1测试工作考核表
考核项
权重%
评分
描述
测试
沟通:
与相关人员沟通,充分了解需求
20
25
细致:
没有BUG遗漏
35
速度:
能够在指定时间内完成
质量:
无返工现象,符合要求
BUG记录
分级:
对BUG分级的判断准确
15
30
BUG描述:
描述准确,容易理解
修改意见:
能够提出准确的修改意见
创新:
能提出较好的解决方案
BUG追踪
主动追踪BUG的修改情况
40
开发人员对BUG的判定有疑问时,能有效地与开发人员沟通,解决争议
60
职业
素质
工作态度:
工作热情、不发牢骚
服从性:
能够按要求完成任务
克服困难:
遇到困难能想办法并努力解决
责任心:
对工作负责,不推卸责任
协作:
能与其他员工有效配合进行工作
亲和力:
与所有人相处友善、和谐
10
测试工作考核