测试与优化

测试与优化

一.单元测试

1. 设计思路

  • 分析自己的程序,都有哪些输出情况,针对每种情况设计测试代码;

  • 首先找出有返回值的进行测试,在判断没有返回值的都是什么问题;

2. 例子代码

public class MathExamTest {

	@Test
	public void testCalculate1() {
		asssertEquals(5, new MathExam().Calculate(8-3));
	}

	@Test
	public void testCalculate2() {
		assertEquals(28, new MathExam().Calculate(20+3*3-1));
		
	}

}

3. 测试要求

  • 在测试中必须使用@Test修饰

  • 必须使用public void进行修饰,不能带任何参数

  • 测试类的包应该和被测试类保持一致

  • 测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

4. 单元测试覆盖率截图

二.结构优化

1.UML类图

2.程序运行流程图

3.重构

  • 重构的部分

    重构了关于两个数字的计算和判断;
    将生成式子的类从原先类中提取出

  • 重构的原因

    在原先代码里关于数字的计算判断大量重复,所以我将它生成为一个方法类与生成式子的类合并;
    为了让每个类的模块与功能都更加精准,专门生成个类来生成式子以及判断

  • 重构后模块功能

    MathExam类(主类,自身负责生成和写入文件,以及调用其它方法类来生成式子);
    Calculate类(负责三年级式子,转成中缀表达式以及后缀表达式求和)

三.性能调优

1.性能瓶颈

  • 代码中存在着重复代码,有些代码无法有效的实现功能

2.优化方案

  • 进行了一定量的代码缩减提取,删减某些无用或者重复的代码

3.性能调优后

  • 优化后效能分析工具的结果截图

posted on 2018-09-30 11:31  CHENZHENNNN  阅读(154)  评论(0编辑  收藏  举报

导航