WordCount编码测试
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编码测试的更多相关文章
- 软件测试第2周个人作业:WordCount编码测试
一.Github地址 https://github.com/zhouyubei/WordCount 二.PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning ...
- WordCount编码和测试
WordCount编码和测试 项目地址:https://github.com/handsomesnail/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) ...
- Spring_Four -- 团队项目设计完善&编码测试
团队项目设计完善&编码测试 1.文档<软件设计方案说明书>github地址:https://github.com/gzyt/SRS 2.项目集成开发环境 数据库:Mysql 5.0 ...
- 实验十一 团队作业7—团队项目设计完善&编码测试
实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...
- 《F4+2—团队项目设计完善&编码测试》
1:根据OOD详细设计工作要点,修改完善团队项目系统设计说明书和详细设计说明 a.软件系统设计说明书的完善 将测试启动准则,测试结束准则,测试暂停/中止标准加到了测试计划中.将把在测试中会 ...
- JAVA字符编码测试
几点注意: 1,ASCII码和ISO-8859-1都是单字节编码,ASCII码能表示128个字符,ISO-8859-1总共能表示256个字符.都不能表示中文,如果中文字符或其它不在IOS-8859码值 ...
- 软件质量与测试——WordCount编码实现及测试
1.GitHub地址 https://github.com/noblegongzi/WordCount 2.PSP表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) ...
- WordCount 编码与测试
word count github 项目地址:https://github.com/liuqiang666/wordCount PSP表格 PSP2.1 PSP阶段 预估耗时(小时) 实际耗时( ...
- WordCount编码与测试
1. github项目地址:https://github.com/wwwwu/WordCount 2.PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning ...
随机推荐
- DNS分别在什么情况下使用UDP和TCP?
看到一个题目问的是:DNS分别在什么情况下使用UDP和TCP? 仔细查了一下发现可查询的资料很少,大部分都把DNS所用协议归为UDP了其实不然,DNS同时占用UDP和TCP端口53,这种单个应用协议同 ...
- New Year and Buggy Bot
Bob programmed a robot to navigate through a 2d maze. The maze has some obstacles. Empty cells are d ...
- c++运行时决定数组大小 variable-length array
本文由Suzzz原创,发布于 http://www.cnblogs.com/Suzzz/p/4117431.html,转载请保留此声明 variable-length array是C99添加的一个特性 ...
- Makefile 自动产生依赖 ***
代码如下: 其实这里主要是为每个C文件建立一个同名的后缀为.d.该文件的作用是使用gcc的-M属性来自动生成.o文件的头文件依赖关系. 第1,2,4都好理解. 第2行解释: 使用gcc -M 的属性将 ...
- Day1--Python基础1--下半部分
一..pyc是什么 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在 ...
- ISE(Iris Server Engine)是一个基于现代C++的跨平台(Linux和Windows)框架
ISE(Iris Server Engine)是一个基于现代C++的跨平台(Linux和Windows)的高性能多线程并发网络服务器程序框架.它封装了琐碎的socket以及各种操作系统APIs,以面向 ...
- JavaWeb开发Eclipse环境配置--史上最详细的教程
[前言] JSP本身是JavaWeb中的知识,但是在学习Android网络时,必然要涉及到与服务器之间的交互,所以学一下JSP以及其他JavaWeb的内容还是很有必要的,至少能明白程序在访问服务器时, ...
- web聊天相关知识
http相关知识 http是无状态,请求,响应模式的通信模式,就是用户每次通过浏览器点击一下页面,都需要重新与web服务器建立一下连接,且发送自己的 session id 给服务器端以使服务器端验证此 ...
- 2015.3.12 C#运用正则表达式点滴
Regex reg = new Regex(@"\w{1,}@\w{1,}\.(com)?(net)?"); //匹配(1个或多个)(字母或数字或下滑线)@ (1个或多个)(字母或 ...
- 第三章 Java内存模型(上)
本章大致分为4部分: Java内存模型的基础:主要介绍内存模型相关的基本概念 Java内存模型中的顺序一致性:主要介绍重排序和顺序一致性内存模型 同步原语:主要介绍3个同步原语(synchroized ...