您的位置:首页 > 其它

软件测试简介

2014-05-13 12:50 141 查看
当做课后复习,参考振宇兄的ppt~

---------------------------------------------------------------

测试活动:

1、测试需求

2、测试设计(Criteria-based & Human-based)

3、测试执行

4、测试评估

5、测试自动化

白盒测试:

是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。

黑盒测试:

是通过使用整个软件或某种软件功能来严格地测试,。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。

测试的目的是显示存在故障;

调试的目的是发现故障所在,并修复程序。

调试通常在测试之后。

Grace Hopper

发现了第一个Bug;

创造了最大的bug----千年虫;

实现了第一个编译语言和编译器;

奠定了第一种商业编程语言COBOL的模型基础。

Fault, Error, Failure

•Fault(故障): 静态存在于软件代码中的缺陷(Defect);

•Error(错误): 由于故障造成的软件错误中间状态;

•Failure(失效): 跟预期输出(通常来自于需求说明)不符的异常行为.

PIE模型

1.Execution(执行):

故障代码被执行到;

2.Infection(感染):

产生错误的中间状态;

3.Propagation(传播):

被感染的状态传播到系统外部被观察和发现。

(一个Fault对于所有输入可能产生的Error都不传播出去,那么这个代码还称为Fault吗?)

事实上

•一个程序是否包含Fault是不可判定的;

•一行代码是否为Fault是不可判定的;

•一个修复是否正确是不可判定的。

实践经验

1.开发人员运行测试用例集T,发现了一些failed测试;

2.开发人员通过程序和运行状态来理解一段代码是否为Fault;

3.通过修改相应代码,重新运行测试来判定其是否为Fault,即failed测试变为passed 测试。

一段代码我们称为Fault,假如

定义1:我们修改一段代码,能够使得至少一个failed测试变为passed。

定义2:我们修改一段代码,能够使得至少一个failed测试变为passed,而且其他passed的测试仍为passed。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: