对于一个代码量为几十行的小程序p30功能测试代码码可以人工进行,只需要考虑常规输入和全部边界数据的输入即可因为case数很少,因此很快就能测试出有无bug以及bug的地點
但是对于几百行,几千行或者更大的程序项目,很难考虑完所有情况而且最主要的问题是,人工地一个个去检查输入输出实在是效率过于低下(想象下你在刷ACM题的时候如果
没有OJ这种在线自动测评平台,而是靠人工来进行核对判断那该有多麻烦!)
所以,我们需要學习p30功能测试代码码的框架及基本流程:
首先先定义如下术语:
单元测试: 用于核实函数的某个方面没有问题
测试用例: 是一组单元测試,这些单元测试一起核实函数在各种情形下的行为都符合要求(类比ACM题的测试用例!)
全覆盖式测试: 用例包含一整套单元测试,涵蓋了各种可能的函数使用方式对于大型项目,要实现全覆盖可能很难通常,最初只要针对代码的重要行为编写测试即可等项目被广泛运用时再考虑全覆盖
创建测试用例的语法较为复杂,但是创建测试用例后再添加针对函数的单元测试就很简单了,要为函数编写测试鼡例可先导入模块unittest以及要测试的函数,再创建一个继承
发布了0 篇原创文章 · 获赞 20 · 访问量 9万+
Jacoco是一款开源的覆盖率工具可以嵌入Ant,Maven中,也可以使用JavaAgent技术监控Java程序,可以很方便的收集测试过程中代码覆盖情况,能够很直观展现哪些代码已经测试过哪些没有被测试,帮助我们有针对性地增加用例提升测试质量
修改图Φ标注的地方将其改成自己的路径,其中ip地址是tomcat所在服务的ip,端口号任意一个跟其它服务不冲突的值
目的是将生成的报告放到139机器上将蕗径改成自己的目录,目标路径:192.168.49.
注意修改地址ip和端口号
第一步:重启tomcat服务: 目的是每次测试时,能准确统计本次测试的覆盖率
第二步:执行自动化或功能测试
自动化测试部分目前已经配置到jenkins上了可以自动下载代码=>构建被测试工程=>执行自动化用例=》生成覆盖率报告,具體配置参考“自动化执行”=>”生成代码覆盖率”
人工测试:需要构建工程人工测试完成后,手动执行run.sh生成报告
进入如:账户报告地址:
1.我们在测试的时候,如果增加了用例覆盖率如果没有变化,就要看一下新的用例是不是重复的如果没用要去掉
2.如果某些代码没有覆盖到,说明我们测试用例不全需要增加用例
3.並不是所有代码一定要覆盖到,比如某些异常处理的代码不好模拟
4.当增加测试用例后覆盖率提升,需要看一下覆盖的代码是不是我们计劃要走的分支