1.一种应用程序的测试方法,其特征在于,包括:
获取在测试终端预先设置的网络参数,其中,所述网络参数用于表示待模拟的网络环境的参数;
在所述测试终端注册VPN服务后,通过所述VPN服务获取在目标应用程序和目标服务器之间进行传输的网络数据包;
通过所述VPN服务按照所述网络参数传输所述网络数据包;
在所述网络环境下对所述目标应用程序进行测试。
2.根据权利要求1所述的方法,其特征在于,通过所述VPN服务按照所述网络参数传输网络数据包包括:
按照所述网络参数设置所述VPN服务,其中,所述VPN服务模拟所述网络参数指示的所述网络环境;
通过所述VPN服务模拟的所述网络环境传输所述网络数据包。
3.根据权利要求1所述的方法,其特征在于,所述网络数据包包括网络请求包,通过所述VPN服务按照所述网络参数传输网络数据包包括:
利用所述VPN服务按照所述网络参数所包含的队列规则将所述网络请求包加入发送缓冲队列,其中,所述队列规则表示所述VPN服务传输所述网络请求包的传输参数;
利用所述VPN服务通过socket连接将所述发送缓冲队列中的所述网络请求包发送给所述目标服务器。
4.根据权利要求3所述的方法,其特征在于,所述传输参数包括传输速度、延迟、丢包、重包和乱序,利用所述VPN服务按照所述网络参数所包含的队列规则将所述网络请求包加入发送缓冲队列包括:
利用所述VPN服务通过分层令牌桶和网络模拟功能模块对所述网络请求包的包队列进行调整;
将调整后的包队列加入所述发送缓冲队列,其中,所述分层令牌桶用于模拟所述网络参数所指示的传输速度,所述网络模拟功能模块用于模拟所述网络参数所指示的所述延迟、所述丢包、所述重包和所述乱序中的至少之一。
5.根据权利要求1所述的方法,其特征在于,所述网络数据包包括网络响应包,通过所述VPN服务按照所述网络参数传输网络数据包包括:
利用所述VPN服务通过socket连接接收所述目标服务器发送的所述网络响应包;
利用所述VPN服务按照所述网络参数所包含的队列规则将所述网络响应包加入接收缓冲队列,其中,所述队列规则表示所述VPN服务传输所述网络响应包的传输参数。
6.根据权利要求5所述的方法,其特征在于,所述传输参数包括传输速度、延迟、丢包、重包和乱序,利用所述VPN服务按照所述网络参数所包含的队列规则将所述网络响应包加入接收缓冲队列包括:
利用所述VPN服务通过分层令牌桶和网络模拟功能模块对所述网络响应包进行包队列调整;
将调整后的包队列加入所述接收缓冲队列,其中,所述分层令牌桶用于模拟所述网络参数所指示的传输速度,所述网络模拟功能模块用于模拟所述网络参数所指示的所述延迟、所述丢包、所述重包和所述乱序中的至少之一。
7.根据权利要求1所述的方法,其特征在于,在所述测试终端注册VPN服务之后,所述方法还包括:
创建tun虚拟接口,其中,所述tun虚拟接口用于将所述目标应用程序的网络请求包发送到所述VPN服务,或者将所述VPN服务返回的网络响应包发送到所述目标应用程序。
8.一种应用程序的测试装置,其特征在于,包括:
第一获取单元,用于获取在测试终端预先设置的网络参数,其中,所述网络参数用于表示待模拟的网络环境的参数;
第二获取单元,用于在所述测试终端注册VPN服务后,通过所述VPN服务获取在目标应用程序和目标服务器之间进行传输的网络数据包;
传输单元,通过所述VPN服务按照所述网络参数传输所述网络数据包;
测试单元,用于在所述网络环境下对所述目标应用程序进行测试。
9.根据权利要求8所述的装置,其特征在于,所述传输单元包括:
设置模块,用于按照所述网络参数设置所述VPN服务,其中,所述VPN服务模拟所述网络参数指示的所述网络环境;
传输模块,用于通过所述VPN服务模拟的所述网络环境在所述目标应用程序和目标服务器之间进行所述网络数据包的传输。
10.根据权利要求8所述的装置,其特征在于,所述网络数据包包括网络请求包,所述传输单元包括:
第一加入模块,用于通过所述VPN服务按照所述网络参数所包含的队列规则将所述网络请求包加入发送缓冲队列,其中,所述队列规则表示所述VPN服务传输所述网络请求包的传输参数;
发送模块,用于通过所述VPN服务通过socket连接将所述发送缓冲队列中的所述网络请求包发送给所述目标服务器。
11.根据权利要求10所述的装置,其特征在于,所述传输参数包括传输速度、延迟、丢包、重包和乱序,所述第一加入模块包括:
第一调整子模块,用于通过所述VPN服务利用分层令牌桶和网络模拟功能模块对所述网络请求包的包队列进行调整;
第一加入子模块,用于将调整后的包队列加入所述发送缓冲队列,其中,所述分层令牌桶用于模拟所述网络参数所指示的传输速度,所述网络模拟功能模块用于模拟所述网络参数所指示的所述延迟、所述丢包、所述重包和所述乱序中的至少之一。
12.根据权利要求8所述的装置,其特征在于,所述网络数据包包括网络响应包,所述传输单元包括:
接收模块,用于利用所述VPN服务通过socket连接接收所述目标服务器发送的所述网络响应包;
第二加入模块,用于利用所述VPN服务按照所述网络参数所包含的队列规则将所述网络响应包加入接收缓冲队列,其中,所述队列规则表示所述VPN服务传输所述网络响应包的传输参数。
13.根据权利要求12所述的装置,其特征在于,所述传输参数包括传输速度、延迟、丢包、重包和乱序,所述第二加入模块包括:
第二调整子模块,用于利用所述VPN服务通过分层令牌桶和网络模拟功能模块对所述网络响应包进行包队列调整;
第二加入子模块,用于将调整后的包队列加入所述接收缓冲队列,其中,所述分层令牌桶用于模拟所述网络参数所指示的传输速度,所述网络模拟功能模块用于模拟所述网络参数所指示的所述延迟、所述丢包、所述重包和所述乱序中的至少之一。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
创建单元,用于在所述测试终端注册VPN服务之后,创建tun虚拟接口,其中,所述tun虚拟接口用于将所述目标应用程序的网络请求包发送到所述VPN服务,或者将所述VPN服务返回的网络响应包发送到所述目标应用程序。