博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BugBugBugBugBugBugBugBugBugBugBugBugBugBugBug
阅读量:4328 次
发布时间:2019-06-06

本文共 1419 字,大约阅读时间需要 4 分钟。

单元测试

? 211606335  吴沂章     ? 211606318  林锃寒

附一张至诚的朝阳美照(❤ ω ❤)

1472244-20180930100655129-141341112.jpg

设计单元测试的思路

  • 对每一个方法的代码块进行测试,返回测试结果并和预期结果进行比对

  • 对源代码进行相应的重构,以适应测试代码的调用,且不影响源代码的正常运行

构造测试数据的思路

  • 通过assertEquals进行对比,可以得出测试是否成功
  • 测试要调用的方法需为public类型,否则无法测试
  • 如需调用源代码的全局变量需要将其修改为public类型
@Test    public void testAdd() {                assertEquals(4, new MathExam6335().add(2,2,1));     }        @Test    public void testSub_0() {                assertEquals(2, new MathExam6335().sub(2,4,1));     }    @Test    public void testSub_1() {        assertEquals(0, new MathExam6335().sub(2,2,1));    }    @Test    public void testMul_0() {        assertEquals(4, new MathExam6335().mul(2,2,1));    }        @Test    public void testMul_1() {        assertEquals(0, new MathExam6335().mul(0,2,1));    }    @Test    public void testDiv_0() {         assertEquals("1", new MathExam6335().div(3,3,1));    }        @Test    public void testDiv_1() {        assertEquals("0", new MathExam6335().div(0,3,1));    }        @Test    public void testDiv_3() {        assertEquals("1...1", new MathExam6335().div(3,2,1));    }
  • 测试代码的覆盖率截图

1472244-20180930093525997-746204544.jpg

结构优化

UML类图

1472244-20180930093546018-1155772787.jpg

程序流程图

1472244-20180930093556707-1582242319.jpg

重构解析

  • 重构了3年级题目生成方法中 操作数操作符 的随机生成

  • 在代码中随机生成 操作数操作符 的地方很多,有很大的资源浪费,重构处这两处方法可以很好的改善代码的重复率

  • 重构后方法的作用:
    • 操作符——operator()
      • 返回一个随机符号
    • 操作数——operand()
      • 返回一个随机数字

性能调优

优化前效能分析截图

1472244-20180930093619194-1821215172.jpg

性能瓶颈

  • 代码冗余,繁杂
  • 代码内的个方法块互相依赖性较高,不利于以后扩展

优化方案

  • 将重复的代码重构成一个方法,减少资源重复
  • 将代码块重新封装,减少依赖性

优化后效能分析截图

1472244-20180930093627287-34084880.jpg

总结

  • 感觉自己腰间盘突出了,至诚的朝阳好好看啊,我要睡了,晚安?

转载于:https://www.cnblogs.com/wuyiz/p/9728027.html

你可能感兴趣的文章
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
CTP2交易所成交回报
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>
CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
查看>>
使用正确的姿势跨域
查看>>
AccountManager教程
查看>>
Android学习笔记(十一)——从意图返回结果
查看>>
算法导论笔记(四)算法分析常用符号
查看>>
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>
亿级曝光品牌视频的幕后设定
查看>>
ARPA
查看>>