WordCount 第三次作业

合作者:201631062508                201631062408

码云地址:https://gitee.com/lankb/WordCount

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


 

 一、项目要求

WordCount是一个计数的软件,它可以统计文本文件的字符数、单词数以及行数,还有一些拓展功能:包括遍历所有的文件、记录更复杂的数据(代码行/空行/注册行)、支持通配符(*,?)。本项目是使用c#编写的。

二、功能概述及psp

2.1.1 基本功能(完成)

统计test01.txt的字符数

统计test01.txt的单词数

统计test01.txt的行数

将结果输出到指定文件output.txt

2.1.2 扩展功能(未完成)

递归处理目录下符合条件的文件

返回更复杂的数据(代码行 / 空行 / 注释行)

停用词表,统计文件单词总数时,不统计该表中的单词

2.1.3 高级功能(未完成)

 

2.1.4psp表格

psp2.1 psp阶段

 估计耗时(分钟)

 实际耗时(分钟)
Planning 计划 60min 40min
 · Estimate · 估计这个任务需要多少时间 120min100min
Development 开发120min 120min
 · Analysis · 需求分析 (包括学习新技术) 180min 180min
 · Design Spec · 生成设计文档 120min 90min
 · Design Review · 设计复审 (和同事审核设计文档) 60min 50min
 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30min 30min
 · Design · 具体设计 60min 60min
 · Coding · 具体编码 120min 180min
 · Code Review · 代码复审30min 50min
 · Test · 测试(自我测试,修改代码,提交修改) 120min120min
Reporting 报告 60min30min
 · Test Report · 测试报告 30min 40min
 · Size Measurement · 计算工作量 30min 50min

 · Postmortem & ProcessImprovement Plan

 · 事后总结, 并提出过程改进计划 20min 20min
  合计 1160min1060minx
 
  

三、互审代码情况

(1)互审代码情况

已经实现WordCount基本功能,WordCount类比较简单,主要是判断指令中有哪些功能并获取文件然后传入参数。CountUtils类是功能类,包含字符计数、单词计数、行计数、代码行/空行/注释行计数等功能,相对复杂。

(2)静态代码检查情况

静态代码检查工具:SpotBugs

用SpotBugs进行静态代码检查,没有发现错误信息。

(3)性能测试和优化

使用的性能测试工具:JProfiler

JProfiler直觉式的GUI可以找到性能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问题。它让程序员对heap walker作资源回收器的root analysis,可以轻易找出内存漏失。通过性能测试,我们找出了一些内存消耗的代码并对其进行了优化,提升了代码执行性能。

四、测试用例

等价类划分法

输入

有效等价类

无效等价类

 

 

读取文件命令

-c

 

 

除了-c,-w,-l,-a之外的任何输入

-w

-l

-a

-s

基于等价类划分法的测试用例:

 

有效等价类测试:

C:\Users\10672\Desktop\WordCount

测试所有文件内容字符数

C:\Users\10672\Desktop\WordCount

测试所有文件内容单词数

C:\Users\10672\Desktop\WordCount

测试所有文件内容行数

C:\Users\10672\Desktop\WordCount

测试所有文件内容的代码行、注释行和空行

C:\Users\10672\Desktop\WordCount

测试遍历文件

无效等价类测试:

C:\Users\10672\Desktop\WordCount

type input error

 

五、单元执行结果

测试的文件内容

执行结果

 

六、总结与收获   

      在这次项目开发中,由于对工具测试较为陌生,我们选择较为简单的等价划分法测试,通过设置测试用例,检测代码是否有误。
通过此次实验,我认识到了自己在这方面的不足,希望以后还能有机会体验这种项目开发过程。经过这次wordCount的测试设计与实现,掌握了等价类划分等测试方法。了解了软件测试对于软件开发的重要性,测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。本次主要是对wordCount的单元测试,利用白盒测试法,在已经知道所测试的文件的内容,以及代码结构的基础上来进行的测试,主要是测试基本功能是否得到了实现以及一些逻辑分支是否正确,面对错误的边界值等,程序的主要处理方式。

 

转载于:https://www.cnblogs.com/lankb/p/9825588.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值