软件测试中的软件管理经验谈 软件测试
某甲问道:「测试做太多的话,会不会使得bug解不完?」
某乙回答:「还不简单。只要不做测试,就没有bug。」
上述对话,反应出许多软件工作人员对于测试的想法。对多数软件开发人员而言,测试大概是仅次于维护之外,最令人讨厌的工作。对软件研发主管来说,测试是必要之恶:做得不够后患无穷,做得过多又增加成本,延误商机。因此,如何能够规画与执行一个最经济有效的测试工作,当是软件研发主管们须研究的一个课题。
软件测试的困难,在于它不仅是产品的测试,更是产品设计程序的检验。由于关乎设计的测试,准则不易寻找,经验未必得以再用,他山之石也有应用的局限性,因此难度颇高。欲提高测试的效益,有赖全盘的规画,确实的执行,与事后的检讨改进动作。许多小型软件研发单位,对于软件测试并不重视,但从许多稍具规模的软件公司均配置常设测试人员,乃至于测试品保部门来看,测试工作显然有其学问与价值的。
测试工作没有最佳方法可依循,是因为不同的软件所需的测试手段不同。譬如小型软件与大型系统的做法不同;订制软件与软件包的要求不同;系统软件的测试往往无法采用应用软件所使用的技巧;游戏软件与库存系统有其各自需面对的测试标的。因此,测试人员必须因应软件的特性与资源的限制,加上过去相关的经验,规画最适合的测试方式。并随着经验的累积,不断改进作法,才能找出最佳的测试方法。
由此可知,要做好有效的测试,不只是埋头苦干而已,它需要良好的管理,使整件工作获致最佳的成果。关于测试的管理工作,可从组织、规画、执行与检讨几个角度来探讨。以下谨就笔者粗浅的经验野人献曝一番,希望提供读者基本的协助。
1)测试组织之设计
由于人性总自认为自己的最好最正确,完全由软件开发人员兼任测试人员,并不值得推荐。实务上往往因软件开发单位的经济规模不够,使得开发人员经常兼任测试人员。但若可行,研发单位应尽可能配置专任的测试人员,尤其是独立于开发小组之外的测试负责人员。尽管是否应设置独立测试小组业界仍有争议,许多人甚至以为保障软件品质唯有从改进软件开发的程序做起,但大部份美国的软件公司均设有独立测试或品保人员乃至于部门,这说明了独立测试仍有其不可摇撼的地位。
许多的软件研发单位将测试视为次等的工作,从而配置次等人员负责相关工作。如此一来,优秀人员无从参与,也缺乏意愿参与测试工作。结果软件品质不易度量,研发的成果常常被不佳的品质抵销,实为令软件开发人员泄气之事。主管是否能体认到软件测试的重要性,通常是成功的关键。软件测试固然是支持性工作,仍应配置合理的资源,以获取整体之成效。在当前的环境下,给予测试人员较多的关注,毋宁是必要的作法。
测试工作的规划,至少包含两项要点:测试目标的订定与测试资源的配置。攻击需要目标,测试亦然。测试的目的在于找出软件的问题,提供改进之参考。目标若不明,测试人员即不知如何着手。
测试目标的订定,最重要的在于软件通过的准则,亦即测试何时方可结束。常见的情形是:软件开发的进度不断落后,最后剩余的时间仅有两个星期,于是测试人员的目标就是把最后两周用完,尽人事听天命。究竟测试多完整,隐藏的多少错误,测试工作的生产力如何?皆一概不知。反正产品卖出去或上线后有的是时间改进。然而产品销售后再改进,成本往往大幅增高,甚至原有开发人员离职他调,连亡羊补牢都倍感困难。经验一再显示,事前的测试除错绝对比事后维护省时省钱,唯有卖不出去或不能用的软件例外。
对于测试的要求可简单区分为二:一种是通过目标所订之软件品质;一种是在既定资源内达到最佳成效。前者要求山头一定要攻下,不达目的绝不停止。譬如目标为单位测试时间的错误发现率须低于某数字,若超过了就得延长测试。此种方式适用于品质要求较高的软件。至于后者则是上市时间已宣布,无法更改者,其目标着重于铲除最严重的错误。此种测试较着重测试的准备、经常对测试执行与除错设定时限与数量要求,其中最容易遵循的准则即为:重要功能永远先测。这两类测试的需求不同,足以影响到测试的计划、测试的顺序与关心的重点。读者不可不察。
至于测试资源配置适当性,则是评估测试目标能否达成的重要参考指标。测试人员需要合理的测试资源,譬如要求总研发人力的20%以上。总时程的1/3以上。人力不足,测试流于形式,时程过短,找到错误也来不及除错,均不可取。除了测试在研发的比重,也需注意测试工作本身在规画管理、规格个案订定、测试执行、回归测试、训练准备工作的人力分配。人员的训练与设备的安排尤其容易轻忽,需加以注意。不同阶段测试的资源配置,也必须加以考量,如此可避免测试集中于功能测试,忽略系统测试。这些工作的适切安排,有助于协助测试工作时时都执行最重要,也最有效的测试。
更多文章:http://www.spasvo.com/News/Html/index.html
分享到:
相关推荐
"软件项目测试管理经验谈" 软件测试管理是软件开发的重中之重,软件测试员需要具备良好的素质和技术技巧,以确保软件的质量。下面是软件测试管理的经验谈: 一、软件测试员自身素质培养 * 首先,软件测试员需要对...
本文将基于《软件测试及Bug管理经验谈》这一主题,深入探讨软件测试的核心原则、Bug管理的重要性和有效实践,以及如何选择适合的Bug管理工具。 #### 清晰的质量概念 软件测试的第一步在于确立明确的质量标准。这...
【软件测试】是软件开发过程中的关键环节,旨在确保产品的质量和功能符合预期。软件测试不仅包括功能验证,还包括性能、稳定性、用户体验等多个方面。在进行软件测试时,我们需要明确几个核心概念: 1. **质量标准*...
本文档是测试新手的学习宝典,包括如何编写测试用例;测试用例编写规范 ;软件测试管理经验谈;系统测试的基本方法等等
测试工作在开发过程中占据 软件测试经验谈 软件测试 我从事软件工作多年,对如何作测试、如何管理Bug有一些经验,和大家分享一下 1、Bug管理的作用层次 软件开发的重点已经从技术转到管理与质量控制上了,如何...
软件测试是软件开发过程中不可或缺的一部分,其主要目的是确保软件产品的质量和可靠性。测试不仅是找出软件中的错误,更是对整个软件生命周期的一种质量管理手段。以下是对软件测试相关知识点的详细阐述: 1. **对...
- **软件测试策略与方法经验谈**:分享实践经验,探讨有效的测试策略。 - **编写高质量文档指南**:提高文档编写的质量和效率。 - **测试工作改进**:探讨如何持续改进测试工作的效率和质量。 - **软件测试文化**:...
15.1.1 软件测试中的“二八”原则 81 15.1.2 软件黑盒测试解决的问题 81 15.2 软件黑盒测试常见错误类型及说明 81 15.2.1 用户界面错误 81 15.2.2 功能性 81 15.2.3 人机交互 82 15.3 命令结构和录入 87...
在谈到软件测试时,许多人都引用Grenford J. Myers在《The Art of Software Testing》一书中的观点: ①、软件测试是为了发现错误而执行程序的过程; ②、测试是为了证明程序有错,而不是证明程序无错误。 ③、一个...
### 浅谈软件项目管理 #### 一、引言 软件项目管理是在软件开发过程中确保项目按照预定的成本、进度和质量顺利完成的关键活动。它涉及人员、产品、过程和项目的管理和控制,特别是在大型软件项目中尤为重要。与...
总的来说,"软件测试方法案例设计的论文"会深入探讨黑盒测试和用例设计在软件测试中的应用,提供实际案例和经验分享,以帮助测试人员提高测试的质量和效率,从而保障软件产品的稳定性和可靠性。通过阅读这篇论文,...
15.1.1 软件测试中的“二八”原则 81 15.1.2 软件黑盒测试解决的问题 81 15.2 软件黑盒测试常见错误类型及说明 81 15.2.1 用户界面错误 81 15.2.2 功能性 81 15.2.3 人机交互 82 15.3 命令结构和录入 87...
在软件测试领域,功能测试和性能测试是两个关键的环节,它们对于软件质量的保障至关重要。功能测试关注的是软件是否能够按照预期执行其预定功能,而性能测试则侧重于评估软件在各种负载和压力下的响应速度、稳定性和...
总的来说,软件测试初学者需要从理论和实践中双重学习,理解测试的目的和方法,掌握业务知识,设计和执行测试用例,以及利用各种工具和资源提高效率。只有不断学习和实践,才能在软件测试领域建立起坚实的基础,成为...
### 小型B/S内部管理类软件开发经验谈(C#) #### 一、项目背景与概述 在本文中,我们将探讨一个小型B/S架构的内部管理类软件开发案例。该软件旨在提供基本的项目管理功能,包括添加、删除、编辑和查询等核心操作...
在这个"SVN管理代码经验谈"中,我们将深入探讨SVN的基本概念、安装与配置、日常操作以及最佳实践。 首先,理解SVN的核心概念至关重要。 SVN仓库是存储所有项目文件的地方,每个文件都有一个唯一的版本号,记录着...