当前位置:文档之家› 软件测试及其自动化

软件测试及其自动化

软件测试及其自动化

刘胜

【摘要】介绍了软件测试自动化及软件测试自动化工具,并指出软件测试自动化的缺陷。【关键词】软件测试软件测试自动化

!软件测试自动化

虽然影响软件的可靠性的错误和缺陷与软件开发的各个阶段都相关,但主要集中在软件设计与编码过程中。

软件设计与编码阶段所产生的错误大致分成二类,一类是语法错误,如保留字拼写错误,循环交叉,非法进入循环体等。这些错误是大量经常的,幸运的是,编译程序能轻而易举地确定软件出错位置及出错类型,方便了程序员修改;另一类是逻辑错误。这类错误各种各样,发现排除难度大,发现并排除逻辑错误是一项具有挑战性的工作。

发现软件存在的错误,常有的方法有静态分析和动态分析两种。我们所关心的是动态测试,所谓的动态测试是指一个反复执行某个软件直到确信这个软件正确或没有更多的错误,这里指的是可能正确,或者是这个软件有一个可接受的足够高的正确层次。动态测试分为结构测试(白盒法)和功能测试(黑盒法)。白盒测试的缺点是有的代码测试不到,黑盒测试可以测试到这些代码。有的人在白盒测试和黑盒测试之外增加了一个新的测试方法,即形式测试。形式测试涉及到一些静态层次的证明的定理———软件的数学操作过程,这个软件的功能计算是通过一个程序匹配一个特定的功能来实现的。在这个过程里有程序执行发生,并且结果是一个布尔值,或者是程序通过了特定的匹配,或者不这样。在这个准备过程中问题出现了,因为操作本身程序的确定性和正确性,(它将证明这个验证),而完成如此的一个证明操作可能比编写这个程序本身更难些。通常我们将这个问题转化成一种算法与另一种算法匹配问题:既先取一种已知的算法正确的程序,用它的结果与新的算法的结果匹配,看其得值情况。虽然拥有这些测试方法,但测试结果并不总是令人满意。人工测试容易出错的原因在于人工测试主观性强,依赖于人的知识、经验,故测试自动化是软件测试发展的方法。使用测试工具可提高测试效率,方便错误的检测与定位。在软件的生命周期的各个阶段有各自的测试工具,这些工具包括:测试设计工具、逻辑设计工具和物理设计工具、管理工具、静态分析工具、覆盖工具、调试工具、动态分析工具、测试执行与比较工具、性能模拟工具。

"软件自动测试工具

#$%$&’()公司的*’+,-./012及345.67899是一个优秀的原代码级运行时刻测试工具,致力于解决上述所提到的问题。下面就*99的测试工具作一个简单的介绍。*99是目前广泛应用的程序设计工具。因为*99为程序员提供了许多新特点,因此就存在这样一个问题,怎样指导如何做最好,程序员经常碰到这样的问题:

(!)赋值操作符的返回值是什么;

(")操作是、符4:;的行为特点;

(<)什么时候需要一个显示定义一个析构函数;

(=)如何写一个初始化的线性表;

(>)如何实现一个常量类。

当程序员的开发平台*移动至*99后,它的许多经验不适应新的情况,不能高效安全地应用。例如上面几个问题在*下都是不会遇到的。如果可能的不同的结果没有被严格检测,那么程序可能变得难于控制了。这些错误可能会通过功能测试,但这并不意味着程序没有故障。它就象隐藏在程序中的定时炸弹,随时可能爆炸。

*?2:-./012基本点是向程序员提供必要的*9 9编程指导,这使得*99程序易懂、高效、无错。*?2:-./012自动提供避免*99表达式错误的指

信息技术"@@!年第<期万方数据

相关主题
文本预览
相关文档 最新文档