此作业要求参见:https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11242
老四修复后代码已上传地址:https://e.coding.net/zhangbj/laosiwf/laosiWf.git
本人修复后代码已上传地址:https://e.coding.net/zhangbj/wf/wf.git
一、要求1 bug计分。阅读教材第298页,发布bug报告。
老四(花名)同学bug报告
bug1:
(1)bug标题
同学的程序单词统计输出规范与题目要求不一致
(2)bug测试过程
①测试环境:win10
②准备工作:git clone同学的代码;新建文件bugTest文件,文件内容为:My English is very very pool.
③测试步骤:启动控制台,输入wf -s bugTest.txt
④运行结果如下:
⑤期待结果如下:
(3)bug内容
①统计单词数应为 total 数量 words,少了words。
②单词格式不对,不应该有冒号。
bug2:
(1)bug标题:单词切分有误。
(2)bug测试过程: 同上
(3)bug内容:未区分标点,如上测试单词应为“pool”,而不是“pool.”。
bug3:
(1)bug标题
同学代码,对文件名含有空格时,处理不当
(2)bug测试过程
①测试环境:win10
②拷贝文件The Boy Electrician.txt 文件
③测试步骤:启动控制台,输入wf The Boy Electrician
④运行结果如下:
⑤期待结果如下:
(3)bug内容:对文件名含有空格时,处理不当,未能拼接文件名
bug4:
(1)bug标题:对文件夹内文件进行单词统计有误
(2)bug测试过程
①测试环境:win10
②新建books文件夹,拷贝文件A BOY'S TRIP.txt 文件,A Year With A Whaler.txt 文件至此文件夹
③测试步骤:启动控制台,输入wf books
④运行结果如下:
⑤期待结果如下:
(3)bug内容:未对输入的文件夹进行识别是否是文件夹,还是文件,未能对文件夹中的文件进行处理
bug5:
(1)bug标题
同学代码,未对文件取前十个单词进行输出
(2)bug测试过程
①测试环境:win10
②拷贝文件test.txt 文件,内容如下
③测试步骤:启动控制台,输入wf test
④运行结果如下:
⑤期待结果如下:
(3)bug内容:未对文件取前十个单词进行输出,而是进行全部输出
二、要求2 记录所有为你的代码找到的bug,合并相同的bug,亲自重现bug现象,发布bug报告。(自己找的自己代码bug)
bug1:
(1)bug标题
未考虑第十个单词后出现与第十个单词相同单词字母数量的情况
(2)bug测试过程
①测试环境:win10
②测试步骤:启动控制台,输入wf test
③运行结果如下:
④期待结果如下:
bug2:
(1)bug标题
单词切分未考虑特殊字符的情况
(2)bug测试过程
①测试环境:win10
②测试步骤:启动控制台,testDouble.txt文件内容为下,输入wf testDouble
③运行结果如下:
④期待结果如下:
(3)bug内容:单词切分未考虑特殊字符的情况。
bug3:
(1)bug标题:java程序,未上传jre环境
(2)bug测试过程
①测试环境:win10
②测试步骤:启动控制台,无环境可能出错
(3)bug内容:在通过exe4j将jar文件转为exe文件时,虽过程中增加了jar,但由于保险起见,需要上传jre环境。
三、要求3 修改bug。根据自己和其他同学提交的bug报告,修改自己代码的bug,或clone其他任意同学的代码,另建git,在此git中修改这位同学的bug。 (10分)
要求 修改任意同学 (含自己)的bug至少5处。修改后要通过测试,证实bug已修正 (注意,此处遗漏了证实未引入新的bug) ,给出测试报告。
bug1:(自己代码)
(1)bug内容:未考虑第十个单词后出现与第十个单词相同单词字母数量的情况(自己代码)
(2)bug情况:已修改
(3)bug修复后截图:
(4)修复代码:
for (Map.Entry s : list) { if(i >= top && word_num == s.getKey().toString().length()) break; if(wordNum != 0){ if(s.getKey().toString().length() == wordNum){ i++; System.out.println(s.getKey()+" "+s.getValue()); } }else{ i++; System.out.println(s.getKey()+" "+s.getValue()); } word_num = s.getKey().toString().length(); }
bug2:(自己代码)
(1)bug内容:单词切分未考虑特殊字符的情况
(2)bug情况:已修改
(3)bug修复后截图:
(4)修复代码:
content = content.replaceAll("[!@#$%^&*()`,./;:"<>`?...“”]", " ");//替换标点 content = content.replaceAll(" ", " ");//替换换行符 content = content.replaceAll("[\s+]", " ");//替换多余空格 String words[] = content.split(" ");
bug3:(自己代码)
(1)bug内容:未上传jre环境
(2)bug情况:已修改
(3)bug修复后截图:
bug4:(老四同学代码)
(1)bug内容:
①统计单词数应为 total 数量 words,少了words。
②单词格式不对,不应该有冒号。
(2)bug情况:已修复
(3)修复后截图:
bug5:(老四同学代码)
(1)bug内容:单词切分有误,未区分标点
(2)bug情况: 已修复
(3)修复后截图: