【51CTO独家特稿】在软件测试过程中,有很多Bug难以被发现,测试人员该如何做呢?怎样才能减少Bug的产生呢?带着这些问题,51CTO专访了中国软件评测中心技术总监陈渌萍老师,全文如下:
51CTO:Bug大都出现在程序员的编码过程中。测试人员工作之一就是找出Bug,面对那些难以被人发现的Bug,测试人员通常会采取哪些手段?以您的经验,对广大测试人员有什么好的建议?对于开发人员,您有什么建议让他们减少Bug的产生?
陈渌萍老师:Bug分为功能、性能、安全性等等。要发现这些缺陷,测试方法都不一样,总的来讲发现缺陷还是主要靠设计案例。由于开发的过程不成熟,所以会引入一些缺陷。要改善这个现状:一是提升开发过程的成熟度,二是采用测试驱动开发的方法。
51CTO:Bug除了出现在程序员编码阶段外,在测试过程中,会不会因为测试人员的操作失误,亦或是其他原因,导致软件出现Bug呢?
陈渌萍老师:需求阶段、设计阶段、编码阶段、集成阶段以及联调阶段都可能会引入缺陷。测试人员也会因为误操作导致缺陷,这属于内功修炼不够。
51CTO:对于测试人员来讲,除了借助于一些测试工具外,还应具备什么样的个人能力?是否需要具备自己动手处理Bug能力?再则您认为软件开发人员是否需要具备自我测试的能力?
陈渌萍老师:可以讲,不懂开发的人测试是走不远的。测试人员对Bug的处理包括发现Bug和诊断Bug,修复Bug是做不到的。开发人员更适合做冒烟测试,如果因为人手不够,开发人员也要做其他的测试,必须注意不能自己测试自己的程序。
51CTO:我们经常看到一款软件在正式发布后,仍存在很多Bug。在产品发布后,是否还需要人员去进行测试Bug?对一款产品的测试工作,Bug率达到一个怎样的状态才算作合格产品?
陈渌萍老师:产品上线前不能解决所有的Bug,所以在运维阶段还需要监控,以期发现Bug。没有Bug率的说法,缺陷探测率因测试产品不同而不同,一般企业要求达到80%。
51CTO:您认为测试人员有没有必要与开发人员在同一个项目组工作,能将Bug扼杀在萌芽状态吗?如果采用这样的工作方法,责任应该如何界定,避免互相推诿?
陈渌萍老师:国内有很多企业采取测试人员与开发人员在同一个项目组工作的方式。测试如果可以从需求阶段介入,是可以尽早的发现和修复缺陷,成本是可能降低的。责任界定是组织架构的问题,也是领导力度的问题,比较复杂。
专家简介:
陈渌萍,1973年12月生,中国软件评测中心技术总监,兼测试技术应用及研究中心总经理,高级工程师。1995年毕业于西安交通大学,1998年毕业于北京理工大学。1998年至2001年在北京起重运输机械研究所从事C++开发,2001年至今在中国软件评测中心从事软件测试工作,测试类型涉及信息系统功能测试、性能测试、代码测试,在大型分布式应用系统负载压力测试领域积累丰富测试理论与实践经验。在测试管理领域结合中国行业与企业现状研发测试管理体系,并得到广泛应用。
【51CTO独家特稿,转载请标明出处及作者!】
【编辑推荐】