软件测试的关键技术
作者:软件测试工程师 发布时间:[ 2010/7/27 17:53:14 ] 推荐标签:
2.4测试技术
(1)基于规范的测试技术
在该类测试中,除了早已熟悉的边界值分析、等价类划分等方法外,还有决策表、有限自动机、形式化规范等方法。决策表用来表示条件(输人)和行为(输出)之间的逻辑关系,从条件和行为的所有可能组合中系统地选取测试用例,可用因果图来表示这样的关系。
用有限自动机的理论对有限自动机进行建模,在此基础上,用不同的技术,选取测试用来覆盖其中的状态及其转换,这些技术适用于事务处理系统。以形式化语言给出规范(比如,准确地定义语法和语义),从而使得能够自动地由规范生成测试用例,
同时提供输出,可以称为预示输出以检验测试结果,在模型和代数基础上生成测试用例的方法大不相同。
(2)基于代码的测试技术
基于代码的测试技术主要有基于代码的参考模型、基于控制流的标准和基于数据流的标准。示程序的控制结构,其中的结点和边对应程序中的元素,例如,结点表示语句或语句的顺序流,边表示结点之间的控制转换。
基于控制流的标准旨在覆盖所有程序中的所有语句和语句块,目前已有多种准则(如决策/条件覆盖准则),但是想要覆盖所有控制路径是不可能的。
基于数据流的测试标准是用控制流程图作为注释来解释如何定义和使用程序变量,不同的准则提供了不同的方法,也是如何沿着流程图的不同流向看出同一个变量的值,可以用一个三元组(d,u,V)来表示,其中V是变量,d是定义V的结点,u是使用V的结点,这样,在d,u和V可以看出它们之间的明确关系。
(3)基于故障的测试技术
由于形式化程度不同,基于故障的测试技术对测试用例进行规范化的设计,目的在于给出预定义的故障或可能有的故障类。这类测试技术主要有错误猜测、故障植人、变化测试三种,其中错误猜测是由测试人员根据给定的程序,
依据自身经验和以前类似项目的记载大致猜测有可能的故障;故障植人是目前非常通用的测试方法,通过人工地将故障植人程序并对其后的结果进行监控,找出程序暴露出的缺陷,这种方法可以用来测量测试有效性;变化程序是指对程序稍微进行修改,
与以前的原始版本不同,做了一些语法上的修改。让所有的测试用例都在原始版本和修改后的版本上运行(有效地使用该技术必须使得能自动地生成变化体)。如果测试用例能够分清程序与变化程序之间的差别,把后者删去。
变化测试的基本理论是配对效应,这样可以找出程序的语法故障,有的甚至是很复杂的故障。当然,在具体应用时,变化可以幅度大也可以小。
(4)基于使用的测试技术
可以使用模拟仿真技术来重新生成产品实际操作的环境,将输人生成剖面图,根据剖面图生成实际操作的场景。目前有软件可靠性工程测试技术。
3结束语
软件测试正在受到软件界和企业界越来越多的关注和重视。本文是在对软件测试的技术和方法进行了大量的相关研究基础上,概述了软件测试的基本观点和实施方法,这个工作还在进一步的研究中,会随着研究经验的积累而不断深人。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com