软件测试与质量保障

上一篇 / 下一篇  2011-01-11 22:48:23 / 天气: 晴朗 / 心情: 平静 / 精华(1) / 个人分类:软件测试

    关注51testing很多年了,但一直太懒,没有写过一篇文章。前不久第二次参加了51的测试沙龙,每次参加都很有感触。软件测试确实在国内逐渐兴起,很有有志青年都渴望加入这个行业。但同时也看到了很多迷茫,看到大家在测试这个领域有很多很多困惑。从事软件行业10年了,在金蝶从事软件测试管理也有6年有余,一路走过有很多经历,今天鼓起勇气在51发帖,希望能够和大家交流。

   从事软件行业工作已经有10年时间了,经历了软件项目实施、信息规划、软件产品研发。经历了3家公司,对软件行业有了较为深入的认识。在金蝶从事软件测试管理工作已经有6个年头,对于软件测试与产品质量的保证有一些自己的想法。

   目前软件行业越来越难做, 特别是企业管理软件及应用软件。客户对于软件的认识越来越深入,客户的专家团队越来越强大。记得有次销售人员跟我们聊天,说准备去给客户介绍集团财务管理的信息化,结果去了发现客户的阵容比我们团队要强大,对于信息化技术的应用甚至比我们还专业。软件产品在不是当年的“高科技”了,对于客户来说也不是什么高深莫测的新鲜玩意了。相反客户对于软件产品的价值越来越关注,对于软件产品的质量要求越来越苛刻。对于软件产品供应商来说要求越来越高,为客户提供满足业务需求的同时要保证高质量。

   产品质量的定义是什么?个人认为pmp的定义较为精炼-满足需求且易于使用。产品质量该如何保证呢?很多人会立刻联想到软件测试。软件测试在软件行业的重要性逐步提升,软件测试近两年也迅速成为了一个热门职业,   看看众多培训机构对于软件测试的广告轰炸就可以看的出来,甚至很多毕业生毕业后脱产去所谓的培训机构进行软件测试培训。招聘的时候也会经常看到拿着XXX鸟的软件测试培训证书的应聘者。今天我们不谈论软件测试的方法或过程,而是具体要谈谈产品质量需要如何保证,软件测试是保证产品质量的唯一手段吗?

   从我6年的软件测试管理经验来看,产品质量的保证测试环节并不是唯一手段,甚至测试环节并不是软件质量最为核心的环节。软件产品(特别是ERP等管理软件)从规划到完成需要经历一系列的过程。回到产品质量的定义-满足需求且易于使用。达到质量目标是需要规划、需求、设计、编码、测试、实施等多个环节的配合与努力。我认为软件质量最重要的环节是需求编码阶段。

  需求阶段的核心就是将客户的业务需求转换为需求规格说明书,用于指导开发人员实现与业务需求一致的软件产品,同时也是软件测试的重要依据。需求规格说明书的质量直接影响软件的业务符合度以及软件开发的实现的难易度。需求设计的好坏直接影响软件产品的质量

  编码阶段最为另外一个重要阶段往往是最容易被忽视的环节,或者说是被错误认识的环节。很多公司的开发人员都不具有编码优化以及单元测试的习惯,特别是规模较小的“作坊式”软件公司。很多开发人员认为代码写完了,扔给测试人员测试即可,或者在开发环境简单过一下业务流程,没有问题就提交测试。这就是软件质量最大的风险所在。作为一个高质量的软件产品,编码及单元测试环节最为重要,对于单元测试的要求的高低也是直接决定产品质量的关键。一段未经过任何单元测试且质量地下的代码带给测试人员的是无穷无尽的中断和低级错误。不停的重复bug录入-bug修改-构建-编译-提交-打包等,时间和资源的浪费,代码不断修改所带来的风险都是软件质量的隐患。质量和效率并不是测试环节能够大幅提升的,而是在编码环节。在我们公司编码阶段叫做“编码和单元测试阶段”,因为单元测试在编码阶段的重要性,甚至说是因为单元测试在整个产品生命周期中的重要性。我们对于单元测试的要求是苛刻的,苛刻到编码人员需要按照测试用例执行30%-50%,这样做的目的是提升代码质量,避免在测试环节出现中断和低级错误,减少测试环节的重大缺陷,能够让测试人员能够进行一个流畅的业务测试,能够重点关注业务逻辑并开展深入的测试。

   在谈谈软件实施环节对于质量的重要性,在交付给客户的产品或者补丁出现缺陷的时候,实施人员经常抱怨测试是怎么测试的。这里我想说的是不要寄希望测试能够保证所有的问题都被发现。测试所保证的是产品的功能,对于所有的客户应用模式实施人员更具有优势,测试使用的测试数据不可能完全覆盖所有客户的业务数据。但对于实施人员来说,面对的客户比较具体,更具有针对性,对于客户的应用非常了解,对客户的业务数据应用也非常清晰。所以当拿到软件产品,特别是给客户的补丁程序,聪明的做法不是盲目提供给客户,而是因该搭建模拟环境,在模拟环境上使用客户的实际业务数据来对产品或者补丁进行一个检测,看是否满足客户业务需要,特别是客户的一些特殊的业务数据是否能够正常运行。如果实施人员加上这一步,如果发现问题还可以有所补救。如果图省事忽略这一步,一旦有缺陷遗留到客户实际的应用中,后果会很严重。所以说实施对于产品的质量也是至关重要。

   说了这么多,好像有在为测试开脱责任的味道。软件质量测试无责任了?不是,测试对于软件质量来说负有不可推卸的责任,也是产品质量保证中不可获取的一个环节。但如果站在客户利益以及公司角度来说,除了软件测试,其他环节同样需要做更多的工作。而且这些工作不是多余的,而是给公司创造价值,提高效率,提高客户忠诚度的必要工作,不可小看和忽视。

    通过以上,希望各位从事软件行业的人员能够对产品质量的保证有一个正确的认识。测试工程师是人,通过软件测试发现产品的所有问题也是一种理想状况,产品质量不仅仅是依赖测试环节,需求前端环节做更多的工作。只有各个环节都做到位了,产品质量才会有一个本质的提高。


TAG: 质量 测试

trilcc的个人空间 引用 删除 trilcc   /   2012-03-05 11:27:25
5
carry1986的个人空间 引用 删除 carry1986   /   2011-01-17 09:55:45
讲的很好,我全部看完了,对我很有用处,谢谢。
carry1986的个人空间 引用 删除 carry1986   /   2011-01-17 09:54:59
5
582357212的个人空间 引用 删除 582357212   /   2011-01-15 14:33:31
写的很好啊,哎,应该作为公司高层人员的培训材料。。。。
xin_晴的个人空间 引用 删除 xin_晴   /   2011-01-14 11:12:04
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/93/n-227693.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
引用 删除 yh2010   /   2011-01-13 11:01:30
1
weixiao617的个人空间 引用 删除 weixiao617   /   2011-01-13 08:47:59
不好意思,第一次评分,随便点了一个竟然是1分,我要给5分哦,但是没有权限删除了,博主处理一下吧,说的很好:)
weixiao617的个人空间 引用 删除 weixiao617   /   2011-01-13 08:45:52
1
warrior_ever'sTestingStudyingSpace 引用 删除 warrior_ever   /   2011-01-12 17:28:37
真有见底,顶一个了!!!
warrior_ever'sTestingStudyingSpace 引用 删除 warrior_ever   /   2011-01-12 17:28:15
5
 

评分:0

我来说两句

kixp

kixp

项目管理专家(PMP CPMP) 10年软件从业经验,7年测试管理 目前就职于金蝶软件(中国)有限公司

我的栏目

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 2650
  • 日志数: 2
  • 建立时间: 2009-12-29
  • 更新时间: 2012-02-27

RSS订阅

Open Toolbar