此功能要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/7627
要求一:bug计分
一.功能一的bug
1.
(1)bug标题:徐珊珊同学的功能一二三均没有在操作系统控制台执行程序和读取参数,而是利用开发工具的控制台进行的操作。
(2)内容:
测试环境:Win7 64位操作系统
准备工作:git clone 徐珊珊同学代码
测试步骤:进入徐珊珊同学程序并启动控制台
运行结果:
期待结果:通过Windows cmd.exe控制台启动exe程序,并传递参数。
运行结果和期待结果差异:此部分为设计缺陷,需要将.c程序转为.exe程序执行
(3)佐证材料:
运行截图:
spec条款:
2.
(1)bug标题:王可非同学功能一未实现。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone王可非同学代码
测试的步骤:进入王可非同学程序并启动控制台
运行结果:
期待结果:
运行结果与期待结果的差异:并未显示单词总数和每个单词的数量。
(3)佐证材料:
spec条款:
小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键
盘在控制台下输入命令。
二.功能二的bug
1.
(1)bug标题:王可非同学功能二未按题目要求输入。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone王可非同学代码
测试的步骤:进入王可非同学程序并启动控制台
运行结果:
如果仅输入文件名得不到结果。
期待结果:
运行结果与期待结果的差异:
题目要求仅输入文件名,该同学加了后缀名。
(3)佐证材料:
spec条款:
2.
(1)bug标题:徐珊珊同学在开发工具控制台情况下功能二也未实现。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone徐珊珊同学代码
测试的步骤:进入徐珊珊同学程序并启动控制台
运行结果:结果显示错误。
期待结果:
(3)佐证材料
spec条款
3.
(1)bug标题:孙晓宇同学功能二出现编码方式错误。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone孙晓宇同学代码
测试的步骤:进入孙晓宇同学程序并启动控制台 。
运行结果:未能实现功能,出现unicodeDecodeerror。
期待结果:
运行结果与期待结果的差异:出现编码错误,未能实现功能。
(3)佐证材料:
spec:
三.功能三的bug
1.
(1)bug标题:题目仅要求输出文件名,孙晓宇输出格式错误。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone孙晓宇同学代码,输入wf folder
测试的步骤:进入孙晓宇同学程序并启动控制台
运行结果:
期待的结果:
运行结果与期待结果间的差异:输出文件夹的文件时,应该仅输出文件名,不应该加后缀名。
(3)佐证材料
运行截图:
spec条款:
2.
(1)bug标题:孙晓宇功能三目录下的文件获取失败。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone孙晓宇同学代码,输入wf folder
测试的步骤:进入孙晓宇同学程序并启动控制台
运行结果:
期待结果:
运行结果与期待结果差异:仅能获取文件目录下的一个文件,另一个获取失败。
(3)佐证材料
运行截图:
spec条款:
要求二:属于个人bug报告
1.
(1)bug标题:功能一输出形式错误。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone本人代码
测试的步骤:进入程序并启动控制台
运行结果:
期待结果:
运行结果与期待结果的差异:
功能一输出总数时后面不应有words,功能二输出时才有。
(3)佐证材料:
2.
(1)bug标题:统计字数不准。
(2)bug内容
测试环境:Win7 64位操作系统
准备工作:git clone本人代码
测试的步骤:进入程序并启动控制台
运行结果:
期待结果:99
运行结果和期待结果的差异:正则表达式没使用正确。
要求三:修改bug
1.修改本人功能一和功能二输出形式的bug
将功能一和功能二的输出分开
def jisuanTotal(word): user_counters=Counter(word) total=0 for user_counter in user_counters: total+=1 if sys.argv[1]=='-s': print("total %d "%total) else: print("total %d words "%total) lsts=user_counters.most_common(10) #most_common()用来实现Top 10的功能,返回一个列表,列表元组提供频率前10的元素和次数 for lst in lsts: print("%s %d"%(lst[0],lst[1])) #将元素和计数显示出来
修改后截图
链接:https://e.coding.net/hahaa/lmy.git
2.修改本人计算字数错误的bug
修改了正则表达式
def word_list(filename): #实现功能一 with open(filename,encoding='utf-8') as f: #打开文件 content=f.read() #用方法read()读取文件的全部内容 words=re.findall(r'[a-z0-9^-]+',content.lower())
修改后截图
链接:https://e.coding.net/hahaa/lmy.git
3.修改孙晓宇功能二的bug
在打开文件的时候加上"encoding=utf-8"
def rd_file(xgc): try: f = open(xgc, 'r',encoding='utf-8') except IOError as s: print(s) return None bf = f.read() f.close() stat(bf)
修改后的截图:
链接:https://e.coding.net/hahaa/sxy.git
4.修改孙晓宇功能三的bug
文件夹的文件出现问题。还是修改了编码方式。
修改后截图:
链接:https://e.coding.net/hahaa/sxy.git
5.修改王可非功能三文件输出多了文件后缀名的问题
修改截图:
def read(filename): if os.path.isfile(filename): with open(filename, encoding='utf-8') as f: lines = f.read().lower() statistics(lines) elif os.path.isdir(filename): dirs = os.listdir(filename) for txt in dirs: with open(filename+'/'+txt, encoding='utf-8') as f: lines = f.read().lower() print(os.path.splitext(txt)[0]) statistics(lines) print('---------------------------------------------')
链接:https://e.coding.net/hahaa/wkf.git