关于软件测试的方法研究

时间:2022-08-06 06:03:52

关于软件测试的方法研究

摘 要:近几年来,人们越来越重视软件测试,软件测试工作也越来越“热”,但很多人在学习软件测试的过程当中走了不少弯路。本文对软件测试领域的现状和误区进行了阐述,并对学习软件测试的过程和方法进行了深入探讨,最后提供了一些软件测试技巧以供参考。

关键词:软件测试;误区;黑盒测试;测试用例

随着软件产业的发展、软件规模的逐步扩大,软件的质量问题日渐突显,软件测试与软件质量监控也越来越受到软件行业的重视。各类招聘信息中对软件测试类人才的需求猛增,很多人由此而选择了软件测试,但其中不少人始终未能拿到软件测试行业的“入场券”,原因何在?软件测试行业是一个高速发展的新兴行业,尽管当下认知程度不高,但有着广阔的发展前景。如何才能更有效地进入软件测试领域是本文的研究重点所在。

1 软件测试的误区

1.1 误区一:软件开发完成后才开始进行软件测试。 软件从开始计划、编制、测试,一直到公开使用的过程中都可能存在软件缺陷。事实证明,需求规格说明书是导致软件缺陷的最大原因。随着时间的推移,修复软件缺陷的费用呈几何级数增长。

1.2 误区二:软件后如果发现质量问题,那是软件测试人员的错。软件测试只能确认软件存在错误,不能保证软件没有错误。软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程设计出来的。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

1.3 误区三:软件测试要求不高,随便找个人都可以完成这项工作。软件测试涉及很多领域,简单的点点鼠标、按按键盘的工作根本无法达到软件测试的目的,若想立足于软件测试领域必须掌握和学习很多方面的知识。

1.4 误区四:项目进度吃紧时少做些测试,时间富裕时多做测试。缩短测试时间会导致测试不完整,无法达到测试的目的,测试效果也将大打折扣。软件项目过程应该是有计划的、可控制的,若项目过程管理混乱必然会降低软件测试的质量。

2 学习软件测试的过程和方法研究

不同知识基础的人,学习软件测试技术、进入软件测试领域的感受也有所不同,很多人在学习软件测试知识的过程中非常盲目,没有计划、没有方向,学习效率低下。

在此,本人对学习软件测试的过程和方法进行总结、研究和探讨,以作交流学习之用。

2.1 学习软件测试的过程

(1) 第一步 明确测试目的。有目的才有动力,有目标才有方向。软件测试就是对软件需求分析、设计规格说明、程序代码以及软件其他相关产品进行测试的过程,是软件质量保证的关键步骤。明确软件测试的目的和目标才能准确的定位测试并更有效的进行测试。

(2) 第二步 结合实际项目,学习掌握测试方法、合理设计测试用例。常用的测试方法有黑盒测试和白盒测试。黑盒测试在完全不考虑程序内部结构和内部特性的情况下,针对软件界面和软件功能等进行测试,是最基本的测试方法。白盒测试允许测试人员利用程序内部的逻辑结构及有关信息设计或选择测试用例进行测试。准确的理解和掌握这些技术及其相互关系是进行软件测试的前提。因此,在学习软件测试的过程中,要准确的把握测试方法并有条理的组织和设计测试用例。

(3) 第三步 熟悉测试步骤。 一个完整的软件测试过程包括测试计划、测试设计、测试开发、测试执行、缺陷跟踪和测试评估。软件测试管理工具可以系统地控制整个测试过程,实现从测试需求、测试设计、测试执行和缺陷跟踪所有操作的全方位跟踪管理,并为这几个部分提供了关联机制,使整个测试管理过程更加简单和有组织。在此,本人建议在学习软件测试技术的过程中,以一个测试管理工具(例:TestDirector)为平台进行测试实践,用心体会一个完整的测试过程。

(4) 第四步 了解测试阶段。软件测试从软件需求阶段就已介入,基本贯穿软件项目开发全程,不同阶段有不同的测试点,需要不同的测试方法和技术。软件测试可以大致分为需求评审、 单元测试、集成测试、系统测试、验收测试( α测试/ β 测试)这几个阶段。明确各个阶段的测试目的和内容才能选择相对合适的方法进行测试。

(5) 第五步 测试技术的提高和升级。软件自动化测试是一项让计算机代替测试人员进行软件测试的技术,通常借助测试工具来执行。自动化测试可以模拟软件实际运行效果,测试效率高、准确度和精确度高、可以持续测试而无须休息,弥补了手工测试的不足。性能被列为系统质量的重要指标,并越来越受到人们的重视。性能测试是对软件性能的表现进行测试,较功能测试更难实现。

2.2 学习软件测试的方法 学习方法的好坏和学习习惯对学习效果的影响非常大,以下是软件测试初学者需要注意的几个地方:

(1) 勤学好问、充分利用各类学习资源。问题积累是学习的拦路虎。时间越久,问题越多,给学习造成了很大的阻力,更甚者会让初学者心生放弃。三人行必有我师,勤学好问,不要滋生“历史”遗留问题。当然,对于一个复杂问题,如果在短时间内无法理解透彻时,可以先简单的了解,然后在之后的学习和实践过程中慢慢体会其含义。由简入繁,勿钻“牛角尖”。

(2) 实践出真知。实践是检验真理的唯一标准。要想真正学会测试,必须进行实际的测试。不要说没有测试环境,想学的话,完全可以自己搭建环境。有了行动才能有收获。

(3) 切莫“闭门造车”。软件测试技术是解决实际软件测试问题的技术,与现实世界密切相关,盲目的学习可能适得其反。因此,应多关注软件测试行业的动态,了解软件测试行业的真正需求,有目的的学习。

(4) 细心、耐心。软件测试是对人技术和意志的一种考验,不细心就有可能与缺陷擦肩而过,没有耐心就无法将枯燥的测试进行到底。只有充分的细心和耐心才能适应和完成软件测试工作。

(5)“怀疑”精神。定性思维往往是发生错误的根源,对于软件测试人员来说,更应该具有“怀疑”精神,要考虑每个细节,不要想当然地接受任何假设。

3 软件测试的常用技巧 软件测试虽然辛苦,但掌握一定技巧后将事半功倍。

3.1 边界测试。边界是最容易出错的地方。在进行软件测试时,应测试临近边界的合法数据(即最后一个可能合法的数据, 以及刚超过边界的非法数据)。

3.2 非法测试。人们在不了解软件功能或使用方法的情况下,经常会不经意地输入一些非法数据或进行一些非法操作而导致软件出现意外情况。因此,在进行软件测试的过程当中,应考虑进行类似的非法测试。例如在输入数字的地方输入字符、输入邮件地址的地方输入非法格式的数据、进行一些不合理的操作等。

3.3 接口测试。程序往往在接口的地方发生错误,在进行相关测试时切勿掉以轻心。

3.4 代码重用测试。在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码的基础上作修改或修改不全面而引发错误。在测试的过程中应更加留意这方面的测试。

3.5 失效恢复测试。当意外(如网络突然中断、系统崩溃等)发生时,用户能否继续使用系统,用户将受到多大的影响也是测试要考虑的问题。

4 结束语

软件测试是一个入门易、深入难的工作。学习软件测试技术没有捷径可言,一点点的努力才是正道。学习过程是指引,学习方法是手段,希望以上的方法和技巧能够给大家以启迪,也希望更多有识之士能够与我们共同徜徉在软件测试这五彩缤纷的世界之中。

参考文献:

[1] 把 冉. 软件测试行业特别调查[J]. 中国经济信息,2008(9):76-77.

[2] (美)Ron Patton. 软件测试[M]. 周予滨,姚静,等译. 北京:机械工业出版社,2008.

[3] 路 璐,王文莉. 浅谈软件测试技术[J]. 郑州铁路职业技术学院学报,2007,19(2):41-42.

[4] 黄茗云,王英龙,张洪亮. 软件测试热点浅析[J]. 研究与探讨,2008(2):57-29.

[5] 康 锋. 软件系统性能测试规划[J]. 大众科技,2007(8):65-66.

上一篇:葡萄酒的鉴赏与品尝 下一篇:初中语文作业布置的几点思考