第4周小组作业:WordCount优化——C++实现

  • GitHub地址:https://github.com/decadeheart/WcPlus
  • PSP表格:

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

 15 20

· Estimate

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

 15 20

Development

开发

60 60

· Analysis

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

 10 10

· Design Spec

· 生成设计文档

 5 5

· Design Review

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

 5 5

· Coding Standard

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

 5 5

· Design

· 具体设计

 5 5

· Coding

· 具体编码

 15 15

· Code Review

· 代码复审

 5 5

· Test

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

 10 10

Reporting

报告

 30 50

· Test Report

· 测试报告

 15 25

· Size Measurement

· 计算工作量

 10 15

· Postmortem & Process Improvement Plan

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

 5 10
 

合计

 105 130
  • 接口实现:getWordList()函数实现

  字符串str保存读取的单词,map word保存str中的单词及出现次数,使用map:;find方法确定单词是否在序列中,增加单词的出现次数。

  判断单词:从文件流中逐个读取字符,判断字符是否为字母:若是字母,则使用tolower函数将大小写统一改为小写,加入str末尾;若不是字母,则判断str是否为空,为空则跳过此字符,不为空则如果字符是'-'及下个字符为字母,将'-'加入str末尾,否则str中就保存了一个正确的单词。

  判断单词的要点:逐个读取字符时,要使用操纵符noskipws将文件流格式更改为不跳过空白符;读取完成后用skipws恢复默认设置,并关闭文件流。

  • 测试用例设计:

  测试用例从白盒测试的判定测试、路径测试,黑盒测试的边界值测试、等价类测试进行设计:

  判定测试:空文件,测试while循环读取字符到文件末尾的判定条件;无字母字符串,测试字符不是字母的if条件;字母字符串,测试字符是为字母的if条件;无字母字符串,测试str为空的if条件;字母字符串测试str不为空的if条件;字母+特殊字符字符串,测试字符不是'-'的if条件;字母+'-'+字母,测试字符是'-'及下个字符是字母的if条件;字母+'-'+特殊字符,测试字符是'-'及下个字符不是字母的if条件。

  路径测试:程序图

 

  主路径:

  P1:A,B,C,F,G,测试用例字母+'-'+字母字符串;

  独立路径:

  P2:A,B,C,E,G,测试用例字母+特殊字符;

  P3:A,B,G,测试用例无字母字符串;

  P4:A,D,G,测试用例字母字符串。

  边界值测试:空文件,文件末尾边界测试;字母A、Z、a、z,字母判断边界条件;字母+'-'+字母,字母+'-'+特殊字符,横线判断边界条件。

  等价类测试:字母字符串,无字母字符串,字母+特殊字符字符串,特殊字符+字母字符串。

  

 

  • 单元测试评价:

  

  测试质量不完整;模块质。量效率很高

  • 小组贡献得分:

  小组贡献率0.28

 

转载于:https://www.cnblogs.com/Alpaca2s/p/8746904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值