3. 项目中质量管理开展方法
MILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要想在项目中开展质量管理,就不能脱离中国软件企业实施项目的现状:工期短、任务重、利润低。在这种背景下,开展全面质量管理是不太现实的,只能根据每个项目的进度和成本实际情况来进行合理的投入,否则质量投入过大不但耽误进度,还会影响到企业利润,这是本末倒置的。在项目实施中,通常是最大限度地去提高质量。
在图1的全面软件质量管理模型中,我们可以看出质量管理有三大类:技术评审、过程检查、软件测试,项目实施中的软件质量管理仍然围绕着这三类工作来开展。由于很多项目实施中没有专门的质量人员,这个时候项目经理应该更多地去组织技术评审和安排人员进行过程检查,可以考虑让软件测试人员承担一些质量保证工作,因为测试人员通常是必不可少的。
下面探讨一下每类工作如何开展。
Ø 项目实施中的技术评审
技术评审可以把一些软件缺陷消灭在代码开发之前,尤其是一些架构方面的缺陷。在项目实施中,为了节省时间应该优先对一些重要环节进行技术评审,这些环节主要有:项目计划、软件架构设计、数据库逻辑设计、系统概要设计等。如果时间和资源允许,可以考虑适当增加评审内容。
项目实施中技术评审如表1所示:
表1 项目实施中技术评审
评审内容 |
评审重点与意义 |
评审方式 |
项目计划 |
重点评审进度安排是否合理,否则进度安排将失去意义。 |
整个团队相关核心人员共同进行讨论、确认。 |
架构设计 |
架构决定了系统的技术选型、部署方式、系统支撑并发用户数量等诸多方面,这些都是评审重点。 |
邀请客户代表、领域专家进行较正式地评审。 |
数据库设计 |
主要是数据库得逻辑设计,这些既影响到程序设计,也影响到未来数据库的性能表现。 |
进行非正式评审,在数据库设计完成后,可以把结果发给相关技术人员,进行“头脑风暴”方式的评审。 |
系统概要设计 |
重点是系统接口的设计。接口设计得合理,可以大大节省时间,尽量避免很多返工。 |
设计完成后,相关技术人员一起开会讨论。 |
…… |
…… |
…… |
很多软件项目由于性能等诸多原因最后导致失败,实际上都是由于设计阶段技术评审做的不够。一味地节省时间、关键工作仅由某几个人执行、整个项目的成败依赖于某些“个人英雄”等做法是十分错误的,重要的技术评审工作是不可以忽略的。
Ø 项目实施中的过程检查
项目经常延期是中国软件企业实施很多项目时候的特点,因此项目实施中的过程检查重点是“进度检查”。在实际工作中,很多项目都是启动一段时间后就开始不停地加班,使整个团队处于疲惫状态,导致工作效率低下,最后把项目计划丢在一边。对于这种情况,比较好的做法是不断地检查项目计划与实际进度是否存在偏差,如果存在偏差则找出问题的根源,然后消除引起问题的因素,例如可以调整进度安排或者增加人力投入,这样就避免了问题不断放大。
版本检查在项目实施中也需要特别注意,因为版本混乱会带来很大麻烦,尤其进行测试的时候。此外,项目实施时候也应该注意文档检查,尤其是一些关键文档的质量,例如接口文档、用户手册等。
Ø 项目实施中的软件测试
项目实施相关的全部质量管理工作中,软件测试的工作量最大。由于很多项目在实施中非常不规范,因此软件测试一定要把好关。软件测试应该重点做好测试用例设计、功能测试、性能测试、缺陷管理等工作。
测试用例设计:虽然项目实施中没有太多时间来设计测试用例,但是这个环节是必不可少的。项目实施中设计测试用例应该根据进度安排,优先设计核心应用模块或核心业务相关的测试用例。设计测试用例的时候可以不设计的特别完善,基本目标是列出测试重点,对测试执行起良好地指导作用,这个时候的测试用例更像是“测试大纲”。
功能测试:软件首先应该从功能上满足用户需求,因此功能测试是质量管理工作中的重中之重。功能测试在产品试运行前一定要开展好,否则将会发生“让用户来执行测试”的情况,后果非常严重。
性能测试:性能测试是经常容易被忽略的测试。在实施项目过程中,应该充分考虑软件地性能,运行较慢的软件仍然不会为用户所接受。性能测试可以根据用户对软件的性能需求来开展,通常系统软件和银行、电信等特殊行业应用软件对性能要求较高,应该尽早进行,这样更易于早解决问题。
缺陷管理:缺陷跟踪与管理工作也经常被忽略,很多问题会被遗忘,直到客户再次发现。建议测试人员在项目实施中仍然采用一些工具进行缺陷管理与跟踪,保证任何缺陷都得到妥善的处理。
此外,对于一些项目,如果实在没有测试人员,可以考虑让开发人员互相进行测试,这样也可以发现很多缺陷。
项目实施中的质量管理工作是非常复杂的,存在很多不可以控制的因素,例如没有质量人员、测试环境不具备等。因此,项目实施中的质量管理原则应该是“最大限度地去提高质量”。只有这样,才能更好地利用现有资源尽可能地提高质量。
文章来源于领测软件测试网 https://www.ltesting.net/