软件测试第三次作业-WordCount

Wordcount

一、开头:

(1)合作者:201631062509,201631062609

(2)代码地址:https://gitee.com/zhangyangjing/learngit/blob/master/wordcount.jar

(3)本次作业的链接地址:https://edu.cnblogs.com/campus/xnsy/Test/homework/2203

二、正文:

(1)互审代码情况

模块:

模块1:输入 -c 获得当前文件字符数

模块2:输入 -w 获得当前文件单词数

模块3: 输入 -l 获得当前文件行数

模块4:输入 -e 获得当前文件所有信息

扫描二维码关注公众号,回复: 3663186 查看本文章

模块5:输入 -s 遍历当前文件夹下所有文件的信息

模块6:输入 -x:end结束

完成情况:

1.基本功能(完成)

统计文件的字符数(实现)

统计文件的单词数(实现)

统计文件的行数(实现)

2.拓展功能(完成)

递归处理目录下符合类型的文件(实现)

显示代码行、空行和注释行的行数(实现)

3.高级功能(未完成)

发现的问题:自己还是实现了大部分的功能,但是因为是初学,所以在有些地方还是会出一些错,而搭档的代码相对我来说就感觉更加完善,也没有较大的错误,就只有一些比如变量命名过于随意等小问题,最后整合的时候相对进行了处理。

(2)静态代码检查情况

输入 -c 获得当前文件字符数

 

输入 -w 获得当前文件单词数

 

输入 -l 获得当前文件行数

 

输入 -e 获得当前文件所有信息

 

输入 -s 遍历当前文件夹下所有文件的信息

 

输入 -x:end结束

等价类:

有效等价类

(1)字符串(-c,-w,-l,-e )+文件路径

(2)字符串 -s + 文件夹路径

(3)字符串 -x + end

无效等价类

(4)数字

(5)空格

(6)字符串

(7)其他字符串 + 文件路径

(8)文件路径

(9)文件夹路径

测试用例:

测试用例  

覆盖等价类

运行结果

-c D:\测试\ wordCount.docx

(1)

有效

-w D:\测试\ wordCount.docx 

(1)

有效

-l D:\测试\ wordCount.docx 

(1)

有效

-e D:\测试\ wordCount.docx

(1)

有效

-s D:\WeChat

(2)

有效

-x end    

(3)

有效

201631062509

(4)

无效

        (空格)

(5)

无效

Yg

(6)

无效

Yg D:\测试\ wordCount.docx

(7)

无效

D:\测试\ wordCount.docx

(8)

无效

D:\WeChat

(9)

无效

(3)单元测试情况

单元测试采用Junit5作为测试工具,首先在网上找到junit的包然后将其导入到项目中,建立各个模块的测试@text包

 

在进行单元测试时

 

发生下列情况

 

这个情况是因为我们测试的模块是含参数的,要进行Junit5参数化测试,

步骤如下

JUnit参数化测试的五个步骤:

1.为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized。

2.为测试类声明几个变量,分别用于存放期望值和测试所用数据。

3.为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。

4.为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为 java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。

5.编写测试方法,使用定义的变量作为参数进行测试。

(4)性能测试和优化

性能测试工具选择JProfiler。JProfiler很容易安装,并且通过向导,你可以选择应用服务器用来运行应用程序。不得不选择使用JPofiler应用服务器的主目录,以及向导生成的一个单独的启动脚本。然后运行服务器。在监听会话的过程中,它会提供几个选项,它可以记录内存的使用和CPU的使用率。在查看CPU使用率的同时,可以看到执行路径。这让我看到应用程序大部分时间都花在请求上。我们可以将IntelliJ插件安装到IDE上,那么运行JProfiler会更加便利。

三、实验心得

    因为自己是初学JAVA,想尝试用JAVA写代码,刚好搭档也说JAVA比较简单实现。在一开始分开写代码的时候,自己会遇到一些问题,通过查阅资料那些方式算初步解决了问题。然后在代码互审的时候,就看了搭档的代码,比自己的要完善些,基本就只有一些变量命名比较随意简单这种错误,把代码整合后也出现了一些问题,但是在我们共同努力下解决了。单元测试我们选择了Junit5,但是在测试时出现了一些错误,最后发现是因为我们的测试模块是含参数的,需要进行Junit参数化测试。性能测试工具我们选择了JProfiler,还安装了IntelliJ插件,使得运行Jprofiler运行变得更加便利。

猜你喜欢

转载自www.cnblogs.com/ygpsy-831/p/9826904.html