单元测试基础李萌2017年10月计算机科学与技术学院主题测试流程流程图测试用例设计单元测试缺陷单执行情况表回归测试基本概念计算机科学与技术学院传统定义20世纪70年代Smalltalk引入单元测试,单元通常指的是一个方法或函数作用提高代码质量深入理解类或方法的功能需求定义单元测试是一段代码调用另外一段代码,检验一些假设的正确性如果假设的结果错误,测试失败计算机科学与技术学院优秀单元测试定义单元测试(UnitTest)是一段自动化的代码,用来调用被测试的方法或类,而后验证基于该方法或类的逻辑行为的一些假设单元测试几乎总是用单元测试框架来写的。它写起来很顺手,运行起来不费时。它是全自动的、可信赖的、可读性强的、可维护的不包含任何逻辑的代码,通常不需要测试计算机科学与技术学院基本思路结束条件测试用例测试脚本驱动程序数据采集结果分析计算机科学与技术学院待测类计算机科学与技术学院测试类计算机科学与技术学院控制台程序计算机科学与技术学院ShowProblem计算机科学与技术学院基于单元测试框架的测试流程计算机科学与技术学院单元测试流程流程图测试用例测试脚本缺陷报告回归测试计算机科学与技术学院账单计算问题当账单上的一次性消费数额(简称消费额)为负数或零时,返回负数表示消费数额无效;当消费数在800元到1800元之间时(不含800元,但包含1800元),为9折;当消费额在1800元到4800元之间时(含4800元),为8折;当消费额在4800元以上时(不含4800元),一律为7折;当消费额无效时,程序应提示消费数额无效计算机科学与技术学院源码v1计算机科学与技术学院条件分析T1:amount=800T2:amount800&&amount=1800T3:amount1800&&amount=4800T4:amount4800T5:amount=0计算机科学与技术学院用例设计—对判定的测试条件覆盖设计测试用例时应保证程序中每个复合判定表达式中,每个简单判定条件的取真和取假情况至少执行一次至少6个用例计算机科学与技术学院流图计算机科学与技术学院用例设计—对路径的测试判定节点法:流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目本例的环形复杂度为6()1VGP计算机科学与技术学院基本路径L1:{0,1,6,11}L2:{0,1,2,7,11}L3:{0,1,2,3,8,11}L4:{0,1,2,3,4,9,11}L5:{0,1,2,3,4,5,10,11}L6:{0,1,2,3,4,5,11}计算机科学与技术学院测试用例测试用例编号输入数据期望结果路径CalculateRevenue_AmountEqual400_Return400amount=400400L1CalculateRevenue_AmountEqual1300_Return1170amount=13001170L2CalculateRevenue_AmountEqual3300_Return2640amount=33002640L3CalculateRevenue_AmountEqual8000_Return5600amount=80005600L4CalculateRevenue_AmountEqualZero_ReturnNegativeOneamount=0-1L5CalculateRevenue_AmountEqualNegativeTen_ReturnNegativeOneamount=-10-1L6计算机科学与技术学院单元测试用例设计说明书文档展示流程图判定分析路径分析用例设计计算机科学与技术学院缺陷单计算机科学与技术学院执行情况表计算机科学与技术学院重构代码计算机科学与技术学院回归测试计算机科学与技术学院基本路径L1:{0,1,6,10}L2:{0,1,2,7,10}L3:{0,1,2,3,8,10}L4:{0,1,2,3,4,9,10}L5:{0,1,2,3,4,5,10}计算机科学与技术学院测试用例计算机科学与技术学院缺陷单计算机科学与技术学院执行情况表计算机科学与技术学院作业为RevenueAccount设计单元测试提交流程图单元测试设计说明书缺陷单单元测试代码执行情况表