软件测试学习过程和方法探究

时间:2022-07-18 03:02:37

软件测试学习过程和方法探究

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

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

中图分类号:G642 文献标识码:A

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

1软件测试的误区

软件测试不断受到重视,但总体上,国内软件项目过程不够规范,对软件测试的重要性、测试方法和流程等还存在很多错误的认识,以致很多人在软件测试领域走了不少弯路。对于测试人员以及准备进入软件测试领域的人员来说,首先必须认清并更正这些错误观点。

(1) 误区一:软件开发完成后才开始进行软件测试

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

(2) 误区二:软件后如果发现质量问题,那是软件测试人员的错

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

(3) 误区三:软件测试要求不高,随便找个人都可以完成这项工作

软件测试涉及很多领域,简单的点点鼠标、按按键盘的工作根本无法达到软件测试的目的,若想立足于软件测试领域必须掌握和学习很多方面的知识。

(4) 误区四:项目进度吃紧时少做些测试,时间富裕时多做测试

缩短测试时间会导致测试不完整,无法达到测试的目的,测试效果也将大打折扣。软件项目过程应该是有计划的、可控制的,若项目过程管理混乱必然会降低软件测试的质量。

(5) 误区五:自动测试将取代手工测试

自动测试速度快、效率高、准确度和精确度高。但动测试只能测试某些软件的部分特性,且无法灵活处理意外事件。手工测试可以更好地发挥人的主观能动性、灵活性、随机应变性,可以更好地适应并处理突发事件。无论自动测试技术多么发达,自动测试也不能取代手工测试。

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

不同知识基础的人,学习软件测试技术、进入软件测试领域的感受也有所不同,很多人在学习软件测试知识的过程中非常盲目,没有计划、没有方向,学习效率低下。在此,本人对学习软件测试的过程和方法进行总结、研究和探讨,以作交流学习之用。

2.1学习软件测试的过程

(1) 第一步明确测试目的

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

(2) 第二步结合实际项目,学习掌握测试方法、合理设计测试用例

常用的测试方法有黑盒测试和白盒测试。黑盒测试在完全不考虑程序内部结构和内部特性的情况下,针对软件界面和软件功能等进行测试,是最基本的测试方法。白盒测试允许测试人员利用程序内部的逻辑结构及有关信息设计或选择测试用例进行测试。准确的理解和掌握这些技术及其相互关系是进行软件测试的前提。

测试是有风险的行为,完全测试是不可能的。软件测试用例是进行测试的核心,是测试人员测试过程中的重要参考依据,它的组织和编写关系到整个测试工作和思路的正确性、有效性。测试用例的组织性和条理性是软件测试成功的一个重要因素。因此,在学习软件测试的过程中,要准确的把握测试方法并有条理的组织和设计测试用例。

同时,软件测试重在实践。理论的掌握只能达到纸上谈兵的功效,若想真正领悟测试技术的真谛还需进行实际的项目测试。结合具体的测试项目,灵活运用各种测试方法组织编写测试用例可以帮助初学者更好的理解和掌握这些技术。

(3) 第三步熟悉测试步骤

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

(4) 第四步了解测试阶段

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

(5) 第五步测试技术的提高和升级

软件自动化测试是一项让计算机代替测试人员进行软件测试的技术,通常借助测试工具来执行。自动化测试可以模拟软件实际运行效果,测试效率高、准确度和精确度高、可以持续测试而无须休息,弥补了手工测试的不足。

性能被列为系统质量的重要指标,并越来越受到人们的重视。性能测试是对软件性能的表现进行测试,较功能测试更难实现。

在掌握基本的测试方法和技术之后,可以继续深入研究自动化测试和性能测试,提高测试水平和测试能力。

2.2学习软件测试的方法

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

(1) 勤学好问、充分利用各类学习资源

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

软件测试的学习资源非常丰富,书籍、网站、论坛、技术交流群等唾手可得。充分利用这些资源可以缩短学习和解决问题的周期,使学习更加高效。

(2) 实践出真知

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

(3) 切莫“闭门造车”

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

(4) 细心、耐心

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

(5)“怀疑”精神

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

(6) 沟通能力

软件测试人员必须具有良好的人际关系和沟通能力。由于软件测试工作的特殊性,软件测试人员在项目小组中并不受欢迎。由于需要经常和开发人员、测试组其他成员进行沟通,软件测试人员说话办事必须稳重得当,不能随意指责别人,否则会事倍功半,影响软件测试的效率。在学习软件测试的过程中,应把握各种机会,多与人进行沟通和交流。

3软件测试的常用技巧

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

(1) 边界测试

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

(2) 非法测试

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

(3) 接口测试

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

(4) 代码重用测试

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

(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.

Research on Learning Process and Learning Method of Software Testing

TIAN Li-fang, LIU Shuan

(Department of Computer Science, Huanghuai University, Zhu Madian 463000, China)

Abstract: In the last few years, people pay more attention to software testing, and this kind of work becomes more and more popular. However, many people took many tortuous paths in studying software testing technology. This paper carried on the elaboration to the software testing domain's present situation and the erroneous zone, and did in-depth research on how to learn software testing technology more efficiently from two aspects study process and methods. Finally, it provided a number of software testing techniques for reference.

Key words: software testing; erroneous zone; black box testing; test case

上一篇:地区性大学计算机科学与技术专业教学改革的探... 下一篇:跨语言信息检索中基于本体的查询扩展模型研究