单元测试的策略:
- 逻辑覆盖、
- 循环覆盖、
- 同行评审、
- 桌前检查、
- 代码走查、
- 代码评审、
- 景泰数据流分析
白盒测试方法:
六种覆盖方法中,覆盖准则由弱到强依次是语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
其中,
语句覆盖是使得程序中每个语句至少被执行一次;
判定覆盖是使得程序中的每个分支至少都通过一次;
条件覆盖是使得判定中的每个条件获得各种可能的结果;
判定/条件覆盖是使得判定中的每个条件取到各种可能的值,并使每个判定取到各种可能的结果;
条件组合覆盖是使得每个判定中条件的各种可能组合都至少出现一次;
路径覆盖,覆盖程序中所有可能的执行路径,包括循环、条件组合,分支选择
链接:
https://blog.csdn.net/write6/article/details/78702977
https://www.cnblogs.com/stay-sober/p/4366517.html
黑盒测试方法:
不关心程序内部逻辑,只根据程序功能说明来设计测试用例;分为:等价类划分法,边界值分析法和错误推测法,因果图法,决策表法,场景法。
根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。 体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。 单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。 集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。 系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。 验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。
压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等
软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
确认测试是检验所开发的软件是否满足了需求规格说明中确定了的各种功能和性能需求,以及软件配置是否完全和正确。一般在系统测试前。
确认测试主要指的是一个阶段,但是无论怎样,都与可靠性、安全性等不冲突,因为不是一个纬度,即在确认测试阶段即可以做可靠性测试,也可以做安全测试(当然这些类型测试最好放在系统测试阶段)
国际标准中没有对于确认测试的定义,就连软件测试的定义都没有绝对统一的,所以对其理解应该本着从传统概念提出到不断演化的柔性理解,而不是死认定义。
安全性测试的目的在于检查系统对非法侵入的防范能力,验证安装在系统内的保护机构是否确实能够对系统进行保护,使之不受各种干扰。
软件兼容性测试检测软件之间能否正确的交互和共享信息,其目标是保证软件按照用户期望的方式进行交互,是用其他软件检查软件操作的过程。
恢复测试的主要目的是检查系统的容错能力。通过采用多种人工干预方式使系统失效,检验系统的恢复能力。