Java教程

测试优先编程总结——软件构造

本文主要是介绍测试优先编程总结——软件构造,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
• 开始
	○ 残留缺陷率:defects per 1000 lines of code
		§ 1-10 Typical Industry software
		§ 0.1-1 Java Library
		§ 0.01-0.1 NASA
	○ 测试等级
		§ 单元测试
		§ 集成测试
		§ 系统测试
	○ 静态测试与动态测试
		§ 不执行代码
		§ 执行代码,并且有测试用例
	○ 测试与调试
		§ 是否存在错误
		§ 识别根源,消除错误
	○ 白盒测试与黑盒测试
		§ 对程序内部代码结构
		§ 对程序外部表现行为
• 测试用例:输入+执行条件+期望结果
	○ 优良特性:最可能发现结果、不冗余重复、最有效、兼具简单与复杂
• 测试优先编程
	○ 先写规约,再写测试用例,最后写能通过测试用例的代码。
	○ 可以尽早发现设计问题
	○ 规约描述函数的行为
	○ 函数的规约提供参数的类型、返回值的类型、二者的约束与之间的联系。
• 单元测试
	○ 针对软件的 最小单元模型开展测试,隔离各个模块,容易定位错误和调试
	○ 考虑因素
		§ 模块接口
		§ 数据完整一致
		§ 所有语句都被执行到
		§ 边界条件
		§ 所有异常处理都被测试
• JUnit测试
	○ 测试方法前用@Test标注
	○ 使用assertXX(期望值,实际值)
• 根据规约选择测试用例
	○ 等价类划分
		§ 将被测函数的输入域划分为等价类, 从等价类中导出测试用例
		§ 针对每个输 入数据需要满足的约束条件,划分等价类
		§ 输入约束
			□ 限定数值范围
			□ 特定值
			□ 确定一组数值
			□ 布尔型输入
		§ 划分举例
			□ 正奇数
				® >0,<0,=0
				® 奇数偶数
				® 整数、非整数
	○ 输入域的边界
		§ 更易出错
	○ 覆盖划分的极端情况
		§ 笛卡尔积:全覆盖
		§ 覆盖每个取值至少一次即可
• 黑盒测试
	○ 检查代码功能,不关心内部细节
	○ 
• 白盒测试
	○ 考虑内部细节,根据程序路径设计测试用例
	○ 
	
	○ 对程序所有执行路径进行等价类划分
• 代码覆盖度
	○ 路径覆盖:测试效果最佳,难度最大
	○ 分支覆盖
	○ 语句覆盖
	○ EclEmma
• 自动化测试
这篇关于测试优先编程总结——软件构造的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!