软件项目团队提高软件产品质量的N种手段.docxVIP

  • 25
  • 0
  • 约3.74千字
  • 约 5页
  • 2021-10-24 发布于天津
  • 举报

软件项目团队提高软件产品质量的N种手段.docx

项目团队提高企业软件质量的 N种手… 把我几年前写的 “企业如何预防软件缺陷, 结合我自己的经验谈谈: 软件企业如何提高自己 的产品质量 一:软件开发的源头—需求 问题:笔者自己亲身的经历的一个项目《昆山地税短信业务系统》 ,用户确实也在项目的需 求规格说明书上签了字, 但是最后做出的东西, 尽管实现了需求规格说明书中的功能, 但是 却是用户不想要的。 遇到这样的情况,我认为最重要的是要做到以下几点: ■第一要做到:根据需求开发一个 Demo,让测试人员尤其是用户来确认,因为国内的很多 用户不会提出需求, 但是等开发商做好了软件之后, 用户根据你目前所做的软件 (依照现有 的界面或者功能情况, 然后再结合自己的业务) 他们就会提出新需求了, 在这方面我深有体 会。所以有问题,有不明白的地方让用户早提出来,否则弄到最后大家都很被动。 第二要做到: 其次, 在开发期间, 还可以邀请客户参与软件设计规格说明书、 测试计划、 测试用例等的评审,当软件能基本正常工作时再次邀请客户从头到尾再看一遍( product work-through )。最后,就是开发人员和测试人员做好自己的本质工作,构建高质量的软件, 进行充分的测试 (但是如果客户或者用户没有足够的时间评审你的设计规格说明书、 测试计 划、测试用例, 但是至少要能做到在软件基本上能工作的时候, 把软件放在用户能够使用的 地方, 让用户亲自试用, 因为用户对业务的了解远远比开发人员好, 他们能在早期发现该软 件中一些不利于用户使用的地方) 。 第三点要做到:重点评审需求中不明确的功能模块和存在分歧的模块,对于不明白的地 方一定要弄懂,因为需求是软件开发的源头。 ■ 第四点要做到:对于一些重点模块和用户业务常用的模块,要重点评审,比如说笔者前 做无线POS机的系统,“销售”这个功能当然是重重之重了(因为对于零售商来说,如果软 件的功能上的问题,而导致不能“销售” ,那么用户对于花了钱买了这样的软件部室暴跳如 雷吗?)。 :做好单元测试,目前国内很多软件企业根本没有一个单元测试的标准 ■ 笔者的亲身经历 1:上海某软件外包公司的开发人员曾经私下讨论说:这个功能可能有 问题,让测试人员以后去发现吧。有这样的心态开发出的软件按怎么可能没有 bug,如果没 有 bug 那就真是怪事了。 ■ 笔者的亲身经历 2:笔者所在的软件公司曾经为 loreal 做的无线 pos 机器(终端和服务器 端居然没联通 ,也就是说开发人员联调都没有通过,这样的软件你敢保证没有问题吗?) 比如:SAP的单元测试做法如下: 自我测试,要求开发人员在完成自已负责的模块后,马上进行测试,消除模块内部的错 误。 相互测试,要求开发人员之间测试对方的模块,由于不同开发人员的思维、开发方式的 不同,对方会很容易找到一些自已很难发现的问题 。 代码检查,通常是由资深开发人员及开发经理来进行,从模块功能、性能、可用性、编 码规范、模块集成性等角度进行全面检查。 这一工作会在系统实现的各个阶段定期进行。 SAP 还提供了如CATT等辅助测试工具。 三:通过软件测试来提高软件的质量 (1) 测试人员最好能做到交叉测试, 因为测试人员毕竟考虑问题产生思维定势, 能做到交 叉测试,最好了。 (2) 测试经理在测试人员的安排上,要注意以下几点: 不要安排新手测试已经快要结束的项目 安排好的测试人员测试水平较差的开发人员的代码 ■ 安排经验较差的测试人员测试水平好的测试人员的代码 3) 要尽可能模拟用户的真实使用环境,进行测试 笔者以前做过一个加密软件,用户反馈回来的一个问题,在公司内部环境下总是重新不了, 最后才发现用户服务器的使用环境是 windows2003 server 打了补丁, 而在公司的测试环境中 虽然使用的也是 windows2003 server 但是没打补丁, 因为环境不一致, 导致在用户那里出问 题了。 (4) 在系统测试阶段要弄到用户的真实数据进行测试 因为有一些Bug,只有用用户的真实数据才能测试出来, 测试人员自己造一些数据是测试不 出来的。这一点我在测试欧莱雅 (中国)系统的时候深有体会, 比如欧莱雅的会员数据系统, 欧莱雅的会员成千上万,千奇百怪。 (5)要尽早做好性能测试(有可能能在早期发现一些设计上的重大问题) 比如:数据库设计方面的错误, 这样的问题要早发现, 如果在后期发现补救的可能性非常小。 笔者以前从事过的一个系统,设计人员在设计的时候,把销售、入库、订货、会员、退库、 退货这么多的业务同时放在这一张表上来操作, 当在大用户量并发的情况下, 很容易使数据 库出现死锁等情况。 (6)测试的核心 ---测试用例的设计 测试人员在设计测试用例的时候,要结合用户的实际使用情况: 用户是这样操作软件的吗?

文档评论(0)

1亿VIP精品文档

相关文档