zoukankan      html  css  js  c++  java
  • python实现WordCount(第三次作业)

     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代码检查与优化

     

     

  • 相关阅读:
    JVM调优总结(四)-垃圾回收面临的问题
    JVM调优总结(三)-基本垃圾回收算法
    JVM调优总结(二)-一些概念
    Java8 Lambda表达式教程
    Java8 Lambda表达式教程
    Java8 Lambda表达式教程
    JVM调优总结(一)-- 一些概念
    Hibernate 3中如何获得库表所有字段的名称
    easyUI-datagrid带有工具栏和分页器的数据网格
    easyui-tabs
  • 原文地址:https://www.cnblogs.com/c1e4r/p/9826376.html
Copyright © 2011-2022 走看看