本文主要是介绍测试优先编程总结——软件构造,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
• 开始
○ 残留缺陷率: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
• 自动化测试
这篇关于测试优先编程总结——软件构造的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!