以前接触过的测试方法有单元测试,黑盒测试.
单元测试比较麻烦,之前某个项目,有用google-test框架做测试,要求精确到每个模块每个函数,同时要考虑到多种临界情况,而且还经常需要mock出系统环境来.
我搜索了一下ngx_lua,貌似是使用黑盒测试,即把整个服务器启动起来,再通过nginx-test的perl脚本发请求来测试.
几个问题请教:
1) 如何确保这样的测试能精确到每个临界的情况?如果做不到,中间的权衡思路是如何考虑的?
2) 内存泄漏等的,是使用什么手段如何测试出来的?
3) 用perl写的nginx-test脚本中,貌似是向服务器转发一段搭建相应测试环境的lua脚本,来启动服务器然后通过收发包来判断结果,换句话说,ngx_lua中有机制支持接收一段在协议中传送过来的lua脚本来启动,不知道我的推理对不对?另外,看介绍需要启动一个etcproxy的代理服务器,不知道这个代理服务器的作用是?
4) 最后请问一下,ngx_lua在开发到最后一个版本的发布,是怎么样一个开发+测试的流程?