课程目标
- 认可测试的价值,测试优先原则
- 学会等价划分和边界值分析方法为模块设计测试用例
- 编写JUnit测试程序,加Testing Strategy
- 使用EclEmma工具度量测试用例对代码“覆盖度”
课堂问题
分而知之考虑,buildtime
单元测试:测试单个模块,保证每一个模块的正确性,测试类,方法等
集成测试:模块之间的关系不可避免,多个模块测试
系统测试:非软件部分测试,网络接口等,一起测试
验收测试:用户主导,甲方试用
回归测试:程序员改了一个部分,前面所有的测试都不算数,全部重新测试。回归测试耗费时间比较多
testing发现问题,然后debug找具体问题,静态测试build阶段进行
黑盒测试基于spec,白盒测试基于code,我们掌握基于黑盒的就行了
程序所有可能情况都跑一边做不到,时间上不可行,即使正确性和健壮性很重要,但也要和时间做折中
程序员要学会对自己的代码更暴力些qaq
import导入Junit的某些类
参数之间的约束也可以做等价类划分
越大越好,但需要和测试时间折中
持续集成
持续交付
答案:C
解:两个A的对象是否相等,等价性判断方法
答案:B
测试用量大的时候是有优先级的
答案:A B C D
答案:A D E
黑盒测试不管写不写好代码
答案:D,和写的先后顺序无关
答案:B C(覆盖度不仅仅指代码行的覆盖度,如果是路径覆盖,就不对了)D指的就是白盒测试
一个代码前面加上@override,代表重写
异常检测使用throw还是try catch?
throw只管报告错误,不管处理
是自定义异常类好啊,还是使用Java内部自定义的异常类呢?
最好使用内部类,增强复用性