软件测试的关键技术
作者:软件测试工程师 发布时间:[ 2010/7/27 17:53:14 ] 推荐标签:
1.1特性
根据上述定义,软件测试的关键特性是:
(1)动态性测试是在给出输人值的基础上进行的动态过程。
(2)有限性测试执行的次数必须是有限的,而且测试过程还必须具有可管理性,也是说测试意味着要在有限的资源与潜在的、无限的测试需求之间进行平衡,
这一对矛盾是测试技术要解决的两个根本问题:要制定相应的测试充分性判定准则,并制定相应的测试过程管理规范用以考查测试的效果。
(3)选择性
测试技术的关键问题是如何选择有限的测试用例。选择不同的测试用例集合会产生截然不同的测试结果,在给定条件下,确定合适的测试用例选择准则是目前软件测试技术研究的热点之一,也是能从根本上提高测试效果的有效手段。
(4)预测性
测试技术应能判定程序执行后的结果是否可接受,否则,测试结果无效。现在,常用名词预示程序( oracle program)给出程序运行的可能结果。
当然,如何给出预示程序也是测试技术的难点之一,如果要检验运行结果与客户需求是否一致,需要进行有效性测试;如果要检验运行结果是否与给定的规范是否一致,则需要进行验证测试。
1.2目标
可以在软件开发过程中的不同阶段实施软件测试,这意味着,测试的目标根据测试阶段的不同而不同:整个程序、部分程序(相关)或者是一个模块。这里面涉及到一个概念,是测试层次。
测试具有非常明确的测试目的,可能是显式或隐式给出,其中其准确性可能根据不同的软件会有一些差别。在实际进行软件测试时,能准确、定量地给出测试目的是控制软件整个开发过程的关键环节。
在已有的软件测试技术中,其本质是试图”攻击”被测程序,使之崩溃或者暴露缺陷,从而提高软件可靠性,使用测试技术可用来进行可靠性度量、可用性评估、承包商验证,根据不同的测试目标选用不同的测试技术。
有时,测试目标和测试技术之间也会有矛盾,比如,分支覆盖是通用的软件测试技术,但是其真正的含义是尽可能地、系统地测试所有判定点上的每一个程序分支,而不仅仅只是考虑到程序本身所给出的测试目标。类似这样的问题在实施软件测试时常常会发生。
2软件测试的关键技术
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com