随着软硬件协同应用复杂性日益增加,其中软件必须通过全面的测试才可以保证质量和可靠性。但由于研发时间的限制,软件测试需要选择合适的方法,同时选择合适的测试工具,以便达到足够的测试效率。在一个基于FPGA的软硬件协同应用中,本文从占用资源、运行速度等方面比较了RationalVisual Test和QuickTestProfessional两大自动化测试工具,得出前者有较好的速度和可用性。
前言
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性,它是软件生命周期中一项非常重要的非常复杂的工作。在目前的情况下对软件可靠性保证具有极其重要意义的,仍然是软件测试。但如何进行测试,如何提高测试的质量和效率,从而确保软件产品的质量和可靠性,仍是令人深感困惑的问题。本文根据笔者的一些粗浅的体会,简要介绍软件测试的基本过程,以及一些常用的技术手段、测试策略和准则,并介绍一个在工作中用到的Rational(现已被IBM收购)自动化软件测试工具Visual Test。
运用这种自动化测试工具可以省去很多手工运行的麻烦,而且准确获得测试数据和结果。通过本文介绍,以期使愈来愈多的人在认识到软件测试重要性的同时,能够更进一步了解应如何正确地选择和有效地运用各种各样的测试方法、技术以及自动化测试工具提高软件的质量和可靠性。
软件测试的基本过程
软件测试是一个极为复杂的过程。一个规范化的软件测试过程通常须包括以下基本的测试活动 :①拟定软件测试计划 ;②编制软件测试大纲 ;③设计和生成测试用例;④实施测试 ;⑤生成软件问题报告。
实际上,软件测试过程与整个软件开发过程基本上是平行进行的。测试计划早在需求分析阶段即应开始制定,其他相关工作,包括测试大纲的制定、测试数据的生成、测试工具的选择和开发等也应在测试阶段之前进行。充分的准备工作可以有效地克服测试的盲目性,缩短测试周期,提高测试效率,并且起到测试文档与开发文档互查的作用。
此外,软件测试在每个测试周期中,测试工程师将依据预先编制好的测试大纲和准备好的测试用例,对被测软件进行完整的测试。测试与纠错通常是反复交替进行的。
软件测试工具
软件测试的目的是用尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷,并能以更快的速度和更低的成本开发出高质量的应用程序,这就使测试人员的工作比以往任何时候都更加困难。在很多项目中,测试人员的所有任务大多是由手动处理的,而实际上有很大一部分重复性强的测试工作是可以独立开来,自动实现的。在大型项目中测试团队和其他团队之间没有足够的合作,无法促进彼此的交流。实施测试自动化可以提高测试工作效率,使用工具的目的只是为了减少部分手工测试,将更多人力资源投入到更有价值的工作中。
一些受软件开发人员欢迎的软件测试工具为软件测试提供了强有力的支持。本文将介绍美国 Rational 公司(现已被IBM收购)的著名套装软件Rational Visual Test。它的一个重要特点是可以自动驱动被测程序的运行。并且可以自动记录和重放程序执行过程,从而实现了对测试进行“复查”的自动化。由于测试是一个需要反复进行的过程,常常要数十次甚至数百次地重复。因此,这一特性大大地提高了软件“再测试”(Re-Test)和“回归测试 ”(Regression)的自动化程度,把测试人员从繁杂的、重复性的手工测试中解脱出来,从而显著地提高软件测试效率。除了这个最基本的自动录放功能外,它还提供了一系列的辅助支持功能,比如被录制的程序执行过程可以被自动转换成具有良好可读性的高级语言程序,从而使这个测试驱动程序可以由测试人员根据测试需要进行必要的修改,甚至完全用手工方式编制。自动记录和分析比较测试的执行结果。
测试实例介绍