500万彩票网,500万彩票

新闻动态
技术中心
技术中心
当前位置:500万彩票登录 >> 服务支持 >> 技术中心 >> 浏览文章
自动化测试的价值
作者:蔡晓华 日期:2019年08月20日 来源:研发部 浏览:

内容导读:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

    自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了的概念。

模糊测试在很大程度上可以采用自动化的方式来实施。模糊测试相对于其他的软件测试方法而言,其核心价值体现在能够将大量的手工测试转换为高度的自动化测试。生成单个测试用例是一项费力和枯燥的工作,而某些任务则非常适合于计算机来完成。模糊器的核心竞争力就是它在人工干预最小的情况下,生成有用测试数据的能力。本章关注于自动化测试的不同方面,包括语言的选择、有用的构造块、以及为了有效的测试目标软件,在测试数据生成过程中如何选择适当模糊值的重要技巧。

尽管自动化测试的优点是显而易见的,这里为了清晰起见,再从两个方面回顾一下。首先,我们根据人工计算的能力来强调其价值,然后再分析其可重用性。针对于早期的计算机而言,计算时间是非常宝贵的,事实上,它比人工计算的时间还要宝贵;因此,在这些系统上编程是一个非常枯燥乏味的手工过程。程序员要操作磁带、转换开关、并且要手工输入十进制或者二进制的机器操作码。随着科技的发展,程序员的聪明才智不断得以体现,计算时间更加充裕,使得成本代价的平衡发生了改变。目前,这种趋势仍在继续,并且在日益流行的高级编程语言如Java.NETPython中得到了印证。这些编程语言牺牲了一些计算时间,而却为程序员提供了更加简便的开发环境,以及更加迅速的开发转换时间。

鉴于此,尽管对于程序分析员而言,他和基于socketdaemon程序进行交互并且手工在程序漏洞中输入数据以发现软件缺陷是十分可行的,但是最好将人工时间花费在其他任务上。当比较模糊测试与人工审核工作如源代码审查和二进制审核时,也可以得出同样的结论。人工审核方法需要高级分析员花费大量的时间,而前一种方法即模糊测试,则可以或多或少的由任何人来实施。最后,自动化应当作为减少高级程序分析员工作量的第一步,使其能够象关注其它测试方法那样来发现缺陷。
    接下来,强调一下可重用的必要性。下面两个关键因素奠定了可重用性的重要性:

如果我们能够为一个FTP服务创建一个可重用的测试过程,那么我们就可以使用同一个测试过程很方便的测试其它版本的程序,即便是完全不同的FTP服务也可以。否则,需要浪费大量的时间来为每一个FTP服务重新设计并实现一个新的模糊器。

如果一个非寻常的事件序列在目标程序中触发了一个缺陷,那么我们必须要再次产生整个序列以限制造成异常的特定结果。程序分析员需要创建不同的测试用例,因为它们不具备科学的可重用性。

简而言之,测试数据生成和再生成、缺陷监测等耗时耗力的工作最适合于实现自动化。象大多数计算任务一样,对模糊测试而言,幸运的是我们可以利用许多已有的工具和库来实现自动化。

上一篇文章:BPJ-XX/XX矿用隔爆兼本安型交流变频器 下一篇文章:没有了
相关链接
发表评论
用户评论

科达产品

推荐产品

版权所有 山西500万彩票登录股份有限公司 晋ICP备09004627号         
官方微信
新浪官方微博
腾讯官方微博