开源软件,大家会做完整的测试吗?会做与旧版本的兼容性测试吗?

查看 76|回复 4
作者:LonnyWong   
这周末终于完成 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 代码。到正式发布,还有很多用例要测,头大。

tmux, trzsz, 同上, 版本

neoblackcap   
像你这个情况,一般都是通过 CI 来实现的。很多 CI 服务都是支持多环境测试的。
当然了,这个也是需要你提供不同测试环境下的测试用例(如果不同环境调用的方法不一样的话)
artnowben   
比较流行的开源软件有很多用户,这些用户会帮忙测试到各种各样的场景。单靠自己去测试,也测不了这么充分。
我负责的 dperf 自己会测试很多,但是社区也发现了很多 Bug ,https://github.com/baidu/dperf
LonnyWong
OP
  
@neoblackcap trzsz 不好搞,需要至少 2 台机,然后要 ssh 登录,再 trz 上传个文件,tsz 下载个文件,偶尔再来个 ctrl + c 的交互。
LonnyWong
OP
  
@artnowben 尴尬,没那么多用户。不希望发布的版本,出现太多“一测就能发现的问题”,所以自己的测试工作量就会很大。
PS:star 与用户数有关系吗?没关系吗?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部