项目介绍
仿照Everything桌面工具,基于java语言开发的命令行文件搜索工具。解决了windows命令行下文件搜索问题,Linux平台下同样可以使用。主要使用的技术有java文件操作、java多线程、嵌入式H2数据库、Lombok库、文件系统监控。开发平台IDEA,Maven管理代码。
具体项目内容在另一篇博客体现:https://blog.csdn.net/ch15029286692/article/details/97249829
功能测试
- 等价类
按照编写测试用例中的等价类划分法,将命令行输入的测试用例分为不合法输入和合法输入两大类。
不合法输入测试用例:
命令行操作 | 实际结果 | 预期结果 |
---|
不输入任何内容按回车 | 打印出命令菜单,提示用户 | 打印命令菜单 |
输入一串数字 | 打印命令列表 | 打印命令列表 |
输入非命令字符和数字 | 打印命令列表 | 打印命令列表 |
输入命令字符全大写 | 打印命令列表 | 打印命令列表 |
输入命令字符串首字母大写 | 打印命令列表 | 打印命令列表 |
输入命令字符串大小写混合 | 打印命令列表 | 打印命令列表 |
输入命令字符中有特殊符号 | 出现bug,输入的命令行中有“_"、"*"等特殊符号时,特殊符号紧跟着的空格无法删 除,特殊符号前面的任何字符都无法回退删除 | 打印命令列表 |
输入正确的命令,每个字符中加一个空格 | 打印命令列表 | 打印命令列表 |
输入文件名和错误的文件类型 | 进行搜索,bug,没有判断文件类型是否合法 | 打印命令列表 |
输入search .文件类型 | 进行搜索,bug,只根据类型不能搜索文件 | 打印命令列表 |
输入search .错误的文件类型 | 进行搜索,bug | 打印命令列表 |
输入search .不存在的文件类型 | 进行搜索,bug | 打印命令列表 |
输入的文件名中含有特殊字符 | 进行搜索,bug | 打印命令列表 |
输入的文件名后跟着多个文件类型 | 进行搜索,bug | 打印命令列表 |
合法输入测试用例:
命令行操作 | 实际结果 | 预期结果 |
---|
输入纯英文文件名搜索 | 成功搜索文件 | 打印符合条件的文件 |
输入纯中文文件名搜索 | 成功搜索文件 | 打印符合条件的文件 |
输入纯数字搜索 | 成功搜索文件打印符合条件的文件 | |
输入中英数混合搜索 | 成功搜索文件 | 打印符合条件的文件 |
输入文件名和正确的文件类型 | 成功搜索文件 | 打印符合条件的文件 |
输入文件名模糊搜索 | 成功搜索文件 | 打印符合条件的文件 |
操作 | 实际结果 | 预期结果 |
---|
命令行输入搜索系统中的文件 | 操作成功 | 打印符合条件的文件 |
在某个盘中删除一个文件,再搜索此文件 | 操作成功,文件不存在 | 文件不存在 |
在某个盘中新建一个文件,再搜索此文件 | 操作成功,文件找到 | 文件找到 |
打开某个文件 ,再搜索此文件 | 操作成功,可以找到 | 可以找到 |
打开并且修改文件内容 ,再搜索此文件 | 文件搜索成功 | 文件搜索成功 |
改变一个文件的存储路径 ,再搜索此文件 | 文件搜索成功 | 文件搜索成功 |
命令行输入quit退出命令 | 成功退出程序 | 成功退出程序 |
命令行输入help帮助命令 | 打印命令列表 | 打印命令列表 |
命令行输入index命令 | 构建索引 | 构建索引 |
构建索引时:
操作 | 实际结果 | 预期结果 |
---|
命令行输入搜索系统中的文件 | 操作成功 | 打印符合条件的文件 |
在某个盘中删除一个文件,再搜索此文件 | 操作成功,文件不存在 | 文件不存在 |
在某个盘中新建一个文件,再搜索此文件 | 操作成功,文件找到 | 文件找到 |
打开某个文件 ,再搜索此文件 | 操作成功,可以找到 | 可以找到 |
打开并且修改文件内容 ,再搜索此文件 | 文件搜索成功 | 文件搜索成功 |
改变一个文件的存储路径 ,再搜索此文件 | 文件搜索成功 | 文件搜索成功 |
命令行输入quit退出命令 | 成功退出程序 | 成功退出程序 |
命令行输入help帮助命令 | 打印命令列表 | 打印命令列表 |
命令行输入index命令 | 抛出异常,中断程序 | 抛出异常,中断程序 |
索引构建后:
操作 | 实际结果 | 预期结果 |
---|
命令行输入搜索系统中的文件 | 操作成功 | 打印符合条件的文件 |
在某个盘中删除一个文件,再搜索此文件 | 操作成功,文件不存在 | 文件不存在 |
在某个盘中新建一个文件,再搜索此文件 | 操作成功,文件找到 | 文件找到 |
打开某个文件 ,再搜索此文件 | 操作成功,可以找到 | 可以找到 |
打开并且修改文件内容 ,再搜索此文件 | 文件搜索成功 | 文件搜索成功 |
改变一个文件的存储路径 ,再搜索此文件 | 文件搜索成功 | 文件搜索成功 |
命令行输入quit退出命令 | 成功退出程序 | 成功退出程序 |
命令行输入help帮助命令 | 打印命令列表 | 打印命令列表 |
命令行输入index命令 | 构建索引 | 构建索引 |
性能测试
文件总数:472303个
构建索引时间:396980ms 6-7分钟
操作 | 未构建索引 | 已经构建索引 |
---|
查找一类文件(文件名模糊匹配)时间 | 324ms | 153ms |
查找一个具体的文件 | 8ms~23ms | 3ms |
查找一个本来有然后删除的文件 | 3ms | 1ms |
查找一个新建的文件 | 2ms | 2ms |
查找一个不存在的文件 | 3ms | 3ms |