码迷,mamicode.com
首页 > 其他好文 > 详细

测试与优化bugbugbugbug

时间:2018-09-30 12:41:59      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:结构   代码优化   解析   程序   tor   操作符   覆盖   知识   uml类图   

单元测试

      ?? 211606318  林锃寒 
      ??211606335   吴沂章

附一张至诚的朝阳美照(? ω ?)
技术分享图片

设计单元测试的思路

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

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

构造测试数据的思路

  • 通过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));
    }
  • 测试代码的覆盖率截图

技术分享图片

结构优化

UML类图

技术分享图片

程序流程图

技术分享图片

重构解析

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

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

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

性能调优

优化前效能分析截图

技术分享图片

性能瓶颈

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

优化方案

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

优化后效能分析截图

技术分享图片

总结

  • 这次代码感觉自己有很多的知识点不会,导致代码优化有点困难,经过两天两夜的奋战,让我们看到了提交作业的希望(至诚的朝阳),对于自己来说,也算是学到了一点东西!??

测试与优化bugbugbugbug

标签:结构   代码优化   解析   程序   tor   操作符   覆盖   知识   uml类图   

原文地址:https://www.cnblogs.com/linzenghan/p/9728614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!