这周末终于完成 go 版 trzsz 全部功能的开发,支持了隧道传输,配合 trzsz ssh ( tssh ) 使用,提高了传输速度和稳定性。比 rz / sz 好用的小目标算是完成了,也不是什么大成就,毕竟人家几十年不更新了。
GitHub:
https://github.com/trzsz/trzsz-go
https://github.com/trzsz/trzsz-ssh
然而要进行的测试,随着功能的增多,也越来越多用例了。涉及客户端、服务端,还有跳板机的“中继”。
客户端:( 2 * 3 * 2 = 12 种 )
1 、 [ 新版本,旧版本 ] ,新版本用来测试新功能,旧版本用来测试与新版本的兼容性。
2 、 [ Windows ,MacOs ,Linux ] ,不同平台的表现会不一样,特别是 Windows 很特殊。
3 、 [ tssh ,trzsz ssh ] ,既可使用 tssh ,也可使用 trzsz ssh 。
中继(跳板机):( 2 * 3 * 3 * 2 = 36 种 )
1 、 [ 新版本,旧版本 ] ,同上。
2 、 [ Windows ,MacOs ,Linux ] ,同上。
3 、 [ 无 tmux ,tmux 普通模式,tmux 命令模式 ] ,是否使用 tmux ,以及什么模式。
4 、 [ tssh ,trzsz -r ssh ] ,使用 tssh 会自动识别“中继”身份,使用 trzsz 要加上 -r
参数。
服务端:( 2 * 3 * 3 * 2 * 8 = 288 种 )
1 、 [ 新版本,旧版本 ] ,同上。
2 、 [ Windows ,MacOs ,Linux ] ,同上。
3 、 [ 无 tmux ,tmux 普通模式,tmux 命令模式 ] ,同上。
4 、 [ trz ,tsz ] ,trz 上传,tsz 下载。
5 、 [单文件,多文件,文件夹,二进制,取消,中断,暂停,无权限] 等等,trz / tsz 支持了很多的功能。
以上所有组合在一起,再排除全部都是旧版本的情况,共有 108864 个测试用例。
有很多都是涉及具体的环境的,单测也覆盖不到。你会如何精简测试用例?
我是挑了一些重点来测,特别是 Windows 相关的发现了不少的问题。不过,挑重点的用例,也还是非常的多。花了很长的时间测完重点的用例,然后才 push 代码。到正式发布,还有很多用例要测,头大。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.