WordCount编码与测试
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编码与测试的更多相关文章
- WordCount编码和测试
WordCount编码和测试 项目地址:https://github.com/handsomesnail/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) ...
- WordCount 编码与测试
word count github 项目地址:https://github.com/liuqiang666/wordCount PSP表格 PSP2.1 PSP阶段 预估耗时(小时) 实际耗时( ...
- 软件质量与测试——WordCount编码实现及测试
1.GitHub地址 https://github.com/noblegongzi/WordCount 2.PSP表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) ...
- WordCount编码测试
Github项目地址:https://github.com/LantyrLYL/WordCount PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计 ...
- 软件测试第2周个人作业:WordCount编码测试
一.Github地址 https://github.com/zhouyubei/WordCount 二.PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning ...
- WordCount程序与测试
Github地址: https://github.com/hcy6668/wordCount PSP表格: PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 60 40 ...
- WordCountPro 编码与测试
WordCountPro github项目地址:https://github.com/handsomesnail/WordCountPro PSP表格 PSP2.1 PSP阶段 预估耗时(小时) ...
- WordCount程序及测试
Github地址:https://github.com/CG0317/WordCount PSP表: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 30 ...
- mysql字符集编码乱码测试如下
创建三个表tb_latin1,tb_utf8,tb_gbk,编码分别为latin1/utf8/gbk “你好a”字符串编码如下GBK : %C4%E3 %BA%C3 %61UTF-8 : %E4%BD ...
随机推荐
- ZOJ - 3201 Tree of Tree (树形背包)
题意:有一棵树,树上每个结点都有一个权值,求恰好包含k个结点的子树的最大权值. 设dp[i][j]为以结点i为根的树中包含j个结点的子树的最大权值,则可以把这个结点下的每棵子树中所包含的所有子树的大小 ...
- STL空间配置器解析和实现
STL空间配置器的强大和借鉴作用不言而喻,查阅资料,发现了Dawn_sf已经对其有了极其深入和详细的描述,所以决定偷下懒借用其内容,只提供自己实现STL空间配置器的源码,具体解析内容参考:(一)STL ...
- BZOJ2784: [JLOI2012]时间流逝
BZOJ2784: [JLOI2012]时间流逝 https://lydsy.com/JudgeOnline/problem.php?id=2784 分析: 挺有意思的一道题. 注意到状态数是\(P( ...
- 洛谷 P2822 组合数问题
题目描述 组合数C_n^mCnm表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的 ...
- h5废弃的标签和属性及新增的标签和属性
一.废弃的标签和属性 1.表现性元素 a) basefont b) big c) center d) font e) strike f) tt 2.框架类元素 a) frame b) frameset ...
- 应用层-day01
主流应用程序体系结构:CS结构.P2P结构. CS结构:客户-服务器体系结构.有一台总是打开的主机称为服务器,它服务来自其他许多称为客户的主机的请求. P2P体系结构:应用程序在不同的主机间链接,被称 ...
- Redis 分布式锁 - 分布式锁的正确实现方式
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...
- sleep(0)作用
假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代 ...
- Oracle data guard学习
Oracle data guard学习:三思笔记 Data guard 1data guard结构: data guard是一个集合,由一个primary数据库(生产数据库)和一个或多个standby ...
- adb基本命令总结(Android Debug Bridge)
adb 是PC和设备连接的桥梁,可以通过adb对devices进行相关操作 adb devices 列出你的devices adb kill-server 杀掉ad ...