1. github项目地址:https://github.com/wwwwu/WordCount

2.PSP表格:

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 10  -

· Estimate

· 估计这个任务需要多少时间

 700 800

Development

开发

 600  700

· Analysis

· 需求分析 (包括学习新技术)

 60  50

· Design Spec

· 生成设计文档

 -  -

· Design Review

· 设计复审 (和同事审核设计文档)

 -  -

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 -  -

· Design

· 具体设计

 10  10

· Coding

· 具体编码

 500  600

· Code Review

· 代码复审

 -

· Test

· 测试(自我测试,修改代码,提交修改)

30   30

Reporting

报告

60   -

· Test Report

· 测试报告

 20  20

· Size Measurement

· 计算工作量

 -  -

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 10  10
 

3. 解题思路:

  看到题目要求后,对于基本功能,我首先考虑的是如何统计出字符数、单词数、行数,然后是读取文件、写入文件,最后再考虑参数解析。高级功能也是先思考统计行数的方法,再是递归处理文件和使用停用表。我觉得这个题目涉及到的知识还是很多的,所以也查了很多相关的资料。印象比较深的是参数解析,一开始我不知道args的使用方法,对于参数的输入无从下手,后来问了同学然后在网上搜索后才知道。

部分参考资料:

1. https://www.cnblogs.com/Berryxiong/p/6232373.html  空格分割字符串

2. http://lucien-zzy.iteye.com/blog/2001275 InputStreamReader和BufferedReader用法

3. https://www.cnblogs.com/renxiaoren/p/5220534.html file文件的读取和写入

4. https://www.cnblogs.com/xy-hong/p/7197725.html main函数里String[] args的使用

5. http://blog.csdn.net/sunkun2013/article/details/13167099 把java文件打包成jar文件以及转换成可执行文件exe

4.程序设计实现过程:

程序一共有一个类,三个方法。除了主方法分别是写入文件和读取文件,读取文件方法里包括了统计各种结果的功能。主方法里主要是进行参数解析,也包括停用表和处理同目录文件的功能。

5.代码说明:

注:递归读取同目录下文件参考了周志为同学的代码

参数解析:

                int i = 0;
int fc = 0,fo = 0,fw = 0,fl = 0,fs = 0,fe = 0,fa = 0;
//根据输入对有效参数的状态进行处理
while(args[i].equals("-c")||args[i].equals("-w")||args[i].equals("-l")||args[i].equals("-s")||args[i].equals("-a")){
switch(args[i]){
case "-c" :
fc = 1;
i++;
break;
case "-w" :
fw = 1;
i++;
break;
case "-l" :
fl = 1;
i++;
break;
case "-s" :
fs = 1;
i++;
break;
case "-a" :
fa = 1;
i++;
break;
}
}

6.测试设计:

如何设计:应尽可能考虑到所有情况,将有效和可能无效的输入都进行尝试。

可能导致高风险的地方:比如只输入-o或者-e,以及读取的文件为空。

测试代码设计:

(1)-c file.c

(2)-o

(3)-e

(4)-a file.c

(5)-w -a file.c

(6)-l -a file.c -o result.txt

(8)-w file.c -e tt.txt

(7)-c -l -w -a file.c -e tt.txt -o result.txt

(9)-s -c *.c -o result.txt

(10)-c -l -w -a -s *.c -e tt.txt -o result.txt

应该全部覆盖了程序的要求

由于没有控制台,所以对有文件生成的测试结果截图。

读取文件

停用表文件

生成文件

7.参考资料链接:

1. https://www.cnblogs.com/Berryxiong/p/6232373.html  空格分割字符串

2. http://lucien-zzy.iteye.com/blog/2001275 InputStreamReader和BufferedReader用法

3. https://www.cnblogs.com/renxiaoren/p/5220534.html file文件的读取和写入

4. https://www.cnblogs.com/xy-hong/p/7197725.html main函数里String[] args的使用

5. http://blog.csdn.net/sunkun2013/article/details/13167099 把java文件打包成jar文件以及转换成可执行文件exe

6. http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html PSP表格的填写

7. http://ask.csdn.net/questions/352138 去除停用词

8. https://www.cnblogs.com/ouyangping/p/6842108.html String matches 正则表达

WordCount编码与测试的更多相关文章

  1. WordCount编码和测试

    WordCount编码和测试 项目地址:https://github.com/handsomesnail/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) ...

  2. WordCount 编码与测试

    word count github 项目地址:https://github.com/liuqiang666/wordCount PSP表格 PSP2.1  PSP阶段  预估耗时(小时)  实际耗时( ...

  3. 软件质量与测试——WordCount编码实现及测试

    1.GitHub地址       https://github.com/noblegongzi/WordCount 2.PSP表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) ...

  4. WordCount编码测试

    Github项目地址:https://github.com/LantyrLYL/WordCount PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计 ...

  5. 软件测试第2周个人作业:WordCount编码测试

    一.Github地址 https://github.com/zhouyubei/WordCount 二.PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning ...

  6. WordCount程序与测试

    Github地址: https://github.com/hcy6668/wordCount PSP表格: PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 40 ...

  7. WordCountPro 编码与测试

    WordCountPro github项目地址:https://github.com/handsomesnail/WordCountPro PSP表格 PSP2.1  PSP阶段  预估耗时(小时) ...

  8. WordCount程序及测试

    Github地址:https://github.com/CG0317/WordCount PSP表: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划  30 ...

  9. mysql字符集编码乱码测试如下

    创建三个表tb_latin1,tb_utf8,tb_gbk,编码分别为latin1/utf8/gbk “你好a”字符串编码如下GBK : %C4%E3 %BA%C3 %61UTF-8 : %E4%BD ...

随机推荐

  1. burpsuite使用以及repeater模块实现重放攻击

    第一.burp suit是什么? Burp Suite 包含了一系列burp 工具,这些工具之间有大量接口可以互相通信,之所以这样设计的目的是为了促进和提高 整个攻击的效率.平台中所有工具共享同一ro ...

  2. bat显示多行文字,逐个显示哦!不同的颜色!

    最近想修改bat文件输出提示的时候能有不同的颜色提示,在网上找了下,发现这个文章,实现的不错,先记录下来,留着后面研究. 这是曾经写的,又稍微改进了一下. @echo off set str=青天有月 ...

  3. RabbitMQ入门Demo

    之前环境安装已经介绍过了,下面直接跑个Demo. 1.添加Maven依赖 <dependency> <groupId>org.springframework.amqp</ ...

  4. vc++2008 采用GSoap访问 WebService

    (转http://www.cppblog.com/yeqing/articles/12762.html) 前一阶段写gSOAP 的文章没保存好,后来想写的,越学越没有写的勇气了,感觉自己很菜,但是现在 ...

  5. 基于dubbo的SOA项目改造

    工程改造: 1.原来工程删除掉表现层的模块,将表现层独立出来. 2.将原来的工程改造.将service的打包方式改为改为war. 3.在service模块中添加web.xml文件 4.在web.xml ...

  6. 机器学习:决策树(CART 、决策树中的超参数)

    老师:非参数学习的算法都容易产生过拟合: 一.决策树模型的创建方式.时间复杂度 1)创建方式 决策树算法 既可以解决分类问题,又可以解决回归问题: CART 创建决策树的方式:根据某一维度 d 和某一 ...

  7. Python数据库(二)-Mysql数据库插入数据

    通过python连接mysql数据库,并插入数据 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import pymysql ...

  8. [vijos1246]文科生的悲哀(二) 动态规划

    背景 化学不及格的Matrix67无奈选择了文科.他必须硬着头皮艰难地进行着文科的学习. 描述 这学期的政治.历史和地理课本各有n章.每一科的教学必须按章节从前往后依次进行.若干章政治.若干章历史和若 ...

  9. delphi 面向对象实用技能教学二(封装)

    面向对象编程手法,是一项综合技能,单独把谁拿出来说都不合适.本次重写 TSimpleThread ,使其能在 D7 下运行. 基于 TSimpleThread ,重磅推出 TSimpleUI.ExeP ...

  10. 11-28 网页基础--JavaScript(DOM)

    网页基础 第二部分--HTMLDOM操作 一.定义:htmlDOM是一种面向对象的树的模型,它包含html中的所有元素:通过html可以找到所有包含在dom中的元素. 二.作用: 1.查找html元素 ...