第三周作业测试与优化
测试与优化
211606326瞿煌人 211617246张竣淇
单元测试
1.设计思路
针对每个方法,对其可能出现的每种情况都进行测试
首先创建该类对象,然后调用该对象的某方法,最后比较结果是否符合预期
2.例子代码
String[] input = new String[] {"-n", "10", "-grade", "3"};
MathExam math = new MathExam();
Method method = math.getClass().getDeclaredMethod("checkInput", String[].class);
method.setAccessible(true);
boolean result = (boolean) method.invoke(math, (Object) input);
assertEquals(true, result);
该方法测试的是参数输入正常时的情况
由于MathExam类的方法都为私有方法,所以通过反射调用方法
遇到的问题
方法的参数为数组时,invoke()传参时要将数组转换成对象否则参数不匹配
对double类型进行assert比较时,要用assertEquals(double,double,double)这个方法,其中第三个参数是允许误差。
3.单元测试覆盖率
结构优化
1.UML类图
2.运行流程图
3.重构
重构了两个部分
isNumber()方法,判断字符串是否为数字,在nibolan()方法和calc()方法均有使用
cmpOper()方法,比较两个运算符的优先级,在nibolan()方法中频繁使用
性能调优
1.性能调优前
2.性能瓶颈
在表达式转换和计算时大量使用isNumber()方法判断字符串是否为数字
3.优化方案
改为用正则表达式进行判断
4.性能调优后
转载于:https://www.cnblogs.com/huangge/p/9727907.html
第三周作业测试与优化相关推荐
- 20189221 2018-2019-2 《密码与安全新技术专题》第三周作业
20189221 2018-2019-2 <密码与安全新技术专题>第三周作业 课程:<密码与安全新技术专题> 班级: 201892 姓名: 郭开世 学号:20189221 上课 ...
- 【中文】【吴恩达课后编程作业】Course 5 - 序列模型 - 第三周作业 - 机器翻译与触发词检测
[中文][吴恩达课后编程作业]Course 5 - 序列模型 - 第三周作业 - 机器翻译与触发词检测 上一篇:[课程5 - 第三周测验]※※※※※ [回到目录]※※※※※下一篇:无 致谢: 感谢@e ...
- 【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第三周作业
[中文][吴恩达课后编程作业]Course 2 - 改善深层神经网络 - 第三周作业 - TensorFlow入门 上一篇: [课程2 - 第三周测验]※※※※※ [回到目录]※※※※※下一篇: [课 ...
- 《密码与安全新技术专题》第三周作业
学号 2018-2019-2 <密码与安全新技术专题>第三周作业 课程:<密码与安全新技术专题> 班级: 92班 姓名:张宇翔 学号:20189211 上课教师:谢四江 上课日 ...
- 学号20189220 2018-2019-2 《密码与安全新技术专题》第三周作业
学号20189220 2018-2019-2 <密码与安全新技术专题>第三周作业 课程:<密码与安全新技术专题> 班级: 1892 姓名: 余超 学号:20189220 上课教 ...
- 2017-2018-1 JAVA实验站 第三周作业
2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...
- 20189200余超 2018-2019-2 移动平台应用开发实践第三周作业
2018-2019-2 移动平台应用开发实践第三周作业 核心类 基本类型的封装类 封装类: java语言认为一切皆对象.8个基本数据类型野应该具备对应的对象.通过封装类可以把8个基本类型的值封装对象进 ...
- 吴恩达深度学习-Course4第三周作业 yolo.h5文件读取错误解决方法
这个yolo.h5文件走了不少弯路呐,不过最后终于搞好了,现在把最详细的脱坑过程记录下来,希望小伙伴们少走些弯路. 最初的代码是从下面这个大佬博主的百度网盘下载的,但是h5文件无法读取.(22条消息) ...
- 2017-2018-1 Java演绎法 第三周 作业
团队任务:团队展示与选题 团队展示 队员学号及姓名 学号 姓名 主要负责工作 20162315 马军 日常统计,项目部分代码 20162316 刘诚昊 项目部分代码,代码质量测试 20162317 袁 ...
最新文章
- CNN 常用网络结构解析 1x1 卷积运算 示意图
- springMVC3学习(二)--ModelAndView对象
- Web页面布局方式小结
- OpenGL相机控制之二
- C/C++字节对齐总结
- 2019百度之星初赛1
- java 强制下线_【java】如何强制app端强制下线?
- 同步和原子性---多线程学习笔记(四)
- 前端学习(176):列表元素
- js防止双击事件触发单击事件
- 解决cmd中tomcat中文乱码问题
- 《个人信息安全规范》会让我们的信息更安全吗?
- 制作淘宝客微信公众号(一)
- 功能强大的在线网页编辑器
- cufflinks 绘图
- 统计学 计算机论文发表,数学科学学院博士生史册在统计学顶级期刊
《Annals of Statistics》上发表论文...
- 思科交换机-常用命令及配置
- source 命令解释
- 游戏建模师具体干什么!30岁后进入行业算不算晚?
- 通达oa mysql连接_安装通达OA后想使用其自带的Mysql数据库的解决方法