关键词:
在代码测试环节,我主要对集中典型以及特殊情况做了测试,结果如下:
文件夹测试
TEST1: 空文件夹测试( √ )
I:\TEST\data 为一个空文件夹,测试程序对空文件夹的处理
命令:
WordFrquency-release.exe I:\TEST\data
输出结果:
char_number: 0 line_number: 0 word_number: 0 the top ten frequency of word : : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.012s
TEST2: 大量文件与文件夹测试( √ )
这里使用助教的测试集进行了测试,结果相差不大,在误差范围内。
单文件测试
单个文件测试可以有针对的对某些特殊情况进行专门的测试,且由于单个文件易于操作所以效率较高。
同时单个文件测试也测试了程序兼容输入目录或者文件路径的适应性,由于下面的测试是在此基础上的,所以都同时说明了该程序可以同时处理文件夹和单个文件。
从下面的结果可知对于一般情况,统计结果也是正确的,也不再做重点分析。
TEST3: 空文件测试( √ )
kong.txt 是一个空文件,里面一个字符也没有,用来测试空文件的特殊情况,由输出结果可知,一切正常。
命令:
WordFrquency-release.exe I:\TEST\data\kong.txt
输出结果:
char_number: 0 line_number: 1 word_number: 0 the top ten frequency of word : : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.011s
TEST4( √ )
本次测试主要测试规则要求中单词的定义这一项:至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。
分析:由输出结果(见下面)知
- abc、1234asd均不符合单词要求故被忽略
- ad78154asd由于前缀ad78145中英文字符数少于4故被忽略,之后的asd由于少于4也被忽略
-
ad7878adsadasd前缀ad7878同样被忽略,而剩下的adasd符合单词要求而被记录
- 由于测试文件中只有一个单词adasd,故词组不存在
测试文件如下:(注意最后有一个空行)
abc
1234asd ad78154asd
ad7878adsadasd
测试结果:
char_number: 36 line_number: 4 word_number: 1 the top ten frequency of word : adsadasd: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.012s
TEST5( √ )
本次测试主要测试单词的字典顺序相关,例如不同表达式可能表示同样的单词,但是单词的输出必须是出现过的字典顺序最小的表达式
分析:由输出结果可知
- 输出的ASDF1234是上面三个最小的字典顺序,与要求一致
- ASDF1234 asdf aSDF4分别表示同样的单词,故输出结果的该单词的次数为3
- ASD虽然字典顺序更小,但是少于4个字母,所以当做了一个分隔符
- 词组输出:ASDF1234 ASDF1234: 2 与要求一致
测试文件:
ASDF1234
asdf
ASD
aSDF4
输出结果:
char_number: 20 line_number: 6 word_number: 3 the top ten frequency of word : ASDF1234: 3 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : ASDF1234 ASDF1234: 2 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.014s
TEST6( √ )
本次测试主要测试同一单词的不同表达式以及略有不同的单词表达式的区分
分析:由输出结果知
-
windows95 windows98 windows2000 是同样的单词,这在上个测试中已经做过测试
-
windows32a 由于后面数字后还有一个字母a所以是另一个特殊的单词,由输出文件知程序能将他们正确区分
测试文件
windows95 windows98 WIN windows2000 windows32a
输出结果:
char_number: 46 line_number: 1 word_number: 4 the top ten frequency of word : windows2000: 3 windows32a: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : windows2000 windows2000: 2 windows2000 windows32a: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.016s
TEST7( √ )
本次测试主要测试文件夹中只有一个单词的情况,由输出结果知程序正常。
测试文件:
AFGTKNJK
输出结果:
char_number: 8 line_number: 1 word_number: 1 the top ten frequency of word : AFGTKNJK: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.037s
TEST8( √ )
本次测试测试对只有两个单词即只有一个数组的情况。
由输出知,结果正确。
测试文件:
AFGTKNJK asdad
输出结果:
char_number: 14 line_number: 1 word_number: 2 the top ten frequency of word : asdad: 1 AFGTKNJK: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : AFGTKNJK asdad: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.017s
TEST9( √ )
本次测试三个字符串其中中间的那个不符合单词要求,在这样的情况下的程序是否正确。
由结果知,一切正确。
测试文本:
AFGTKNJK sa asdad
测试结果:
char_number: 17 line_number: 1 word_number: 2 the top ten frequency of word : asdad: 1 AFGTKNJK: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 the top ten frequency of phrase : AFGTKNJK asdad: 1 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 Totle Time : 0.088s
总结
以上各个测试基本上将可能出现的典型情况与特殊情况做了测试,程序的实际表现相当好,这种鲁棒性得益于程序编写开始有较完备的设计,说明前期工作与实际编写调试过程做的都还不错。
第一次个人作业(linux性能分析)(代码片段)
工具选择这里参考了http://gernotklingler.com/blog/gprof-valgrind-gperftools-evaluation-tools-application-level-cpu-profiling-linux/这个博客,它主要分析了三款Linux平台下主流的热点分析工具,分别是GNUgprof、Valgrind和Googleperftools,三款工具的主要特点... 查看详情
第一次个人作业(代码编写调试debug相关)(代码片段)
代码编写过程中的重要知识点VS调试命令行参数的输入在VS中调试,无法直接输入命令行参数,但是可以通过一下方法配置命令行参数:点击菜单栏的 项目>>属性出现属性对话框之后,选择 配置属性>>调试>>... 查看详情
软件质量与测试第4周个人作业(代码片段)
一、项目地址 https://github.com/changjiang666/WcPro 二、PSP三、设计思路 我负责main函数的编写和print输出模块的编写。 1.main函数intmain(/*intargc,char**argv*/)char*textBuf=readfile("test.txt");//读取输入文件WcProwcpro(textBuf) 查看详情
软件测试第二周个人作业wordcount程序实现(代码片段)
GitHub地址:https://github.com/Guchencc/WordCount一.PSP表格PSP2.1PSP阶段预估耗时(分钟)实际耗时(分钟)Planning计划 ·Estimate·估计这个任务需要多少时间 300440Development开发 ·Analysis·需求分析(包括学习新技术) 20&n... 查看详情
第一次个人作业-pb15061305-liuze
...简洁一些。目录里面的每篇博文质量还是挺高的,2333333第一次个人作业【二】(代码跨平台的简单解决方法,附代码!!)第一次个人作业【三】(代码实现(未优化前的代码),注释丰富)第一次个人作业【四】(代码编写... 查看详情
软件工程(2018)结对编程第一次作业(代码片段)
题目要求(1).首先在同学中找一个同伴,范围不限,可以在1~5班中随意组合,建议尽量不要找同组的成员,女同学尽量找男同学结对,但是不做强制要求;(2).从以往个人完成的项目中选择一个作品,例如:以往的数据结构课程设... 查看详情
软件工程第三周作业(代码片段)
...部分:调研,评测1.下载并使用,描述最简单直观的个人第一次上手体验。首先登录成功后,就发现可以签到,下面还有朋友圈,新闻,消息,我的个人设置。朋友圈的话就很丰富了,卖书的,发鸡汤的,还有一堆卖七七八八东... 查看详情
软件测试第一次作业软件测试的开始——从过去的错误中寻求反思(代码片段)
这些日子刚开始学习软件测试,借作业为由,从我过去的debug生涯中找找过去的错误,增强一下新的理解。 之前没学过软件测试的理论,debug也没什么必要的逻辑,既便称之为碰运气也“不遑多让”。如下的一个bug就是... 查看详情
个人作业4——alpha阶段个人总结
一.个人总结类别具体技能和面试问题现在回答语言最拿手的语言之一,代码量多少?最拿手的应该是c语言,代码量估计只有一千多行吧软件实现有没有在别人代码上改进,如何读懂他人代码,采取什么方法不影响原来功能,如... 查看详情
个人作业(代码片段)
1个人总结(1)(2) 查看详情
第一次作业(代码片段)
一、学习内容总结1.经过这几周的学习,总结一下学习的心得与体会。(不少于100字;10分) 有人说学习不是自愿的,是被强迫的,这种观点会使一个人进入误区,构成一种要我学习的观念。最后那根弦越绷越紧,一旦超过它... 查看详情
个人作业4——alpha阶段个人总结
一、个人总结类别具体技能和面试问题现在回答(大三)毕业找工作时语言最拿手的语言之一,代码量多少?Java,之前做过PTA题目,代码量就是作业的要求软件实现有没有在别人代码上改进,如何读懂他人代码,采取什么方法... 查看详情
《junit》——软件工程作业.vo2(代码片段)
《Junit》——软件工程作业.vo2一、开发工具选择我选择Eclipse:二、编写与测试环节(1)编写想要测试的Java类(2)导入Junit(3)编写测试类单元测试覆盖标准:[x]语句覆盖:选择合适用例,所有语句被执行一次。[x]判定覆盖:... 查看详情
软件工程(2018)第二次个人作业(代码片段)
自动单元测试技术练习一、选择开发工具1.工具选择本次作业我选择的开发工具是Google的AndroidStudio(简称AS)。其支持的工具语言有C++,Java,Kotlin,在此我选择Java进行开发。2.界面介绍由于我已安装过AS,所以不再介绍安装过程... 查看详情
软件工程(2018)第三次个人作业(代码片段)
第三次作业前言这是软件工程第三次作业,经过前两次的作业,感觉到了和同学的差距,以后要认真的去完成它了。第三次作业有两道题,第一题种是最大连续子数组和,看起来可以理解题目的意思,可是当自己要去写时就是一... 查看详情
第一次作业+105032014063
任务:1、流程图:根据被测代码,绘制程序流程图2、测试用例设计:依据语句覆盖、判定覆盖,编写测试用例设计3、测试结果:执行测试,并给出测试结论:通过与不通过。4、代码优化建议:对被测代码,依据通用编码规范... 查看详情
第一次作业+105032014043
任务:1、流程图:根据被测代码,绘制程序流程图2、测试用例设计:依据语句覆盖、判定覆盖,编写测试用例设计3、测试结果:执行测试,并给出测试结论:通过与不通过。4、代码优化建议:对被测代码,依据通用编码规范... 查看详情
第一次作业+105032014049
任务:1、流程图:根据被测代码,绘制程序流程图2、测试用例设计:依据语句覆盖、判定覆盖,编写测试用例设计3、测试结果:执行测试,并给出测试结论:通过与不通过。4、代码优化建议:对被测代码,依据通用编码规范... 查看详情