测试与优化

无题

211606356 陈宇 211606333温志铭

1.单元测试

1.为了使以后代码出错方便找出错误,要对每个方法的方方面面进行单元测试,以保证他的准确性
2.使用Junit插件对对代码进行单元测试
3.对每个传入的参数进行测试,测试每种可能的情况,并让预期值等于实际值
4.单元测试代码

@Test
void testParseSuffixExpression() {
// 测试中序转后续
List < String > test=new ArrayList < String > ();
test.add("1");
test.add("+");
test.add("2");
test.add("-");
test.add("3");
test.add("×");
test.add("4");
test.add("÷");
test.add("5");
List < String > answer=new ArrayList < String > ();
answer.add("1");
answer.add("2");
answer.add("+");
answer.add("3");
answer.add("4");
answer.add("×");
answer.add("5");
answer.add("÷");
answer.add("-");
assertEquals(answer, MathExam6356.parseSuffixExpression(test));
}// 模拟生成一个1+2—3×4÷5的中序表达式,经过ParseSuffixExpression()方法生成12+34×5÷-的后序表达式

5.测试覆盖率截图
1473369-20180930100727532-1043321774.png

2.结构优化(重构)

1.重构了init().方法,原先的init()方法太过复杂,重构后只对gread 和 n 进行初始化。
2.让gradeone();greadtwo();方法支持逆波兰,未重构前答案直接计算,重构后使用answer()方法计算答案,方便单元测试减少不必要的数组。
3.UML类图
1473369-20180930101912965-1178226755.png
1473369-20180930101924372-1890918111.png
1473369-20180930102009437-534803260.png
4.运行流程图
1473369-20180930102028151-1712415024.png

3.性能调优

1优化前截图
1473369-20180930100802738-2045597070.png
2.优化瓶颈
对于simpleDateFormat,由于智商有限无法优化,只能优化字符串匹配
3.优化后截图
1473369-20180930100817756-2035978366.jpg

总结

这次作业个人感觉难点在于代码重构后出现的错误,和工具的使用,认识到自己的动手学习能力不足,面对全是英文的工具显得无所适从。很多同学都在deadline前通宵完成,但是!通宵请不要影响他人,特别是昨天大声喧哗,大力关门的人。

转载于:https://www.cnblogs.com/akiyamamio/p/9728290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值