TZ : 趁着年轻,努力学习.
一 : 质量管理
一般来说项目经理和质量经理要明确开来,但是根据大数据调研中小型企业才是IT行业的主力军,所以很多项目经理往往都身兼数职,质量管理也是一项必不可少的职业技能.
质量管理对于一个IT项目尤为重要,甚至决定其生死,好的质量管理会让项目事半功倍,混乱的质量管理,甚至没有质量管理会让项目进入无尽的黑暗,项目返工,团队成员会被救火,修改等折腾的焦头烂额,项目进度和成本更是无从谈起.
所以项目的质量管理是项目成功的关键所在,是项目成功的基石,在这个迅速发展的时代,也是质者为王的时代.
质量活动
主要包括配置管理,评审,测试,以及跟踪缺陷,现在中小公司很多没有配置管理,因为通过代码管理工具,和文档管理工具上传到SVN等类似的管理平台,减少了人员和工作成本.
- 评审 : 检查项目中间产品,早期发现缺陷以后减少后期修改和返工的工作量.
- 测试 : 直接检查软件产品的缺陷,确保产品符合要求.一般通过单元测试,系统测试,集成测试,性能测试实现.
- 缺陷跟踪 : 记录和追踪缺陷从发现到解决的整个过程,确保所有的问题都能有结论.
- 审计 : 对项目的工作过程进行检查,确保所有活动遵循规程进行.
二 : 项目评审活动
评审的重要性
在项目之初也就是在需求理解和需求设计方面,如果发现问题,修改只需要十分钟,如果需求设计完成,开始了文档设计,相关人员开始了文档记录,那么修改相关文档需要一天,假如在不完全确定的情况下去编码,等到编码结束,发现了原本需求的缺陷,则会需要多的时间去修改编码.整个项目被弄得一塌糊涂,损失难以评估.
这很像一个小男孩偷东西,在还是小男孩的时期,对其进行批评教育,如果放任不管到了青少年就会逆反心里极强,此时管教已经非常困难,如果还继续,到了青壮年可能只能吃牢饭了.
TZ曾经经历过几个未设置评审的项目组,由于产品的市场调研不充分,导致需求设计和产品设计有点跑偏方向,已经确定的需求逻辑也不完整,存在漏洞,但是编码工作提前展开,导致不停的返工,改需求,改代码,事倍功半,这就是由于没有进行项目评审,合理审查流程导致.
召开评审会议
评审会议涉及的角色分别主要由5种,包括责任人,主审人,评审专家,记录员,各个人员的态度决定了评审会议的效果.
- 评审专家 : 中小型公司企业的评审专家可以让编码组长,设计组长或者是运营组长,或者一些没有利益瓜葛的,和项目没有直接关系的一起来帮忙做评审.在评审会前要拿出时间和精力了解项目,在其中找寻潜在和不符合逻辑和市场需求的问题.侧重于发现问题,而不是解决问题.
- 责任人就是主要在评审过程中负责解答提出的问题,对于发现的缺陷或者设计的漏洞要虚心接受,会后还要积极改正并提交给主审人,因为项目前期需求和调研还有设计工作可能由不同的部门和人员负责,所以责任人可以是多个,形成了多对多的挑毛病阶段.
- 记录员 : 在评审过程中把专家们提出的所有问题都记录下来,还要记录负责人的解释信息,还要记录评审结果.
会议步骤
计划阶段与项目计划同步,也就是说项目有哪些评审在项目计划中就提前定义好了.
预备会议,针对要评审的资料对评审组进行培训,并讨论评审资料.如果很熟悉项目,可省略会议.
准备工作,评审专家们必须在会前就严格地将要评审的资料作认真的准备.
评审会议,评审专家和责任人在会上共同确认在评审的资料和包含的错误和追踪.
跟踪,在评审会议完成后,评审组织者还要确保责任人采取必要的措施改正所发现的问题.
三 : 项目测试活动
测试活动
分为单元测试,集成测试,系统测试,性能测试和验收测试
-
单元测试 : 主要由开发人员自己对自己编写的代码进行自测或者相互交叉测试的白盒测试,用以检查代码是否符合编码规范,是否存在逻辑错误.
集成测试 : 将单元测试的模块进行组装成完整的程序,由测试人员负责,在单元测试完成后进行.
系统测试 : 是为了验证需求分析确定的功能是否齐全并被正确实现,同时还要对安装,部署,适应性,安全性,界面等非功能性需求进行测试.系统测试由测试人员负责,应该在需求分析完成后进行设计,在集成测试完成后进行实施.
性能测试 : 检查系统是否满足规定的性能要求.性能测试通常选择一些典型的功能,检查这些功能在大量用户同时在线系统是否依旧稳定.由测试人员负责.
用户验收测试 (UAT): 验证系统与需求的匹配性,以及界面的友好性,时间响应速度,由客户完成.
测试工作好像一层层过滤网,帮助项目完美的呈现和运行,缺陷和bug是经过层层筛选才逐渐消失的,是由小小的细节和错误一点点积累的,在过程中慢慢消化掉,既省时间,也能避免产生大问题,避免把问题留给后人.
四 : 缺陷跟踪
对于缺陷跟踪,是测试人员对于问题,纪录分析,跟踪和纪录开发人员更改,并确认是否完成修改.
对于缺陷的分析主要缺陷类型,严重性,紧迫度几个方面,帮助找到缺陷产生的原因,确定修改的优先级.
对于缺陷跟踪,网上有很多款不错的Bug跟踪软件.提供缺陷类型,和紧迫程度,和传统缺陷跟踪不同,bug管理系统能够更高效的分析和纪录,让测试人员和开发人员能够把时间更多的用于发现和修改.