软件测试

软件测试方法是指测试软件性能的方法。


软件测试方法分为静态测试动态测试

静态测试是被测试程序不在机器上运行而采用人工检测和计算机辅助静态分析手段对程序进行检测。

动态测试是通过运行程序发现错误。对软件产品进行动态测试时可以采用黑盒测试和白盒测试法。


 静态测试

指测试不运行的部分,例如测试产品说明书,对此进行检查和审阅。静态方法是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。


动态测试

根据在软件开发过程中所处的阶段,动态测试可分为以下几类:


单元测试
以某个功能或代码块为单元进行测试,单元测试在实现阶段进行,它所依据的模块功能描述和内部细节以及测试方案应在详细设计阶段完成,目的是发现编程错误。

集成测试

将两个以上已经测试过的单元合成一个组件,并且测试它们之间的接口。集成测试所依据的模块说明书和测试方案应在概要设计阶段完成,它能发现设计错误。

系统测试

系统测试是针对整个产品系统进行的测试,覆盖系统所有的部件,将系统中的软件与各种依赖的资源(软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等)结合起来,在系统实际运行环境下来进行测试。系统测试所依据的软件需求说明书应在系统分析阶段完成,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。

验收测试

验收测试是客户对系统进行测试以验证软件系统是否符合他们对需求的理解。验收测试是基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。一般从功能、用户界面、性能、业务关联性进行测试。相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。

回归测试 

回归测试用于识别在改正当前故障的同时可能会引入新的故障。 


白盒测试

(又称结构测试或者逻辑驱动测试):路径测试技术。验收测试是客户对系统进行测试以验证软件系统是否符合他们对需求的理解。

白盒测试是把测试对象看作一个打开的盒子。需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。

黑盒测试

(又称功能测试或者数据驱动测试):事务处理流程测试技术。

黑盒测试法在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。对于无法获得源代码的第三方组件,可采用黑盒对组件进行测试。

白盒测试依据的是程序的逻辑结构,而黑盒测试技术依据的是软件行为的描述。


其他

性能测试是测试软件的安全性、精确性、速度和可靠性。

确认测试首先要进行有效性测试以及软件配置审查,然后进行验收测试和安装测试。

有效性测试就是在模拟环境下,通过黑盒测试检验所开发的软件是否与需求规格说明书一致。测试计划应在软件需求分析阶段完成。 

基本路径覆盖、分支覆盖和环路覆盖需要根据程序的内部结构和逻辑进行测试。

语句覆盖是一种白盒测试技术,指的是设计若干测试用例,运行被测程序,使得每一个可执行语句至少执行一次。

原文地址:https://www.cnblogs.com/SQP51312/p/6020018.html