高容量自动化测试概述

发表于:2013-7-29 11:11

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

 作者:钟彩红    来源:51Testing软件测试网原创

  摘要

  本文描述了高容量自动化测试(HiVAT)的基本概念以及有关该技术的十二个例子。这些技术一个共同的思路是自动化测试的生成,执行和评估多次随机测试。单一的测试往往是力量微弱的,但是集中到一块儿,就可以揭露单一的测试会忽略的问题。运用最简单的技术能达到高覆盖率:通过设计一定的特殊的用例发掘程序的弱点。其他的技术通过长序列测试将逐渐暴露程序的问题(如内存泄露,堆栈溢出,内存崩溃 )或者是令人意想不到的时间事件。在我的经验中,这些长序列测试往往在嵌入式系统中发现了严重的问题,尤其是与一些处理器产生交互的系统中。我们把更多的软件嵌入到消费系统上,包括会造成性命攸关的危险的系统,我相信这些测试将变得至关重要。

  关键字

  高容量自动化测试 功能等价测试 恶意数据流测试

  正文

  这篇文章只是一篇粗略的草稿,作为佛罗里达理工学院(Florida institute of Technology)HiVAT技术课程的介绍。它在课堂上给出了一个整体的结构。It is intentionally under-referenced。在课堂上学生的任务之一是通过高度脱节的文献、地图研究论文、从业者文档以及会议演示深入挖掘这儿列举的技术。通过帮助文档,或者直接相关的自动化支持技术和自动化策略/结果的调查文档的add部分,学生们可以汲取HiVAT技术的相关知识。若我们在课堂上取得进步,我会用在学术上更加完整的草稿来替代这篇文章。

  考虑到自动化回归测试,我们会多次重复利用一个回归测试——也许在每一个版本中都会运行。但是这些测试真正做到自动化了吗?计算机可以执行测试并对结果做一些简单的评估,但是测试人员设计了整个测试,是测试人员编写了计算机能执行的测试代码,是测试人员给出测试输入数据,通过把数据直接写入测试代码或者在输入文件中指定特定的参数,是测试人员提供了程序用来评估测试结果的预期结果。而且如果有迹象表明出现问题,是由测试人员来检测结果,排疑解难,手工编写测试报告(程序崩溃的情况下)或者重新设计测试。所有由测试人员完成的工作都是手工的。

……………………

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

  高容量参数变化

  我们可以通过将一些人的工作转化为计算机的任务来使自动化回归测试的自动化程度更高。例如,我们可以想象测试一个接收两个输入值(first,second)并返回两个值之和(sum)的方法。一个典型的回归测试包括两个特定的值first,second和预期结果,即两个值之和。但是假设我们使用提供随机数据的测试数据生成器来取代特定的测试数据,赋值给first和second,计算预期总和的值sum。用这种方式我们可以生成上十亿个测试,每一次测试都会有些不同,而人的工作量却几乎没有增加。

  这是高容量测试最简单的例子之一。人提供算法,而测试工具运用算法创建测试数据,运行测试过程,并评估许多次随机测试产生的结果。

  在这个例子中,那些测试用例几乎是相同的(相当相似)。为什么同时运行所有的这些测试会干扰呢?传统的回答是“互不干扰”的。域测试是一种广泛使用的软件测试技术。域测试的意义在于帮助测试人员选择一组数量较小的输入值代表最广泛的可能性从而将测试冗余最小化。通常情况下,这种做法效果不错。偶尔,程序使用小部分特定的值进行测试会有一些问题。例如,程序可能在处理一些特定的值时被优化,也可能容易出现一些太小难以注意到的计算错误,这些错误偶尔是可见的。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号