大型邮件系统中黑盒测试的 实践改进 Improvement of black box testing in large mail system
【摘要】伴随着软件工程的发展与成熟,软件测试也越来越受人关注。黑盒测试是软件测试中最接近用户观点的,也是处于最无序混乱状态的测试。本文主要介绍了黑盒测试特点及相关的理论与方法,并结合实际项目中存在的问题与得到的教训,提出测试过程中的改进方法。包括测试过程中测试执行的管理,bug的管理等。同时结合一种测试工具SilkTest,介绍了自动化黑盒测试的特点和实施原理,同时也结合前面提到的项目,介绍它的实际使用,重点讨论了利用自动化工具进行web测试自动化框架的建立。最后讨论了手工测试和自动化测试各自的利弊及相互间的不可替代性。 【关键词】 软件测试 黑盒测试自动化测试 【Abstract】With the development of software engineer, people make more and more importance on software testing. Black box testing is the most closest testing method to user’s opinion, and is also the most discrete testing. This paper introduces the characteristic of black box testing , the theory and method related. And some improvements are put forward based on the problems and lessons in project. which involves the management of testing execution and bug during the testing process. This paper also introduces the characteristic and the principle of black box testing automation through one kind of testing tool---SilkTest., and tries to take it into that project, emphasis on the construction of the framework of web automated testing by automation tool. Last, this paper discusses the advantage , disadvantage, unsubstitutableness between hand-testing and automated testing. 【Keywords】 software testing black box testing automated testing 绪论
随着软件进入人类生产与生活的方方面面,软件的缺陷所带来的影响也越来越引人关注。与此同时,软件的功能越来越多,程序的结构越来越复杂,程序员们也越来越难以编写不会出错的程序。 于是,软件质量得到了人们的重视。迄今为止,软件质量仍然主要靠软件测试来验证和确认,而且由于测试工作特别耗费资源,在软件开发的总成本中,用在测试上的开销要占30%到50%。在极端的情况下,例如在关系到人的生命安全的软件中(如飞机控制或核反应监控等软件),测试费用可能相当软件生存周期所有其它阶段费用总和的三到五倍。此外,据美国工业界的统计,对商品化的程序来说,测试在时间和费用两方面的花费都要占整个软件开发周期总开销的50%左右。而由测试员完成的系统测试又是整个软件测试过程中的最后一道关卡,足见其重要性。 要保证测试项目的成功,最重要的一点就是要遵循规范。但是在很多企业内部,由于缺乏对软件测试的重视,也没有一套流程和规约。所以很多情况下,测试的过程就像是摸着石头过河。 本文结合一个邮件系统的系统测试项目来介绍黑盒测试的相关技术以及手工测试后的自动化过程,并且分析解决测试过程中产生的各种各样的问题。 1 软件测试与项目概述
1.1 软件测试概述
广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。关于软件测试类型的描述,根据是否关心程序的实现过程可分为:黑盒测试,白盒测试,灰盒测试;根据测试的阶段可分为:单元测试,组合测试,集成测试,系统测试和验收测试。 本文所涉及的测试是针对某邮件系统的系统测试。所谓系统测试,即是以产品需求为依据,将所有模块,环境,数据等组合起来进行测试,需要检查整个系统的功能,性能,安全性,兼容性,容错性等内容。显然,系统测试中采用的是黑盒测试技术,即不关心程序的实现过程,不检查程序的源代码。整个测试工作简单的说就是进行输入,接受输出并检查结果。 1.2 项目概述
本项目是针对一个邮件系统的系统测试项目。主要任务就是根据测试用例文档(文档以excel文件形式存在),测试该产品的各项功能(包括发送邮件,管理联系人等)。该产品有两种语言(英语和日语)的版本,提供了两种连接方式(server connection 和 network connection),分成企业和个人两个版本,并且用到了4种邮件服务器(Domino5, Domino6, Exchange 5.5 和 Exchange 2000)。 由于是外包的测试项目,整个测试过程分为和客户确定测试计划,产生测试用例,安排测试人员,执行测试用例,向客户报告测试结果,这几个阶段。 1.3 测试三要素
在进行测试过程中,测试组经常会面对很短的测试时间和很繁重的测试工作量的压力,这个时候,需要对测试工作的内在规律有一个清醒地认识,做到“有所为,有所不为”。 测试工作中存在三个要素,分别是质量,时间和成本。对这三个要素的要求程度的相互关系可以用下面的三要素的要求程度模型图来表示
1 结束语
软件的缺陷难以根除,但软件的质量是可以改进的。加强软件测试是控制和提高软件质量的一个行之有效办法。 对于大型项目的测试同样存在着很多不确定因素。环境方面的不稳定,人员方面的流动都对项目的成败产生着影响。即使只是看似简单的黑盒测试,在测试过程方面也会产生这样或那样的问题。而且产品越复杂,测试花费的时间就越长,费用就越大,测试发现缺陷的效率也就越低。像这样大型的黑盒测试项目有点像是工厂里的流水线,特别需要规章制度和管理,试想如果没有测试判定的规则,不同的测试员对于同样的结果也会产生不同的判定,最终只能使测试项目坠入无序的深渊。 为了解决重复测试产生的弊端以及节省人力资源,拥有速度、效率、坚持不懈等属性的自动化工具在黑盒测试中已经得到了人们的重视与应用。从某种程度上说,自动化测试对于手工测试而言就像是解放生产力。 只是由于现在的测试工具还不够灵活,加上需要不低的测试脚本开发成本,目前它只能在黑盒测试的回归测试阶段小试身手。从总体看,自动化黑盒测试还只是作为手工测试的辅助。 无论是哪种测试方法,其目的都是发现尽可能多的软件缺陷。所以在实践过程中要发挥各自的优点,不断改进实践过程,以得到最好的软件质量!
参考文献 [1] 软件测试 (美)Ron Patton 译者:周予滨 姚静等 出版社:机械工业出版社 [2] 软件测试自动化 (美)Daniel J.Mosley,Bruce A.Posey 译者:邓波 黄丽娟 出版社:机械工业出版社 [3] 软件测试过程管理 (美)Rex Black 译者:龚波,但静培 林生等 出版社:机械工业出版社 [4] 软件测试与JUnit实践 王东刚 编著 出版社:人民邮电出版社 [5] 有效软件测试(影印版) (美)Elfriede Dustin 出版社:中国电力出版社 [6] Paradigms of Black Box Software Testing Tutorial at Quality Week,2002 (美) Cem Kaner [7] 软件测试经验与教训 (美)Cem Kaner, James Bach Bret Pettichord 译者:韩柯 出版社:机械工业出版社 [8] SilkTest help |
大型邮件系统中黑盒测试的实践改进
- 上一篇:我国移动电子商务现状、问题及对策研究
- 下一篇:基于某大型实时交易系统的开发过程
查看评论
已有0位网友发表了看法
