一.互审代码情况:
1.高级功能测试:
发现的问题:无法打开result.txt,output.txt(存储输出结果)等文件,经判断这些文件都是gbk编码,原程序未指定编码格式。
修改:指定为utf-8编码,并忽略读取特殊字符的编码错误。
2.待发现
二.静态代码检查情况
1.使用的静态代码工具:Pyflakes
1.1安装:pip installpyflakes
1.2使用:pyflakes *.py
1.3简单介绍:
封装了PyFlakes,Pep8,NedBatchelder’s McCabe script三个工具。Flake8通过启动单独的flake8脚本运行所有工具,它在一个Per文件中显示告警,合并到输出中。也增加一些特征:
1)包含这行文件将被忽略:#flake8: noqa
2)结尾包含#noqa注释的行将不发布告警
3)GIT和Mercurial钩子
4)McCabe复杂度检查器
5)可以通过flake8.extension入口点扩展
2.检查结果及改正方法(只能指定某个py文件)
2.1检查结果:
提示从tkinter这个库中导入了所有的文件,无法检测到未定义的名称(*)【此为正常提示,*是导入该库所有文件】,但是'tkinter.filedialog.askdirectory没有使用,然后其他都是正常提示。提示某个变量没有定义或是从tkinter中导入。
2.2改正方法:
可以忽略,或者不全导入,而是把需要的文件导入(文件太多,不建议)。
三.单元测试
1.测试基本功能模块:
2.测试扩展功能模块:
3.测试高级功能模块:
四.性能测试和优化
1.选择的性能测试工具:cProfile
1.1cProfile介绍:
(1)Profile自python2.5以来就是标准版Python解释器默认的性能分析器。
(2)其他版本的python,比如PyPy里没有cProfile的。
(3)cProfile是一种确定性分析器,只测量CPU时间,并不关心内存消耗和其他与内存相关联的信息。
1.2cProfile的使用:
python -m cProfile -o 输出参数 测试脚本 输入参数1 参数2......,如python -m cProfile -o result.txt test.py 1 2 3
2.
五.参考文章:
1.Python静态检查工具:https://blog.csdn.net/fan_hai_ping/article/details/41733817
2.cProfile的使用:https://blog.csdn.net/u010453363/article/details/78415553?utm_source=blogxgwz4