软件测试基础

什么是bug?

Fault, Error & Failure

Faullt:静态存在于软件中的缺陷;

Error:运行过程中,运行到Fault时触发一个错误的中间状态

Failure:失效,Error一直传播到软件的外面,使得测试人员或用户能观测到的失效行为;


测试用例test case:

包括测试输入(测试数据)、测试输出(测试预言)及其他(测试环境);


测试test与调试debug:

测试是通过执行软件,观察是否失效,目的是发现bug;

调试是通过定位、理解并修复fault,目的是修复bug;


确认validation和验证verification:

确认是确认最终实现是否与规格文档一致;

验证是确认规格文档是否是用户所需要的;

注意:测试包括确认和验证;


静态测试static test与动态测试dynamic test:

静态测试是不执行程序;

动态测试是执行程序;


黑盒测试black-box test和白盒测试white-box test:

黑盒测试是不了解内部源代码;

白盒测试是了解内部源代码的逻辑结构;

灰盒测试不是黑盒测试加上白盒测试;


测试层次:

单元测试:最基本、最小级别的测试,通常测试一个函数或方法;

模块测试:

集成测试:模块级别的组合

系统测试:


测试过程:

软件测试基础_第1张图片

获取测试制品(代码或需求)后,通过分析获取某种结构,由此派生测试需求;也可直接从软件制品中派生测试需求;

测试需求规格化,再产生测试输入;测试输入封装成完整的测试用例;为使测试用例自动化执行,将其转变为测试脚本;

在特定的执行框架下执行,获取测试结果;最终的测试结果反馈到测试需求,提高测试过程;


你可能感兴趣的:(软件测试基础)