Github项目地址:https://github.com/LantyrLYL/WordCount

PSP表格:

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

10

5

· Estimate

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

10

5

Development

开发

925

955

· Analysis

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

60

60

· Design Spec

· 生成设计文档

10

20

· Design Review

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

10

10

· Coding Standard

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

0

0

· Design

· 具体设计

30

30

· Coding

· 具体编码

480

480

· Code Review

· 代码复审

60

60

· Test

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

60

90

Reporting

报告

120

120

· Test Report

· 测试报告

90

90

· Size Measurement

· 计算工作量

5

5

· Postmortem & Process Improvement Plan

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

20

20

 

 

 

解题思路:

  看了需求说明,首先想到的是好像是C语言课程中有教到的从如何统计输入字符数和输入我单词数,还有就是将结果以某种文件形式输出的指定的位置。主要是if条件语句和++自增语句来实现,最后打印出来并输出。

程序设计实现过程:

 一个wc,其中包含3种函数。

main函数首先判断使用了需求中的哪种参数,并做输入判断正确与否。

getAllFilePath 函数是获取所有要进行读取判断的文件

wordcount 函数是对C文件中的内容按照需求进行分析,实现显示字符数、单词数、总行数等功能。

代码说明:

代码借鉴周志为同学的

for( i=0;i<chars.length;i++) {//统计每行字符数并加到字符总数里

numChar++;

}

numChar++;//加上每一行的换行

String[] tmp= str.split(" |,");

for(i=0;i<tmp.length;i++){

if(tmp[i].length()!=0){

if(extraList.size()!=0){//假如使用了停用词表

flagex=0;

for(j=0;j<extraList.size();j++) {

if (tmp[i].equals(extraList.get(j))) {

flagex = 1;

break;

}

}

if(flagex!=1) {//只统计不在停用词表里的单词

numWord++;

}

}

else{

numWord++;

}

}

}

if(chars.length>1) {//判断注释行

if(chars[0]=='/'&&chars[1]=='/'){//“//”开头注释行

numLineAnn++;

}

else if(chars[0]=='/'&&chars[1]=='*'){//“/*”开头注释行

numLineAnn++;

flagann=1;

}

else if(chars.length>2) {

if ((chars[0] == '{' || chars[0] == '}')) {//“{//”开头注释行

if (chars[1] == '/' && chars[2] == '/'){

numLineAnn++;

}

else if (chars[1] == '/' && chars[2] == '*') {//“{/*”开头注释行

numLineAnn++;

flagann = 1;

}

else if(flagann!=1) {//否则就是代码行

numLineCode++;

}

}

else if(flagann!=1) {

numLineCode++;

}

}

else if(flagann!=1) {

numLineCode++;

}

else {//在“/*”之后“*/”之前的注释

numLineAnn++;

for (i = 0; i < chars.length; i++) {//判断“/*”注释的结束“*/”

if (chars[i] == '*') {

if (i + 1 < chars.length)

if (chars[i + 1] == '/')

flagann = 0;

}

}

}

}

else {//空行

numLineEmpty++;//不超过一个可显示字符的空行

}

numLine++;

}

numChar--;//减去最后一行末尾不存在换行

测试设计过程:

对基本功能字符数等进行测试,对缺少参数以及参数不正确等进行测试,对扩展功能和高级功能进行测试。测试范围要较为全面,尽量测试到各种情况的发生,避免漏洞。

作出以下13个测试用例:

wc.exe

wc.exe -c test.c

wc.exe test.c

wc.exe *.c

wc.exe -c

wc.exe test.c -c

wc.exe test.c *.c

wc.exe -c -w -l -o test.c

wc.exe -c -w -l -o *.c

wc.exe -s -c -w -l -a *.c

wc.exe -s -c -w -l -a *.c -e b.c -o output.txt

wc.exe -s -c -w -l -a test.c -e b.c -o output.txt

wc.exe -c -w -l -a E:\MyEclipse\project\test\test.c -e b.c -o output.txt

参考文献链接:

邹欣老师的博客:http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html

手把手教你如何把jar文件,打包成jar文件以及转换为exe可执行文件:

http://blog.csdn.net/sunkun2013/article/details/13167099

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

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

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

  2. WordCount编码和测试

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

  3. Spring_Four -- 团队项目设计完善&编码测试

    团队项目设计完善&编码测试 1.文档<软件设计方案说明书>github地址:https://github.com/gzyt/SRS 2.项目集成开发环境 数据库:Mysql 5.0 ...

  4. 实验十一 团队作业7—团队项目设计完善&编码测试

    实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...

  5. 《F4+2—团队项目设计完善&编码测试》

    1:根据OOD详细设计工作要点,修改完善团队项目系统设计说明书和详细设计说明       a.软件系统设计说明书的完善 将测试启动准则,测试结束准则,测试暂停/中止标准加到了测试计划中.将把在测试中会 ...

  6. JAVA字符编码测试

    几点注意: 1,ASCII码和ISO-8859-1都是单字节编码,ASCII码能表示128个字符,ISO-8859-1总共能表示256个字符.都不能表示中文,如果中文字符或其它不在IOS-8859码值 ...

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

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

  8. WordCount 编码与测试

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

  9. WordCount编码与测试

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

随机推荐

  1. 转载:关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ

    转载: http://blog.csdn.net/konglongaa/article/details/52208273

  2. poj1463 Strategic game[树形DP]

    求一棵树每条边都被选上的点覆盖掉的最少选点数. 一条边被覆盖掉,必须他父亲和儿子中选一个..这不就是比NOIP2018D2T3还裸的暴力么.水掉. lyd给的练习题都什么**玩意儿.. code不挂了 ...

  3. 图的m着色问题 (回溯搜索)

    图的m着色问题 [问题描述]        给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的 ...

  4. Maven:Resource Path Location Type Project configuration is not up-to-date with pom.xml. Run project configuration update

    Maven构建项目的时候提示: Description Resource Path Location Type Project configuration is not up-to-date with ...

  5. HTML(超文本标记语言)

    学习地址:https://developer.mozilla.org/zh-CN/docs/Web/Html

  6. CentOS 7安装Azcopy

    Azcopy是Azure存储一个非常好用的工具.本文将介绍如何在CentOS7下安装的过程. 更新:目前需要.net core 2.0版本.具体下载地址大家自己搜索. 1 安装.net core 1. ...

  7. Java-API:un-java.util.Set

    ylbtech-Java-API:java.util.Set 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 0. https://docs.oracle.com ...

  8. 侯捷STL学习(六)--深入list && Iterator traits

    第十三,四节 深度探索list(上,下) list Gnu2.9源代码实现 注意node代码和图示的位置 实现前闭后开,增加一个空白节点 用的分配器alloc Iterator智能指针,需要知道结点n ...

  9. 2015广州强网杯(Misc)

    单身狗: 下载图片 被一只狗挡住了的二维码,用图片处理软件把上面两个正方形随便一个覆盖狗的地方 我直接用美图秀秀处理一下,扫一下就得到flag

  10. 重新认识synchronized(上)

    synchronized在JDK5之前一直被称为重量级锁,是一个较为鸡肋的设计,而在JDK6对synchronized内在机制进行了大量显著的优化,加入了CAS,轻量级锁和偏向锁的功能,性能上已经跟R ...