0x00 注明

合作者:201631062315 201631062310

代码地址:https://gitee.com/c1e4r/word-count2

作业地址:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187

0x01 互审代码情况

  在完成本次作业的期间,同一位同学进行了合作,大概就是相互之间测试对方的程序,已达到软件测试的目的。

  发现的问题:

    1.在进行文件操作的时候报错,经分析报错后发现是在打开某一文件时未统一编码规范。文件是gbk编码,在打开文件的时候要转化为utf-8。

    2.对代码的缩进,一些变量定义和空间进行了修改。

0x02 静态代码检查情况

  1.使用的工具:pyflakes

    PyChecker是Python代码的静态分析工具,它能够帮助查找Python代码的bug,而且能够对代码的复杂度和格式等提出警告。

  2.检查的模块以及检查结果

    检查模块:所有

    检查结果:

  3.代码存在的问题和改进的方法

  由于代码是经过调试和修改后才检查的,且代码量比较少,所以检查的时候并不存在多大的问题。

0x03 单元测试

  1.设计测试用例方法:等价类划分法

  2.测试的模块以及思路

    2.1测试所有模块功能:

      2.1.1 测试思路

输入 有效等价类 无效等价类

读取文件命令参数

(1)-l

(2)-w

(3)-c

(4)-c -w

(5)-l -c

(6)-w -c

(7)-l -w -c

(8)空

(9)非-l -w -o的任意其他参数

结果写入文件命令参数

(10)-o

(11)非-o的其他命令
文件名 (12)源文件名 (13)非文件名

     

      

      一共设计四个测试用例:

        1.wc.py -c -w -l -e -a  -o output.txt test.txt 覆盖①②③④⑤⑥⑦⑧⑩⑫

        2.wc.py -f -t test.txt,测试⑨;

        3.wc.py -l -w -c test.txt -h output.txt,测试⑪;

        4.wc.py -l -w -c dir,测试⑬

      2.1.2 覆盖情况:语句覆盖,判定覆盖,条件覆盖

    2.2 附加高级功能测试

      2.2.1 等价类划分

输入 有效等价类 无效等价类
遍历文件夹命令输入 (1)-s (2) 非-s 其他任意参数
停用表 (3)-e (4) 非-e其他任意参数

  

        共设计三个个测试用例: 

  1. python3 wc.py -s -c -w -l -a -e stopList.txt -o output.txt *.py,覆盖(1)(3) 
  2. python3 wc.py -s *.py 测试(2)
  3. python3 wc.py -l test.txt,测试(4)

     2.2.2 语句覆盖,条件覆盖

3.测试情况

  

0x04 性能测试和优化

  1.测试工具的选择:Locust

  1.1 安装方法 :

    python3中: python3 -m pip install locust 

    安装成功后终端输入locust --help显示帮助信息表示安装成功

  2.测试结果

    由于代码量不是很大,且不存在数据库连接操作和联网的交互操作,所以测试性能结果较优。

0x05 总结以及参考文章

  通过本次的作业,初步认识到了到一些代码检查工具在对开发过程中的重要性,也体会到了在软件开发过程中必须保持严谨的态度,也要有一定的“大局观念”,才能在方便在软件测试时对软件的功能进行细化的测试。

  同时合作也是至关重要的一环,两个人相互之间的思考方式不同,逻辑思维也不同,这样审查代码也能发现一些代码上的逻辑错误,减少BUG的存在。其次代码的规范和风格极其重要,良好的编码习惯不仅会大大地提升整个程序源码的可读性,同时也会减少后期维护的成本,所以要在平时的练习中养成良好的编码习惯。

  参考文章:

  1. Locust安装和使用
  2. Pyflakes的安装和使用
  3. WorldOcunt代码检查与优化

转载于:https://www.cnblogs.com/c1e4r/p/9826376.html

python实现WordCount(第三次作业)相关推荐

  1. 寒假Python第三天作业

    寒假Python第三天作业作业 1:计算器: 请输入两个数和一个符号,完成两个数的+ - * / % // ** a=float (input ("请输入第一个数 : ")) b= ...

  2. 东北大学oj平台python答案_东北大学大数据班R实训第三次作业

    title: "R实训第三次作业" output: html_notebook 1.通过读取文件death rate.csv获取数据保存到df中:简单分析数据,获取共 有数据多少条 ...

  3. 第三次作业-结对编程

    Github项目地址:https://github.com/WHYNOTEN/WordCount.git 合作同学作业地址:https://www.cnblogs.com/Mchandu/p/1065 ...

  4. 2021年人工神经网络第三次作业-第二题:遗传算法与人工神经网络-参考答案

    简 介: 给出了对于BP网络求解异或问题过程中,利用遗传算法完成网络演变的过程.所使用的遗传算法是最基本的遗传算法.利用遗传算法对于网络的系数进行演变,可以对网络系数初始化过程进行优化.对于不同的遗传 ...

  5. 【中文】【吴恩达课后编程作业】Course 5 - 序列模型 - 第三周作业 - 机器翻译与触发词检测

    [中文][吴恩达课后编程作业]Course 5 - 序列模型 - 第三周作业 - 机器翻译与触发词检测 上一篇:[课程5 - 第三周测验]※※※※※ [回到目录]※※※※※下一篇:无 致谢: 感谢@e ...

  6. python入门笔记——内置函数作业

    python入门笔记--内置函数作业 # 求三组连续自然数的和:求出1到10,20到30,35到45的三个和 sum1 = sum(range(1,11)) sum2 = sum(range(20,3 ...

  7. 【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第三周作业

    [中文][吴恩达课后编程作业]Course 2 - 改善深层神经网络 - 第三周作业 - TensorFlow入门 上一篇: [课程2 - 第三周测验]※※※※※ [回到目录]※※※※※下一篇: [课 ...

  8. 软工实践第三次作业-结对项目1

    软工实践第三次作业-结对项目1 简要目录: Step1 · 结对信息     成员信息     项目简介 Step2 · 项目信息     设计说明     原型模型 Step3 · 结对过程     ...

  9. ASE第三次作业——结对编程

    ASE第三次作业--结对编程 成员:张贺 杨涛 石恩升 github地址:https://github.com/ThomasMrY/ASE-project-MSRA 题目简介: 此次编程的题目是--统 ...

最新文章

  1. Deployment,configuration and management Microsoft Windows Server win2003 cluster
  2. Win7安装VC++6.0已知的兼容性问题的解决方法
  3. Session的异常
  4. android json转字符串数组,转换字符串到json数组出错
  5. spring-service.xml 模板
  6. mysql将最大金额加1000_Mysql数据库笔记
  7. mysql做wp网站_mysql做wp网站
  8. Excel——keil5内存数据进制转换
  9. echarts饼图解析html标签,如图,用了echarts页面为什么不识别html标签?
  10. 清华大学操作系统OS学习(十三)——死锁、进程通信、信号、管道、消息队列和共享内存
  11. Scala具体解释---------数组、元组、映射
  12. P2525 Uim的情人节礼物·其之壱
  13. ka电器表示什么意思_电气原理中,QS、FU、KM、KA、KI、KT、SB、SQ分别是什么电器元件的文字符号?...
  14. Vue使用百度分享,组件切换、销毁分享失效的解决办法
  15. 计算机图形学的反走样
  16. Win10 设备管理器一个USB设备描述符请求失败解决方法
  17. 不愧是大厂牛人!用Java实现象棋小游戏(附超详细,超长究极无敌代码)
  18. 502 问题怎么排查?
  19. MATLAB#183;提取图像中多个目标
  20. 无人驾驶-GPS地图采集使用说明

热门文章

  1. python下载大文件-使用请求在python中下载大文件
  2. python流程控制-详解Python流程控制语句
  3. python工程师薪资坑吗-完美起航-20201024——记录一下自己的前端工程师之路
  4. python基础语法合集-python常用语法合集
  5. 编程语言python特点-十种常用编程语言特点
  6. python培训深圳-深圳靠谱的Python培训
  7. python入门基础代码图-【01】Python基础入门 (全)
  8. 安装tensorflow-gpu2.0 报错:ERROR: Cannot uninstall 'wrapt'
  9. Linux中使用Linux的vim如何让代码高亮显示
  10. LeetCode Factorial Trailing Zeroes(计算阶乘结果尾部有几个0)