嵌入式应用软件的测试策略

发表于:2009-5-06 13:30

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

 作者:译者:肖艳霞    来源:51Testing投稿

分享:

  这篇文章的主要目的是希望能为那些测试和使用嵌入式应用软件的人们提供有用的建议和想法。测试和嵌入式应用软件都是广泛的领域,所以这些建议只能适用于一般情况,不可能对每个人都有用。本文这篇文章首先介绍一些术语,以帮助作者和读者形成共识,接下来会主要谈论以下方面:测试技术,测试工具和测试策略。

  测试技术这一块谈论软件测试的一些方法和使这些方法更有效的一些技术,主要包括有:回归测试,基于代码测试和功能性测试。

  测试工具这一块介绍几种可增进和支持测试的工具,集中谈论其中的两种。所谓的测试支持工具是指可用于帮助测试员提高工作效率,但本身不可直接执行测试的工具。这些工具通常都是测试员可使用的通用工具。自动化测试工具是指为某种测试类型而特定设计或为某个测试阶段提供帮助的工具。

  测试策略这一块研究软件测试的某些扩展问题和讨论这些问题该如何解决。主要包括:何时开始测试,如何处理软件需求不全甚至无明确需求的情况,如何处理测试时间不足的情况,和如何改善总体测试过程以提高总体测试效率等。

  一、测试术语

  为了精确的谈论测试问题和方法,我们需要事先对测试的一些术语进行定义。在测试中,我们经常会说到"Bug"这个词,但实际上很多人对"bugs"这个词没有很清晰的理解,不明确知道它指的是什么。对于程序设计者,一个Bug可能就是源代码错误,而对于一个测试者,它可能意味着代码输出与预期不符。出于这个原因,我们必须进行术语定义,以便于这篇文章的所有读者明确了解我们所谈论的问题。

  软件错误:是软件的设计错误,可能是源于需求规格说明书对需求的错误定义或缺少定义,程序员对需求或界面的错误理解,甚至可能是发生在错误时间的中断。这是软件问题的根本源头。

  软件缺陷:指计算机程序源代码中的错误。它们由软件错误引入,通常指:错别字、错误的逻辑,错误的等式,甚至一些无关紧要的小问题,如多余的代码。

  软件失效:指是软件预期结果与实际输出结果不符。这些不符可能是系统总线信息输出的字节错误,针对特定输入的错误输出,或无法满足需求说明书或连接其它设备的接口的时间要求

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/29/n-120029.html

  三、测试工具

  测试工具可以是任何由简单shell脚本创建的程序,这些工具可针对复杂的测试场景生成易于理解报告,这些场景使用了先进的自动化测试和分析工具。这篇文章尝试取两个极端间的平衡点,研究那些当前可用并易用的工具,或那些单纯针对某一个项目而开发,开发难度适中或容易纳入他们的设计的工具。

  在这方面,我们将研究工具的两个大类,支持工具,这种工具不直接用于测试,但通过处理测试中一些琐碎问题,能帮助降低测试员的工作难度和提升他们的工作效率;自动化测试工具,这种工具本身直接协助测试。

  通常来说,一种工具的功用或功效与这种工具的成本直接相关,但,这种说法并不总是正确的。我们有可能会找到或开发一些能极大的促进生产力而同时成本又可接受的工具。在任何情况下,当我们考虑是否购买或开发一种工具时,重要的是要对如何使用这种工具有清晰的认知,和了解使用这种工具在进度控制和质量改进方面的预期回报。

  支持工具

  支持工具一般都价格适中,可用于提升测试员的工作效率,因此,其价格与价值是对等的。这种工具的成本效益比率通常都是高的,在某些情况下,这种工具的开发者开发它只为了方便他们自己在某一方面的使用。

  一些有用的支持工具包括如下:

  1、数据库工具对于测试人员来说是多用途工具中最有用的一种,在功用方面排名只在文字编辑器之后。数据库工具在收集特殊数据和将这些集合成适用的格式。相关数据库测试应用软件包括缺陷跟踪、需求分析和分配和形成测试目录。作者中见过的数据库工具其它一些更奇特的用法包括测试数据生成,分布式测试控制,以及故障/错误分析等。在考虑选用哪种数据库管理工具以用于测试时,应关注的关键特性有:易用性,灵活性,报告生成能力和可编程性。

  2、缺陷跟踪工具用于跟踪软件所检测出失效的修复过程,查明潜伏缺陷的性质和确认根据缺陷代码所需要做的修正。理想情况下,这些工具需要具有通过E-mail的自动发送报告这一功能,需要集成配置管理系统和客户需求变更跟踪系统,以提供出现在最初报告中的问题轨迹跟踪和核查不同阶段的测试。大部分工具都不具备上面所说的所有功能,且使用一个简单的带数据库的缺陷跟踪工具相对容易。然而,这些功能应被视为可取的,并应在可能的情况下使用。

  3、配置管理工具对于测试员来说有以下两方面的作用。首先,这种工具帮助测试员精确界定正在测试的内容,从而使得更详细的跟踪软件缺陷和软件变更变得可能。第二,这种工具本身在具有跟踪自动化测试过程和手工测试文档化过程的功能,通过这一功能可确认指定的测试是否执行了正确版本的软件。

  4、其它的工具同样是有用的:报告生成和格式化工具用于报告测试结果和生成正确格式的测试数据;计算机语言工具用于编写测试代码,生成测试工具,且有时其本身可生成测试;和其它工具用于分析测试数据,分配测试结果和执行其它的功能等,在这不胜枚举。

  自动化测试工具

  随着应用软件变得越来越复杂,软件测试相应得也就得更复杂。另外,嵌入式应用软件的测试往往需要接受过高深的专业知识培训和经验非常丰富的测试工程师。对于大部分的Windows应用软件来说,具有最基本测试能力的测试员都可测试,但对于在医院中使用医疗设备,甚至是办公室中使用的程控交换机,嵌入这些机器的软件需要经过高水平的测试,因为需要的测试成本也就更高。

  不同的自动化测试工具往往都有其独特的功效,有效的运用自动化测试工具可使不可能的测试工作成为可能,并且能保证经过测试的软件版本可成功发布。测试工具永远都不可能取代测试工程师,然而它们可以帮助成倍提高测试工程师的工作效率和允许更多测试用例得到审查。

  自动化测试工具的范围很广,从临时为某一被测软件创建的工具,和测试人员用于生成输入数据,通过内部的功能将数据压缩、整理和分析为一个实际可用形式的工具,到先进的特为测试而设计的生产级测试工具,比如代码覆盖率分析工具,内存分析工具,和图形用户界面测试工具将在这一节的余下部分讨论。

  代码覆盖率分析工具

  代码覆盖率分析工具用于基于代码测试阶段,用来跟踪软件的哪些部分代码已经被执行,和这些代码的覆盖程序如何。这些通常通过使用某种的工具来追踪(嵌入到测试环境的硬件设备或被添加到可执行代码的软件或这两种工具的集成)测试过程中代码的执行情况。接着对数据进行归纳分析,并将分析结果汇报给用户,使用户可确定哪些代码已被执行和哪些代码未被执行。

  ……………………

查看全文请点击下载:http://www.51testing.com/html/29/n-120029.html

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号