关闭

浅谈软件测试中的Bug

发表于:2009-10-23 18:10

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:simplemaster    来源:51Testing软件测试博客

  四、发现Bug的方法

  为了提高软件的质量,发现Bug并不断的排除Bug是软件测试的目的。软件测试的有效方法是11步的软件测试的过程,这11步软件测试过程的描述如下: (1)评估开发计划和状态:这是建立测试计划的先决条件,该测试计划用于评估已实现的软件解决方案。测试人对开发计划的完整性和正确性进行评价; (2)制定测试计划:测试计划描述的是如何完成测试。包括完成所需的资源和进度; (3)测试软件需求:需求阶段是检查系统缺陷最经济的阶段,需求阶段发现的缺陷不但不会再延伸到设计和代码中,相反,是在它最早可能出现的地方捕获; (4)测试软件的设计:主要是通过验证技术测试软件的内外部设计。测试人员关心的是设计是否达到了需求的目标以及是否在指定的硬件上能够有效而高效的运行; (5)测试软件构造:来自于内部设计文档用于开发软件的方法决定了所需的测试类型及其扩展性; (6)执行测试:主要是以动态的方式测试代码。测试计划中所指定的方式、方法及工具等都将用于确认可执行的代码满足了所陈述的软件需求及设计的结构化规格说明; (7)验收测试:使软件用户可以对软件在其日常工作中所体现的适应性和可使用性进行评价; (报告测试结果:测试的报告是一个连续的过程。将缺陷尽可能早地报告给相关部门是非常重要的,这样才能用尽可能小的代价来修复缺陷; (9)测试软件安装:一旦测试小组确认软件可以作为产品使用后,就应该测试软件在产品环境下的执行能力; (10)测试软件变更:只要需求发生了变更,测试计划就必须做相应的改变; (11)评价测试有效性:可以在软件测试工作结束时对测试的有效性进行评价来改善测试。

  五、软件Bug的防治

  实际上,软件Bug并非不可消除,加强项目管理和软件测试就是“灭虫”的有效手段。美国商务的国家标准技术研究所报告显示,如果通过强化项目管理和软件测试及早发现软件Bug并得以解决,可以减少1/3以上的损失(相当于减少222亿美元的损失)。所以,要想提高软件质量,就必须加强软件项目管理和软件测试。

  1.加强项目管理

  软件项目管理不仅可以“灭虫”,而且还可以借此实现软件产品的规范管理,有效提高软件质量。软件项目管理的任务就是有效地组织人员并利用一些软件技术工具,按照事先制定的计划执行,做好监督、检查过程控制,确保按标准、在预算成本内、预定期限内完成软件开发项目。项目管理的内容可分如下几部分:

  (l)软件开发组织:

  主要是成立软件项目开发小组、草拟项目管理的各项制度、组织项目阶段评审、保存项目过程中的相关文件和数据、为优化项目管

  理提出建议等。

  (2)软件开发计划

  :软件项目本身是复杂的,而复杂的软件项目若无细心的规划则不可能成功,所以要制定完善的计划,比如确定项目的范围和目标;制定项目管理和技术约束机制;做好项目工作量、成本、时间等方面的估算;确定项目资源中人员需求、硬件和软件配置等所需的资源;确定每日工作日程,把项目工作细分到项目中的每一个人。

  (3)做好人员管理:

  科技以人为本,只有调动项目组中每一个人的积极性,才能圆满完成项目。这需要考虑如下几方面的问题:第一,这个软件项目需要多少人来完成;第二,能够使小组每个成员都发挥能力;第三,能够使小组每位成员都有成就感;第四,让每一个项目成员都能提出问题及解决问题的方案;第五,让每一个成员知道软件质量的重要性。

  (4)做好配置管理:

  软件产品在整个开发过程中,特别是在建立初期经常会发生变更,如果没有变更控制,在大型软件开发的过程中就很容易发生混乱。因此,软件配置的目标是标识变更、控制变更、确保变更正确地实现,向有关人员报告变更情况。最好使用专门的变更控制管理工具,对软件代码进行配置管理,为代码规定各层次目录,对每个目录下的代码模块存取及版本控制,都由软件自动完成,确保各种版本不会混乱。

  (5)加强质量管理:

  做好软件产品质量的控制活动,对软件质量控制贯穿于开发的全过程。规划软件质量保证活动,检验软件产品是否按照合适的标准、步骤和需求运作;公布软件质量保证活动的结果;定义软件产品的质量目标,制定达到这些目标的计划,监控及根据业务部门需要调整这些软件计划;做好过程控制,按项目计划的进度跟踪项目,同时做好对各种开发文档的评审和各阶段软件测试的确认;定义可度量的软件产品质量目标及其优先级;做好软件产品的设计控制,这是质量体系的主体。

  (6)强化风险管理:

  软件项目管理存在着风险,

  如果我们提前重视风险,并且有所防范,就可以最大限度减少风险的发生。这就要求项目管理人员在项目开始前,必须做好风险的识别和评估,把可能产生的风险环节列人风险驾驭计划,这是进行风险管理的有效手段。

  ① 建立风险项目检查表。检查内容包括:产品规模风险检查、业务影响风险检查、与客户相关的风险检查、过程风险检查、技术风险检查、开发环境风险检查、与人员的模式和经验有关的风险检查等。

  ② 做好风险评估。评估内容包括:风险发生的可能性、发生的结果(影响)、建立一个尺度表示风险可能性(如罕见、普通、可能、极可能),描述风险带来的后果估计对产品和项目的影响,确定风险评估的正确性,根据影响尺度对每个风险的表现、范围、时间做出尽量准确的判断。

  2.做好软件测试

  软件测试是软件开发的一个重要环节,也是软件质量保证的一个重要环节。从某种意义上讲是对银行业务需求检查、验证的一种手段,检查软件功能是否按照系统需求进行设计,同时为软件可靠性与安全性的评估提供依据。测试的目标就是以最少的时间和人力找出软件中潜在的各种Bug。

  (1)测试的基本原则:

  认真编写测试计划和测试方案,精细设计测试用例;程序员应避免测试自己编写的程序;.认真彻底检查每一个测试结果;在测试时,不要设想程序中不会查出错误;应该在测试工作真正开始前就开始计划测试。

  (2)测试的内容

  ① 功能测试:主要侧重于运用一定的测试方法和测试案例,核实测试对象是否按计划运行,软件功能是否实现了用户需求。该测试针对不同的测试对象实施和执行,包括单元测试、集成测试、验收测试和数据移行测试。

  ② 系统测试:主要包括恢复测试、安全测试、压力测试、性能测试和兼容测试。恢复测试主要检查系统的容错能力;安全测试检查系统对非法侵人的防范能力;压力测试检查程序对异常情况的抵抗能力,总是迫使系统在异常的资源配置下运行,以检查系统的承受能力;性能测试检查系统是否达到要求,它有时与压力测试相结合,并需要其他

  软硬件的配套支持;兼容性测试测试系统产品在不同的硬件平台、操作系统、浏览器软件和版本下的运行情况。

  (3)软件测试方法

  目前软件测试主要是白盒测试和黑盒测试。白盒测试即结构化测试,它依赖于对程序细节的严密检验,针对特定条件和循环集设计测试用例,对软件的逻辑路径进行测试,在程序的不同点检验程序的状态,以判定其实际情况是否和预期的状态相一致。白盒测试方法一般用来分析程序的内部结构。黑盒测试是根据用户的规格说明,即针对命令、信息、报表等用户界面及体现它们的输人数据与输出数据之间的对应关系,特别是针对功能进行测试,对于银行软件通常采用黑盒测试的方法。

  (4)软件测试流程

  组织和管理测试人员,建立测试队伍;根据测试需要建立测试环境;编写测试计划;根据软件功能说明书,做好测试案例的设计和评审;按照测试计划、测试案例进行测试,对交易测试完毕和测试过程中发现的Bug,要做好跟踪和管理;测试完毕,编写测试报告;修改完毕的软件做回归测试。

  (5)做好软件Bug管理

  使用测试管理工具做好软件Bug管理,并通过正确的途径提交测试报告,要求测试人员提交测试报告时必须做到:尽快报告软件Bug;测试报告的结构必须清晰、统一,并且方便阅读;测试报告只解释事实和描述Bug必须的细节;测试报告应是单一的,每一个报告只针对一个Bug;Bug的描述应是明确的、通用的。对测试报告中反映的Bug问题,要有专人通过测试管理库进行跟踪,经常检查软件Bug的状态是否已经修改。

版权声明:本文欢迎转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号