51Testing软件测试论坛

标题: 请大家谈谈软件测试过程中的质量控制要素 [打印本页]

作者: 平与凯    时间: 2005-3-31 22:55
标题: 请大家谈谈软件测试过程中的质量控制要素
软件测试过程一般可以定义为,测试需求的定义,测试用例的设计,测试的执行阶段,以及测试结果的分析,回归测试等等,都根据不同行为产品的不同类型的测试有所侧重点,如果根据各个环节做好质量控制呢?

想听听大家的经验之谈
作者: carmela    时间: 2005-4-4 17:02
软件的质量控制不光在测试过程中进行的,在整个软件生命周期中都需要进行一定的工作,测试只是保证质量的一种方法。
这个帖子是主要针对测试过程中的质量控制么?
我觉得如果有条件,还是要从软件的需求阶段介入,从测试的角度对需求进行理解,这时能提出一些意见是最好的,但是往往只有抽象的需求,很难理解系统的功能实现,对测试人员的要求也比较高。
在设计阶段,测试人员也可以对系统的设计提出意见,从用户角度或从系统整体方面,因为设计人员往往不注意实现方法或美观方面、易用性、稳定性等,测试人员这个时候提出的意见能够避免后期一些功能实现方法或使用角度的问题造成的bug和修改。也同样需要测试人员有足够的精力和能力,能够进行这样的工作。
上面2个阶段中,测试人员能够编写测试用例,并且逐步完善。需求时候的用例在设计阶段是需要维护和修改的,减少与最终系统的偏差。
在单元测试、集成测试、系统测试阶段,如果全部是测试人员完成,那么需要按照用例进行测试,并完成测试报告。这些工作还依靠测试计划中的测试环境搭建、测试重点安排等,并适当进行调整。
如果测试人员只完成系统测试,其他有研发人员完成,那么如果有条件,最好能够监督研发人员的测试过程和结果,一般内部测试还是存在很多遗漏的,如果能帮助研发人员完善测试方法和测试用例等,就能减少后期测试的问题,能够降低软件成本。

测试过程中的质量控制需要有每个测试人员和组长功能完成,具体细节应该有很多,需要有成熟的管理流程、丰富的测试经验辅助。

测试结果,包括报告、数据分析等,只能说明系统的质量,对控制只能通过相互比较进行分析,采取相应的措施进行,完善测试过程等达到控制的目的。

以上是我个人的一些感觉和看法,不是唯一的,也不是参考著名文献的,希望能对大家的工作有帮助。
作者: 平与凯    时间: 2005-4-4 23:05
楼上高手的见解,很有启发。。。

软件质量控制是对于软件工程的整个生命周期的,如果就测试的质量控制来讲,我有如下看法:

1。测试方案的定义:白盒测试和黑盒测试的在开发周期切入点
2。测试需求的准确定义:可以从开发和用户的双角度,进一步体现了用户需求的功能实现)
3。测试流程的规范:严格控制各个阶段的测试结果和报造
4。测试工具的选择:测试管理工具,自动化测试工具,性能测试工具
5。测试人力资源的合理配置
作者: 平与凯    时间: 2005-4-4 23:07
补充一点,测试脚本的管理和复用也是非常重要的。
作者: carmela    时间: 2005-4-5 09:22
很多概念方面的东西大家都知道的,只是在执行的时候如何把概念更好的操作和控制,比较难,有待大家功能努力提高能力。
作者: gloriavivaxi    时间: 2005-4-13 15:42
carmela和我得想法不谋而合。。
作者: 陕西人在北京    时间: 2005-4-16 20:22
楼上的见解很有道理,很受启发
作者: beiyue    时间: 2005-4-20 17:18
标题: 听课
好好学习
作者: 嘘garfield    时间: 2005-4-22 14:30
标题:
carmela
赞同.
而且很多公司觉得用例不值得花太多时间下去写好或者完善.很多时候我们都在郁闷:究竟是应该按理论来要求自己,还是要切合所谓的"实际"做一些妥协?
作者: hzwujianfeng    时间: 2005-4-23 10:54
to carmela
现在其实国内的软件行业好多面临的问题是项目紧张,更本看不到概要设计文档,更不用详细设计文档,对于需求调研的介入,目前感觉好多公司都达不到这一点.目前这样的项目时间紧的情况,往往开始都没有设计文档,那这样如何更好的来设计这个测试用例成为许多测试人员头痛的问题,如果不写测试用例,测试当然也可以测试,但往往会毫无目的性,盲目性,工作往往会有许多重复性.对软件质量的保证会值得怀疑.这样的情况是否有一种比较好的方法来补充其中的不足
作者: zig_cui    时间: 2005-5-5 14:26
标题: 请教各位同行!
我在一家外企SQA做产品测试,这里产品测试的管理已形成完整的流程,作为一个tester,我目前只接触到Test Case, 如果有问题,可以直接通知Developer并和其进行交流。我很不了解各位所说的 “ 测试需求的定义,测试用例的设计,测试的执行阶段,以及测试结果的分析,回归测试。 ”
请各位高手不吝赐教!
作者: tomsyang    时间: 2005-5-19 10:09
标题: 我的一点看法
这个讨论的话题是“软件测试过程中的质量控制要素”,下面是我个人的一些看法。
1.首先说软件测试,它是保证软件质量工作的一个环节。
2.质量控制,我个人认为之所有的在软件生命周期当中的质量控制的工作,他的范围非常的广阔,只要是有可能涉及到软件质量的工作都需要有质量的控制。
3.这个话题说的是软件测试过程中的质量控制要素,这个话题仅只对于软件测试当中的质量控制,也就是说测试是为了提高被测软件的质量,但是测试本身的质量就决定着是否很好的对被测软件进行了测试工作。所以这里面只讨论软件质量控制人员的所有质量控制工作当中的控制软件测试质量的工作。
4.至此我觉得是我对于这个题目的理解。这个质量控制要素,也就是说大家可以把软件测试当成一个独立的项目,也就是说第三方测试项目。这样你就发现质量控制的工作首先要确定项目的生命周期,主要环节。例如:需求管理(规程、模板)、项目计划(规程、模板)、配置管理(规程、模板)、软件过程追踪(规程、模板)。
5.在这些工作过程当中,你就会有许多的质量控制点,至于你如何来做,那么就是你的规程、模板。
作者: snowflake    时间: 2005-6-9 14:32
1.需求测试
2.设计测试
3.单元测试
4.集成测试
5.系统测试
6.验收测试
  包括每个阶段的回归性测试,可以使用测试管理工具和人为的结合对每个阶段进行质量控制,主要对每个阶段做出质量的评估!

[ Last edited by snowflake on 2005-6-9 at 14:34 ]
作者: goodliness    时间: 2005-6-29 17:32
标题: 在抽象层面上耍嘴皮子意义不大
我觉得要保证软件的质量,在软件开发过程中,要么熟透业务的人和软件需求分析的人以及软件测试负责人是同一个人,要么这三类人能够良好的交流。还有就是在做业务建模的时候,以及需求分析的时候,以及软件测试的时候,保证执行者有相应的较高的水准。
作者: goodliness    时间: 2005-6-29 17:34
标题: 在抽象层面上耍嘴皮子意义不大
当然,也要保证软件设计人员的水准。但是我个人认为,概要设计和详细设计分成两个阶段来进行,不是非常必要,也很少有这么做的!
作者: zys3497    时间: 2005-7-4 12:57
标题: 我来说说
我个人认为还是要规范开发过程,规范开发过程有许多好处:1.有规范的开发过程少遗漏,即使遗漏,也知道遗漏在哪里;2。使测试有路可循,开发是树,测试是藤,没有树,藤怎么绕,如果开发中间断掉一些环节,那么测试就无路可循。
   我个人认为软件质量控制与软件测试的区别在于侧重点不同。软件质量控制重点。在于减少软件缺陷的产生,而软件测试的重点是找出软件缺陷。
作者: line    时间: 2005-7-5 18:08
标题: 软件测试过程的质量控制
如果软件已进入到测试阶段,那么此时的质量控制完全依靠测试人员的经验和测试过程的规范性。加强与需求人员的沟通,确保测试用例的正确性和完善性是非常重要的。
作者: archonwang    时间: 2005-8-9 00:01
水平不到家,不过还是忍不住想说两句:
很多的项目看上去都是Death March(死亡之旅项目)
资源不足,进度压迫,控制困难。在软件测试过程本身就存在一些问题:为什么没有有效避免,可能就是我这里认为的质量控制方面的问题了,而至于如何发现这些问题,则应属于质量控制中的测试一个环节吧?

讲到规范,则需要两大保障:一是制度保障、二是流程保障,曾经听说过,有这两项内容,基本上可以控制到测试过程中每个关键位置。在设计水平决定整体质量这句话下面,应该还有一句:质量控制保障该产品应有的质量内涵。

个人的拙见,见笑。若有错误,不吝指正。
作者: archonwang    时间: 2005-8-9 00:03
Originally posted by carmela at 2005-4-4 05:02 PM:
软件的质量控制不光在测试过程中进行的,在整个软件生命周期中都需要进行一定的工作,测试只是保证质量的一种方法。
这个帖子是主要针对测试过程中的质量控制么?
我觉得如果有条件,还是要从软件的需求阶段介 ...


觉得Camela 的话非常有道理。钦佩!
作者: Erdosfish    时间: 2005-10-9 11:03
赞carmela,概念的确是人尽皆知,如何把概念贯彻到具体的项目当中,其中又要受到人的因素,环境的因素,资源的因素等多项条件的限制。就楼主所说的质量控制那几点,在实际的项目中配置起来本身就是存在困难的。例如如何部署白盒测试本身就可以写一篇长篇大论了。对测试人员较高要求的阶段,我认为,需求设计阶段,没有一定的经验,一般的测试人员仅仅能从需求的验证出发,无法做到“设计”。设计阶段,与开发人员的沟通也是不可少的,因为一般的测试人员无法对于系统结构做到深刻的认识,通过与开发的沟通,可以避免一些因文档不全,沟通不到位所导致的问题。
作者: Erdosfish    时间: 2005-10-9 11:04
Originally posted by line at 2005-7-5 06:08 PM:
如果软件已进入到测试阶段,那么此时的质量控制完全依靠测试人员的经验和测试过程的规范性。加强与需求人员的沟通,确保测试用例的正确性和完善性是非常重要的。


还有资源保障。
作者: vily1314    时间: 2005-10-18 14:39
我个人认为测试的时间把握跟在开发测试的过程中建立一个很好的流程非常的相关,而且必不可少,建立了流程和管理制度,会觉得做任何一步动作都是有规可循,有据可依,知道自己完成了多少,未完成的多少,开发人员也能知道自己还有多少需要完成,并且在需要完成的功能上或bug上估计一个时间!这样进度有条不紊的控制十分有效!沟通交互的时间也会减少!
作者: illusion    时间: 2005-10-21 11:35
标题: 软件测试过程中的质量控制
我做过一点,呵呵,也来说两句
首先软件测试是软件质量控制的一种方法,它贯穿整个软件生命周期。
我不知道你说的是指需求测试/设计(概要&详细)测试/单元测试/结合测试/回归测试/系统测试中的哪部分。
如果你是说全过程,呵呵,carmela说的已经很多很好了,我也只能泛泛的说。
如果分阶段来说,那不同的阶段有不同的方法进行质量控制
1.对于需求和设计阶段测试效果的质量控制,由于国内的很多公司都是只负责编码,开发过程中根本没有这个阶段,甚至于有些公司的测试知识按照国外公司发过来的(非中文版的)测试用例进行测试,所以zig_cui才不知道有这些的。呵呵,对于这个阶段的质量控制我的经验也不是很多,主要是参加评审(需求和设计)会议和check仕样书,站在客户的角度提出的合理建议,比如易用性,美观性等。
2.测试用例的编写:这个也是在需求和设计阶段需要做的,也是QC比较重要的工作(包括的比较多,呵呵,最主要的就是遍历,还有测试正常和异常功能用例的比例)。比较好的流程是每天固定时间提交,由小组内部review,由测试组长抽查,全部完成后要经过同级评审,和开发人员的确认,才能应用。
3.单元测试:这个工作一般是由开发人员来做的,如果由于时间紧,也可能由其他开发人员或测试人员来完成。这是非常重要的测试阶段,可能发现很多隐藏很深,或影响很大的bug,很多项目结合测试时发现的bug过多,导致不能按期提交,都是由于单元测试做得效果不好。这个阶段质量控制可以针对提交的bug数对代码(包括测试代码)做抽查,是否发现修改后的代码仍然存在很多问题,并且,测试代码没有遍历。
4.结合测试:可以通过并行测试和抽查来做质量控制。这是检查测试效果的最主要途径。还有是否按照用例进行测试,测试中记录下来的新增用例的数量等等
5.回归测试:其实是结合测试的一部分,是对开发人员修改后的软件产品,进行的bug确认和基本功能的测试,因为大家都知道,修改bug,很可能对其他代码造成影响。往往是修改一个bug,能引起更多更大的bug。这一阶段,主要还是抽查,看看是否有的bug没有修改,是否有以前没发现的bug被提出等等。
6.系统测试:这里的质量控制就要按照基本用例测试一下,是否有基本功能为实现。
7.产品的用户手册:这里就要对用户手册进行检查,是否做到了简单,易懂,风格一致等。
以上如发现问题应该立即提出督促修改,并对修改结果进行确认,如果严重要重新进行这个阶段的测试。
呵呵,一点心得。

[ Last edited by illusion on 2005-10-25 at 15:30 ]
作者: vivienne    时间: 2005-12-31 11:33
标题: 看了不少高手言论,也来参与 ^o^
首先,题目是:请大家谈谈软件测试过程中的质量控制要素。我是按照一个比较狭窄的定义来理解它的。也就是说,单讲软件测试过程的质量控制,而不会将其扩大到整个工程的质量控制这个层面上。

其次,就是理论上的一些个东西,大家都知道。什么白盒黑盒,单元集成等等。这些是测试的一种流程(……汗,不知道表达是否准确了……),有固定的框架,也可以根据需要进行改动。

下面才是我认为这个帖子所真正提出的问题,测试过程中质量控制点的把握。

1、当强调软件测试在工程中的位置以及加入时间。目前国内的企业多半并不在意测试,在项目开发程中往往不会有测试人员参与,直到最后才加入测试,这样测试人员是不可能有足有时间来完善测试工作的。比较理想的状况是测试人员应当在需求阶段就明确需求,从编程角度、用户角度两个方面粗略考虑测试要点。这个时候考虑的要素可能只是一种笼统的概念,但却是非常重要的基础工作,为测试人员在后期测试中把握测试关键点打下基础。

2、强调质量管理系统对测试工作的质量管理能效。这点大家讨论滴真好,我就8继续丢人了。。。

3、应当强调测试的规范和流程(其实也是质量管理工作对测试进行规范)。有很多企业在开发程序的过程中采用迭代式开发,需求总是不明确,造成测试人员两难的境地——一边在测试,一边程序还在不停变动。对于这种问题我一直都很头大。目前只想到将测试与开发统一管理,将测试工作阶段化,加强对测试用例的管理,使其变更阶段化。同时考虑使用测试工具来减轻负担。

以上……其实,我觉得自己也说不出来啥……献丑liao……(啊~臭鸡蛋~~~我闪!)
作者: YGTester    时间: 2006-2-21 14:56
这里高手很多啊,收获不小
作者: seemeagain_80    时间: 2006-3-7 12:10
标题: 何不来点实际的说明?
楼上高手云云,真是受益非浅!
个人认为制定严格的测试阶段结束标准非常重要。比如每个阶段defect的修复率要达到百分之多少;几级严重等级的defect可以拖延至下一个阶段解决;哪些defect是必须在这个阶段修复的等等。达到上述标准才能才能退出该阶段。 往往很多公司因为在开发阶段的延迟,只留给测试阶段很少的时间,为了赶项目,很多制定的标准都无法按规定执行,必定严重得影响了软件质量。
作者: joytone    时间: 2006-4-28 10:33
启发颇深啊,我记下了
作者: toniso44    时间: 2006-5-8 00:01
个人认为质量是管出来的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2