文档介绍:软件测试及工具培训
白盒及黑盒测试
软件测试的重要性
软件的开发方法有一定的缺陷
软件是一个特殊的产品,是人脑力劳动的产物。但人不可避免地会犯一些错误,所以做出的产品也就会存在一些缺陷,这就需要我们进行软件测试来发现软件内部存在的这些缺陷或错误
是保证软件产品质量的一个重要手段
其专业化、系统化、规范化、严密的测试能最大限度地发现软件中的错误,从而提高软件产品的可靠性
不是万能的
完全的软件测试是不现实的,如果做彻底的测试需要投入大量的人力和物力。所以需要在有限的投入中获得最大的产出
不能发现所有的错误
测试不能取代其他的软件质量保证手段,如软件开发中的过程管理以及QA等
黑盒测试
功能测试,数据驱动测试
是在已知软件产品具有何种功能的前提下,用来检验每个功能是否能够正常使用的一个测试方法。
测试的方法和原理
把程序看成是一个不能打开的黑盒子,在不考虑程序内部结构的情况下,测试人员用操作接口的方式进行测试,检查程序能否按照需求指定的功能接收输入数据产生正确的结果。
白盒测试
结构测试,逻辑驱动测试
前提:知道软件产品内部工作过程
目标:通过测试来检测软件产品内部动作是否按照规格说明书的规定正常进行
重点:按照软件内部的结构测试程序,软件中的每条通路是否都能按预定要求正确工作
白盒与黑盒测试比较
f(x)
X
Y
Y=f(X)
白盒与黑盒测试比较
P
IN
OUT
白盒测试:
黑盒测试:
白盒测试的方法
静态测试
不执行程序来寻找代码中存在的错误或评估代码的过程。由人工来进行,发挥了人的逻辑思维的优势或测试经验。能够批量性地发现问题,并直接定位到缺陷或错误的具体位置。
用静态测试来进行代码检查、静态结构分析。
动态测试
必须生成测试数据来运行被测试程序,取得程序运行的真实情况、动态情况,进而进行分析
测试质量依赖于测试数据
生成测试数据、分析测试结果的工作量大,使开展测试工作费时、费力、费人
代码跟踪
静态测试------代码检查
目的
确保代码编程标准有效的被执行
提高代码质量,减轻动态测试负担
提高代码可重复使用,降低项目风险与经费
增加程序的可理解性,降低维护成本
方式
桌面检查(由开发人员来检查代码的正确性)
人工走查(由测试人员根据程序相关文档进行检查)
代码审查(编译系统)