发明内容
技术问题
提出本发明来解决上述常规问题,本发明提供了测试用于提供云端流媒体服务的服务器是否正常操作的云端流媒体服务器测试方法,并且还提供了用于该方法的装置和系统。
具体地,本发明的目的是通过在从多个云端流媒体服务器接收测试结果画面时在将被施加了动画效果的部分掩码之后捕获这种测试结果画面,并且然后将接收的画面彼此进行比较,并且由此检测云端流媒体服务器的故障来防止测试错误。
另外,本发明的目的是通过当作为将从多个云端流媒体服务器接收的测试结果画面进行比较的结果,检测到预定数量或更大数量的错误时,改变基准服务器来防止测试结果由于基准服务器故障而失真。
另外,本发明的目的是通过检测云端流媒体服务器的连接错误且经由从多个云端流媒体服务器接收的测试结果画面的比较同时检测云端流媒体的故障,测试云端流媒体服务器的操作错误和连接错误两者。
另外,本发明的目的是通过当从多个云端流媒体接收测试结果画面时在合适的时间捕获这种测试结果画面,然后将接收的画面彼此比较,并由此检测云端流媒体的故障来防止测试错误。
另外,本发明的目的是通过当从多个云端流媒体服务器接收这种测试结果画面时向云端流媒体服务器发送能启用应用以创建公共画面的公共测试脚本密钥输入,然后将接收的画面彼此比较,并由此检测云端流媒体服务器的故障来提高测试效率并且使测试结果中的错误最小化。
技术方案
为了实现上述目的,根据本发明的云端流媒体服务器测试装置包括:虚拟客户端模块,所述虚拟客户端模块被配置为从云端流媒体服务器接收与预定的测试脚本密钥输入相对应的测试结果并且创建测试结果视频;比较单元,所述比较单元被配置为通过将所述测试结果图像掩码来创建经掩码的视频,并且将通过捕获经掩码的视频而创建的测试结果图像彼此进行比较;以及测试控制单元,所述测试控制单元被配置为基于比较结果确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该装置中,比较单元可以在测试结果视频中将被施加了动画效果的部分掩码。
在该装置中,比较单元可以在多个云端流媒体服务器当中确定基准服务器,并且然后将通过捕获与基准服务器相对应的经掩码的视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的经掩码的视频而创建的测试结果图像进行比较。
在该装置中,如果比较的两图像彼此相同,则测试控制单元可以确定在云端流媒体服务器中不存在故障。如果比较的两图像彼此不同,则测试控制单元可以确定在云端流媒体服务器中存在故障。
在该装置中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
另外,根据本发明的云端流媒体服务器测试方法包括以下步骤:从云端流媒体服务器接收与预定的测试脚本密钥输入相对应的测试结果并且创建测试结果视频;通过将所述测试结果视频掩码创建经掩码的视频;将通过捕获经掩码的视频而创建的测试结果图像彼此进行比较;以及基于比较结果确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该方法中,创建经掩码的视频的步骤可以包括在测试结果视频中将被施加了动画效果的部分掩码。
在该方法中,比较步骤可以包括在多个云端流媒体服务器当中确定基准服务器,并且然后将通过捕获与基准服务器相对应的经掩码的视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的经掩码的视频而创建的测试结果图像进行比较。
在该方法中,确定步骤可以包括如果比较的两图像彼此相同,则确定在云端流媒体服务器中不存在故障,并且如果比较的两图像彼此不同,则确定在云端流媒体服务器中存在故障。
在该方法中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
另外,根据本发明的云端流媒体服务器测试系统包括:流媒体服务器,所述流媒体服务器被配置为发送与预定的用于测试故障的测试脚本密钥输入相对应的测试结果;和测试装置,所述测试装置被配置为通过将所述测试结果视频掩码来创建经掩码的视频,将通过捕获经掩码的视频而创建的测试结果图像彼此进行比较,并且确定所述云端流媒体服务器中的一个或更多个云端流媒体服务器是否有故障。
为了实现上述目的,根据本发明的云端流媒体服务器测试装置包括:虚拟客户端模块,所述虚拟客户端模块被配置为从云端流媒体服务器接收与预定的测试脚本密钥输入相对应的测试结果并且创建测试结果视频;比较单元,所述比较单元被配置为将通过捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较;以及测试控制单元,所述测试控制单元被配置为基于比较结果确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障,并且当满足基准服务器的改变条件时,改变所述基准服务器。
在该装置中,如果比较的两图像彼此相同,则测试控制单元可以确定在云端流媒体服务器中不存在故障。如果比较的两图像彼此不同,则测试控制单元可以确定在云端流媒体服务器中存在故障。
在该装置中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
在该装置中,基准服务器的改变条件可以指示确定为有故障的云端流媒体服务器的数量大于预定的基准值。
在该装置中,如果在改变基准服务器前确定为有故障的云端流媒体服务器的数量比在改变基准服务器后确定为有故障的云端流媒体服务器的数量大预定数量或更多,则测试控制单元可以确定改变前的基准服务器中存在故障。
根据本发明的改变用于测试云端流媒体服务器的基准服务器的方法包括以下步骤:在虚拟客户端模块处从云端流媒体服务器接收测试结果并且创建测试结果视频;将通过捕获与基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较;基于比较结果确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障;以及当满足基准服务器的改变条件时,改变所述基准服务器。
在该方法中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
该方法还可以包括以下步骤:如果在改变基准服务器前确定为有故障的云端流媒体服务器的数量比在改变基准服务器后确定为有故障的云端流媒体服务器的数量大预定数量或更多,则确定改变前的基准服务器中存在故障。
在该方法中,确定基准服务器中存在故障的步骤可以包括当比较的两图像彼此不同时确定这种故障。
根据本发明的云端流媒体服务器测试系统包括:云端流媒体服务器,所述云端流媒体服务器被配置为发送与预定的用于测试故障的测试脚本密钥输入相对应的测试结果;和测试装置,所述测试装置被配置为将通过捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较以基于比较结果确定所述云端流媒体服务器中的一个云端流媒体服务器是否有故障,并且当满足所述基准服务器的改变条件时改变所述基准服务器。
另外,本发明提供了计算机可读介质,在该计算机可读介质其上记录有执行改变用于测试云端流媒体服务器的基准服务器的上述方法的程序。
为了实现上述目的,根据本发明的云端流媒体服务器测试装置包括:虚拟客户端模块,所述虚拟客户端模块被配置为从云端流媒体服务器接收与预定的测试脚本密钥输入相对应的测试结果并且创建测试结果视频;测试单元,所述测试单元被配置为检测所述虚拟客户端模块与所述云端流媒体服务器之间的连接错误并且将通过捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较;以及测试控制单元,所述测试控制单元被配置为基于比较结果和连接错误检测结果来确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该装置中,如果比较的两图像彼此相同,则测试控制单元可以确定在云端流媒体服务器中不存在故障。如果比较的两图像彼此不同,则测试控制单元可以确定在云端流媒体服务器中存在故障。
在该装置中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
在该装置中,连接错误可以包括从一个客户端模块到一个云端流媒体服务器的连接尝试失败和测试结果传输失败中的一个或更多个。
在该装置中,如果检测到连接错误,则测试单元可以不通过关于与连接错误相对应的云端流媒体服务器与基准服务器的比较来执行测试。
在该装置中,测试控制单元可以通过将与连接错误相对应的故障和与指示两个比较的图像不同的比较结果相对应的故障区分开来创建故障报告。
根据本发明的云端流媒体服务器测试方法包括以下步骤:在虚拟客户端模块处从云端流媒体服务器接收测试结果并且创建测试结果视频;检测虚拟客户端模块与云端流媒体服务器之间的连接错误;将通过捕获与基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较;基于比较结果和连接错误检测结果来确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该方法中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
在该方法中,连接错误可以包括从一个客户端模块到一个云端流媒体服务器的连接尝试失败和测试结果传输失败中的一个或更多个。
在该方法中,如果检测到连接错误,则可以不通过关于与连接错误相对应的云端流媒体服务器与基准服务器的比较来执行测试。
在该方法中,确定故障的步骤可以包括通过将与连接错误相对应的故障和与指示两个比较的图像不同的比较结果相对应的故障区分开来创建故障报告。
根据本发明的云端流媒体服务器测试系统包括:云端流媒体服务器,所述云端流媒体服务器被配置为发送与预定的用于测试故障的测试脚本密钥输入相对应的测试结果;和测试装置,所述测试装置被配置为检测与所述云端流媒体服务器的连接错误,将通过捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较,以及确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
另外,本发明提供了计算机可读介质,在该计算机可读介质其上记录有执行上述云端流媒体服务器测试方法的程序。
为了实现上述目的,根据本发明的云端流媒体服务器测试装置包括:虚拟客户端模块,所述虚拟客户端模块被配置为从云端流媒体服务器接收与预定的测试脚本密钥输入相对应的测试结果并且创建测试结果视频;比较单元,所述比较单元被配置为将通过在满足稳定状态条件后捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过在满足稳定状态条件后捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较;以及测试控制单元,所述测试控制单元被配置为基于比较结果来确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该装置中,稳定状态条件可以是根据预定的测试脚本密钥输入而确定的预定时间的经过条件。
在该装置中,可以根据是否从发送预定的测试脚本密钥输入的时间经过了预定时间来确定是否满足经过条件。
在该装置中,可以根据预定的测试脚本密钥输入而不同地确定稳定状态条件。
在该装置中,如果比较的两图像彼此相同,则测试控制单元可以确定在云端流媒体服务器中不存在故障。如果比较的两图像彼此不同,则测试控制单元可以确定在云端流媒体服务器中存在故障。
在该装置中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
根据本发明的云端流媒体服务器测试方法包括以下步骤:在虚拟客户端模块处从云端流媒体服务器接收测试结果并且创建测试结果视频;确定是否满足稳定状态条件;如果满足稳定状态条件,则通过捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频和与其它云端流媒体服务器相对应的测试结果视频来创建测试结果图像;将通过捕获与基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较;基于比较结果确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该方法中,稳定状态条件可以是根据预定的测试脚本密钥输入而确定的预定时间的经过条件。
在该方法中,可以根据是否从发送预定的测试脚本密钥输入的时间经过了预定时间来确定是否满足经过条件。
在该方法中,可以根据预定的测试脚本密钥输入而不同地确定稳定状态条件。
在该方法中,如果比较的两图像彼此相同,则测试控制单元可以确定在云端流媒体服务器中不存在故障。如果比较的两图像彼此不同,则测试控制单元可以确定在云端流媒体服务器中存在故障。
在该方法中,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
根据本发明的云端流媒体服务器测试系统包括:云端流媒体服务器,所述云端流媒体服务器被配置为发送与预定的用于测试故障的测试脚本密钥输入相对应的测试结果;和测试装置,所述测试装置被配置为将通过在满足稳定状态条件后捕获与作为所述云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过在满足稳定状态条件后捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较,以及确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
为了实现上述目的,根据本发明的云端流媒体服务器测试装置包括:虚拟客户端模块,所述虚拟客户端模块被配置为向云端流媒体服务器发送与公共画面相对应的公共测试脚本密钥输入,从云端流媒体服务器接收与公共测试脚本密钥输入相对应的测试结果,并且创建测试结果视频;比较单元,所述比较单元被配置为将与所述公共画面相对应的基准结果图像与通过捕获与云端流媒体服务器相对应的测试结果视频而创建的一个或更多个测试结果图像进行比较;以及测试控制单元,所述测试控制单元被配置为基于比较结果来确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该装置中,所述公共测试脚本密钥输入可以启用两个或更多个不同的应用以创建相同的公共画面。
在该装置中,所述公共画面可以是排除了动画效果的画面。
在该装置中,如果比较的两图像彼此相同,则测试控制单元可以确定在云端流媒体服务器中不存在故障。如果比较的两图像彼此不同,则测试控制单元可以确定在云端流媒体服务器中存在故障。
在该装置中,可以在与基准结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
根据本发明的云端流媒体服务器测试方法包括以下步骤:在虚拟客户端模块处创建与公共画面相对应的公共测试脚本密钥输入;在虚拟客户端模块处从云端流媒体服务器接收与公共测试脚本密钥输入相对应的测试结果并且创建测试结果视频;将通过捕获与公共画面相对应的基准结果图像与通过捕获测试结果视频而创建的测试结果图像中的一个或更多个进行比较;基于比较结果确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
在该方法中,所述公共测试脚本密钥输入可以启用两个或更多个不同的应用以创建相同的公共画面。
在该方法中,所述公共画面可以是排除了动画效果的画面。
在该方法中,可以在与基准结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
在该方法中,所述确定步骤可以包括:如果比较的两图像彼此相同,则确定在云端流媒体服务器中不存在故障,并且如果比较的两图像彼此不同,则确定在云端流媒体服务器中存在故障。
根据本发明的云端流媒体服务器测试系统包括:云端流媒体服务器,所述云端流媒体服务器被配置为发送与用于测试故障的对应于公共画面的公共测试脚本密钥输入相对应的测试结果;和测试装置,所述测试装置被配置为将与所述公共画面相对应的基准结果图像与通过捕获与云端流媒体服务器相对应的测试结果视频而创建的一个或更多个测试结果图像进行比较;以及确定所述云端流媒体服务器中的至少一个云端流媒体服务器是否有故障。
有益效果
在测试提供云端流媒体服务的服务器是否正常操作时,本发明通过包括至少部分地具有与实际的客户端终端相同功能的至少一个虚拟客户端模块、通过经由至少一个虚拟客户端模块从至少一个云端流媒体服务器接收预定的测试结果并且然后在屏幕上输出接收的结果、通过捕获从至少一个虚拟客户端模块输出的结果图像、通过将捕获的结果图像与预定的基准图像进行比较、并且通过基于两图像是否相同来确定云端流媒体服务器是否正常操作而具有易于检测云端流媒体服务器的优点。
另外,本发明通过如上所述地确定服务器是否正常操作具有预先防止云端流媒体服务器的数据传输错误的优点。
另外,本发明通过预先检测提供云端流媒体服务的服务器的故障而具有提高服务质量的优点,并由此提供稳定的云端流媒体服务。
另外,本发明通过将测试结果视频的动画效果掩码并且然后捕获且比较结果画面而能够防止诸如将正常操作的服务画面报告为故障的测试结果误差。
另外,本发明通过适当地改变云端流媒体服务器测试的基准服务器能够防止在基准服务器故障的情况下测试结果误差的传播。
另外,本发明通过检测云端流媒体服务器的连接错误且经由从多个云端流媒体服务器接收的测试结果画面的比较同时检测云端流媒体的故障而能够测试云端流媒体服务器的操作错误和连接错误两者。
另外,本发明通过在发送密钥脚本输入后执行结果画面进入稳定状态之后捕获测试结果画面能够防止由于在不适当的时间捕获画面造成的测试结果错误。
另外,本发明通过启用两个或更多个应用以创建公共画面并且向云端流媒体服务器发送用于创建排除了动画的执行结果画面的公共测试脚本密钥输入而能够提高云端流媒体服务器测试的效率并且使测试错误最少化。
具体实施方式
在下文中,将参照附图描述本发明的优选实施方式。但是,在下面的描述和附图中,可以不详细描述或例示公知的功能或元件以避免使本发明的主题不清楚。在所有附图中,如果可能,相同的附图标记表示相对应的元件。
在以下说明和权利要求中使用的术语和词语不限于书目含义并且仅由发明人使用以能够清楚且一致地理解本发明。因此,对本领域技术人员显而易见的是,提供本发明示例性实施方式的以下说明仅出于例示的目的并不出于限制本发明的目的,本发明由随附权利要求及其等同物限定。
现在,参照实施方式,将描述能够通过事先检测云端流媒体服务器是否正常操作来防止由于服务器故障造成的服务质量下降的测试技术。
图1是例示根据本发明的实施方式的云端流媒体服务器的测试系统的图。
参照图1,应用了本发明的云端流媒体系统包括经由通信网络110彼此连接的多个客户端100、101和102和多个云端流媒体服务器130、140和150。为了测试该云端流媒体系统是否正常操作,本发明还包括具有虚拟客户端模块的测试装置120,该虚拟客户端模块与多个云端流媒体服务器130、140和150连接并且执行客户端100、101和102的至少一些功能。
虽然以下实施方式例示了三个云端流媒体服务器130、140和150以及具有三个虚拟客户端模块的测试装置120,但是云端流媒体服务器的数量以及虚拟客户端模块的数量不限于此并且可以另选地根据需求和设计而具有各种组合。
上述客户端100、101或102指的是能够经由通信网络110发送和接收各种数据的终端,特别是,表示用于通过接入云端流媒体服务器130、140或150提供云端流媒体服务的用户设备。例如,客户端100、101或102可以是平板PC、膝上型计算机、个人计算机(PC)、智能电话、个人数字助理(PDA)、智能TV、移动通信终端和机顶盒中的一种。
另外,客户端100、101或102指的是具有用于经由通信网络110与云端流媒体服务器130、140或150通信的浏览器、用于存储程序和协议的存储器、用于执行和控制各种程序的微处理器等的终端。也就是说,能够与云端流媒体服务器130、140或150通信的任何终端可以用作客户端100、101或102,包括诸如笔记本计算机、移动通信设备、PDA等的任何通信计算装置。
客户端100、101或102不仅可以例如响应于用户输入接入云端流媒体服务器130、140或150并且请求特定的服务或功能,而且还根据请求的服务或功能的执行从云端流媒体服务器130、140或150接收并且输出结果画面。
另外,云端流媒体服务器130、140或150是向多个客户端100、101和102提供特定服务或功能(特别是云端流媒体服务)的元件。例如,为了提供特定服务或功能(例如,需要高效图像处理的服务或功能),不考虑客户端100、101或102的OS类型、CPU性能、存储容量或其它软件和硬件规格,云端流媒体服务器130、140或150可以响应于从客户端100、101或102接收的用户输入执行服务或功能并且然后向客户端100、101或102发送结果画面。为此,云端流媒体服务器130、140或150可以具有画面虚拟化功能。具体地,为了测试操作是否正常(即,是否发生故障),云端流媒体服务器130、140或150可以接收预定的测试脚本密钥输入并且向测试装置120的各虚拟客户端模块发送基于接收的输入创建的测试结果(测试结果画面)。
通信网络110指的是能够通过使用各种有线/无线通信技术经由互联网协议发送和接收数据的诸如互联网、内联网、移动通信网络、卫星通信网络等网络。通信网络110指的是诸如局域网(LAN)或广域网(WAN)的封闭式网络、诸如因特网的开放式网络、诸如码分多址(CDMA)、宽带码分多址(WCDMA)、全球移动通信系统(GSM)、长期演进(LTE)或演进分组核心(EPC)、未来将实现的下一代网络以及计算网络的网络。
测试装置120是用于测试云端流媒体服务器130、140或150是否正常操作的设备。测试装置120包括具有客户端100、101或102的至少一些功能的至少一个虚拟客户端模块。
当至少一个虚拟客户端模块从云端流媒体服务器130、140和150中的至少一个接收测试结果、处理接收到的测试结果并且在屏幕上输出结果图像时,测试装置120捕获输出的结果图像、将捕获的结果图像与预定的基准结果图像进行比较,并且然后根据两个图像是否相同来确定至少一个云端流媒体服务器是否发生故障。具体地,当至少一个虚拟客户端模块执行诸如针对从特定的云端流媒体服务器130接收的测试结果解码的数据处理并且然后在屏幕上输出结果图像时,测试装置120将在捕获时间输出的结果图像与预定的基准结果图像(该基准结果图像可以与作为测试目标的云端流媒体服务器相对应)进行比较。如果两个图像不同,则测试装置120确定云端流媒体服务器130由于任何故障而操作异常。如果两个图像相同,则测试装置120确定云端流媒体服务器130正常操作。测试装置120可以通过在捕获结果图像之前对测试结果视频进行掩码来创建经掩码的视频,并且然后通过捕获经掩码的视频可以创建结果图像。在这种情况下,捕获时间可以基于当从云端流媒体服务器130、140和150中的至少一个发送测试结果的时间点来设置,并且可以事先被存储在测试装置120中。
具体地,在满足测试结果视频的稳定状态条件之后可以执行这种捕获。也就是说,在向云端流媒体服务器130、140和150发送测试密钥脚本输入之后,创建最终测试结果画面所需的时间可以根据发送密钥脚本输入所需的时间或云端流媒体服务器130、140和150的操作速度而变化。因此,为了获得无差错的测试结果,当经过足够的时间之后从云端流媒体服务器130、140和150发送正常状态结果画面时,需要捕获测试结果画面。
此时,测试装置120可以向云端流媒体服务器130、140和150发送与公共画面相对应的公共测试脚本密钥输入,并且然后从云端流媒体服务器130、140和150接收与输入的公共测试脚本密钥输入相对应的测试结果。在这种情况下,公共测试脚本密钥输入可以启用两个或更多个不同的应用以创建相同的公共画面。该公共画面可以是排除了所有动画效果的画面。
与此类似,使用公共测试脚本密钥输入执行的测试可以排除由于动画等引起测试结果错误的可能性。另外,由于可以向多个应用同样地施加相同的密钥,因此能够执行高效测试。
例如,通过将由云端流媒体服务器130、140和150创建的测试结果视频的具有动画效果并且与密钥输入无关地变化的部分进行掩码,测试装置120可以创建经掩码的视频,并且然后通过将捕获经掩码的视频而获得的测试结果图像进行比较来确定云端流媒体服务器130、140和150中的至少一个的故障。如果确定需要改变基准服务器130(如果满足改变条件),则基准服务器130可以改变为另一服务器140或150。
例如,测试装置120可以将通过捕获与作为云端流媒体服务器130、140和150中的一个的基准服务器130相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器140和150相对应的测试结果视频而创建的测试结果图像进行比较,并且然后确定云端流媒体服务器130、140和150中的至少一个的故障。如果确定需要改变基准服务器130(如果满足改变条件),则基准服务器130可以改变为另一服务器140或150。
例如,测试装置120可以将通过在满足稳定状态条件之后捕获与作为云端流媒体服务器130、140和150中的一个的基准服务器130相对应的测试结果视频而创建的测试结果图像与通过在满足稳定状态条件之后捕获与其它云端流媒体服务器140和150相对应的测试结果视频而创建的测试结果图像进行比较,并且然后确定云端流媒体服务器130、140和150中的至少一个的故障。如果确定需要改变基准服务器130(如果满足改变条件),则基准服务器130可以改变为另一服务器140或150。
在这种情况下,稳定状态条件可以是根据预定的测试脚本密钥输入而确定的预定时间的经过条件。
在这种情况下,可以根据是否从发送预定的测试脚本密钥输入的时间经过了预定时间来确定是否满足经过条件。
在这种情况下,可以根据预定的测试脚本密钥输入而不同地确定稳定状态条件。也就是说,如果任何测试密钥输入耗时较长,则稳定状态条件可以根据较长的输入过程而变化。
在这种情况下,改变条件可以指示在云端流媒体服务器当中被确定为有故障的云端流媒体服务器的数量大于预定的基准值。
测试装置120可以检测与云端流媒体服务器130、140和150的连接错误。例如,如果在试图与云端流媒体服务器130、140和150连接时接收到失败或没有从云端流媒体服务器130、140和150接收到测试结果达预定时间或更长时间,则测试装置120可以认为连接错误。也就是说,如果客户端模块试图与云端流媒体进行连接但是连接失败,或如果没有从云端流媒体服务器发送云端流媒体服务画面,则测试装置120可以通过画面比较与测试独立地通知连接错误。
测试装置120通过将在测试结果视频中具有动画效果的部分掩码可以创建经掩码的视频,并且然后执行针对通过捕获经掩码的视频而创建的测试结果图像的比较。
与此类似,当至少一个虚拟客户端模块从各个不同的云端流媒体服务器接收测试结果时,本发明将从虚拟客户端模块输出的结果图像与基准结果图像进行比较,并且然后基于比较结果确定云端流媒体服务器是否正常操作。也就是说,基于由客户端100、101或102实际向客户提供的画面图像,本发明确定云端流媒体服务器130、140和150中的每一个是否正常操作。但是,当比较时,即使相同的输入被掩码,动画部分也可能根据捕获时间产生不同的结果。为此,测试装置120可以同时请求云端流媒体服务器130、140和150中的至少一个发送测试结果,并且云端流媒体服务器130、140和150中的每一个可以响应于该请求信号发送测试结果。另外,可以预定从至少一个云端流媒体服务器130、140或150接收测试结果并且处理测试结果的虚拟客户端模块。也就是说,至少一个云端流媒体服务器130、140或150和至少一个虚拟客户端模块可以具有一对一或多对一的映射关系。因此,当请求至少一个云端流媒体服务器130、140或150发送测试结果时,测试装置120可以发送关于虚拟客户端模块的信息以接收测试结果。另外,当虚拟客户端模块被映射至两个或更多个云端流媒体服务器时,测试装置可以调节请求指示一个云端流媒体服务器130、140或150的测试结果传输的时间点从而从两个或更多个云端流媒体服务器130、140和150顺序地接收测试结果。
现在,在上述系统中,将参照图2和图3详细描述根据本发明的实施方式的测试装置120。
首先,参照图2,测试装置120可以被配置为包括测试控制单元200、存储单元210、比较单元220、输入单元230、输出单元240和至少一个客户端模块250、252或254。虽然在本实施方式中示例性地示出了三个虚拟客户端模块250、252和254,但是虚拟客户端模块250、252和254的数量可以根据系统操作而变化。
测试控制单元200执行确定是否存在云端流媒体服务器130、140和150的故障所需的全部控制。当请求测试控制单元200确定故障时,测试控制单元200基于经由比较单元220获得的比较结果(即,根据通过捕获测试结果的输出画面而创建的结果图像是否与预定的基准结果图像相同)来确定云端流媒体服务器是否发生故障。在这种情况下,用于确定故障的请求的时间点可以是当从虚拟客户端模块250、252或254完全接收到测试结果的时间点、存在用于确定故障的请求的经由输入端元230的输入的时间点或预定的定期时间点。也就是说,用于确定故障的请求可以基于设置。另外,可以预先存储基准结果图像,或者从至少一个虚拟客户端模块250、252和254当中的特定虚拟客户端模块输出的结果图像可以被定义为基准结果图像。
具体地,当满足基准服务器的改变条件时,测试控制单元200将基准服务器改变成另一云端流媒体服务器。也就是说,如果在基准服务器处发生任何故障,则基于该基准服务器的测试可能产生正常操作的服务器有故障的错误测试结果。适当地改变基准服务器可以防止这种不期望的情况。
另外,如果比较的两个图像彼此相同,则测试控制单元200确定云端流媒体服务器没有故障。如果两图像不同,则测试控制单元200确定云端流媒体服务器有故障。
另外,如果在改变基准服务器之前确定为有故障的云端流媒体服务器的数量比在改变基准服务器之后确定为有故障的云端流媒体服务器的数量大预定数量或更多,则测试控制单元200可以确定在改变前在基准服务器中存在故障。
存储单元210可以存储测试装置120的操作所需的信息。存储单元210同时存储关于用于捕获的捕获时间点的信息和针对从至少一个云端流媒体服务器130、140或150发送的测试结果的结果视频。捕获时间点可以在针对所有云端流媒体服务器满足稳定状态条件之后。另外,存储单元210可以存储从云端流媒体服务器发送的关于测试结果的基本信息。具体地,存储单元210可以预先存储要用于确定云端流媒体服务器是否发生故障的特定时间点的基准图像。存储单元210可以包括诸如硬盘、软盘或磁带的磁介质、诸如光盘只读存储器(CD-ROM)或数字视频光盘(DVD)的光学介质、诸如软式光盘、ROM、随机存取存储器(RAM)、闪存的磁光介质。
比较单元220可以在测试控制单元200的控制下请求测试结果视频的传输,该测试结果视频在虚拟客户端模块250、252和254的每个虚拟客户端模块处被接收并且然后被输出为画面。另外,比较单元220通过将测试结果视频中具有动画的部分掩码而创建经掩码的视频,通过捕获经掩码的视频创建测试结果图像,并且将创建的测试结果图像与基准结果图像进行比较,并且将比较结果输出至测试控制单元200。为此,比较单元200还可以执行设置基准结果图像的过程。也就是说,比较单元220可以将通过捕获与作为云端流媒体服务器中的一个云端流媒体服务器的基准服务器相对应的经掩码的视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较。
在这种情况下,可以在与基准服务器相对应的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。该捕获时间点可以在针对所有云端流媒体服务器满足稳定状态条件之后。
输入单元230可以根据云端流媒体服务器管理器的操作来创建与该云端流媒体服务器管理器的请求或信息相对应的用户输入信号。输入单元230可以由当前被商业化的或预计要被商业化的各种输入机构(例如,包括诸如键盘、鼠标、控制杆、触摸屏、触摸板等的常规输入设备和诸如检测用户的运动并由此创建特定输入信号的手势输入设备)来实现。
输出单元240是用于允许用户察觉到测试装置120的操作结果或状态的设备,例如包括用于在屏幕上提供视觉输出的显示单元、用于输出可听声音的扬声器等。具体地,在本发明中,输出单元240可以视觉地输出从至少一个虚拟客户端模块250、252或254处理并输出的结果图像,将该结果图像与基准结果图像进行比较,输出比较结果,并且显示云端流媒体服务器是否有故障。
将访问云端流媒体服务器130、140或150的客户端100、101或102虚拟化并且被提供云端流媒体服务的虚拟客户端模块250、252或250可以实际执行客户端100、101或102的至少一些功能。例如,虚拟客户端模块250、252或254可以访问云端流媒体服务器130、140和150中的特定的一个云端流媒体服务器,从特定的云端流媒体服务器130、140或150接收测试结果,通过对接收的测试结果执行与客户端100、101或102所执行的相同的处理(例如,解码)而创建测试结果视频,并且经由输出单元240在屏幕上输出创建的测试结果视频。另外,响应于请求来自比较单元220的结果图像,虚拟客户端模块250、252或254可以在特定时间点捕获在屏幕上输出的结果图像并且然后将其传输至比较单元220。关于捕获时间点的信息可以从比较单元220被接收或被预先设置和存储。可以例如以捕获存储在虚拟客户端模块250、252或254的帧缓冲器中的图像数据的方式来执行捕获结果图像。在其它实施方式中,可以另选地在比较单元220处捕获测试结果视频以及创建测试结果图像。
也就是说,虚拟客户端模块250、252或254向云端流媒体服务器提供测试脚本密钥输入,从云端流媒体服务器接收与测试脚本密钥输入相对应的测试结果,并且通过对测试结果进行解码来创建测试结果视频。在这种情况下,测试结果可以是被编码的流媒体视频,并且测试结果视频可以是被解码的流媒体视频。
具体地,虚拟客户端模块250、252和254可以向云端流媒体服务器130、140和150发送与公共画面相对应的公共测试脚本密钥输入,从云端流媒体服务器130、140和150接收与公共测试密钥输入相对应的测试结果,并且创建测试结果视频。
在这种情况下,公共测试脚本密钥输入可以允许两个或更多个不同的应用创建公共画面。
在这种情况下,公共画面可以是排除了动画效果的画面。
即,通过使用公共测试脚本密钥输入,多个应用可以共享测试脚本密钥输入并且进一步共享基准结果图像。另外,通过使用用于创建排除了动画效果的公共画面的公共测试脚本密钥输入,可以防止测试结果的任何错误。
虚拟客户端模块250、252或254的内部构造如图3所示。由于各个虚拟客户端模块250、252和254具有相同的构造,因此关于图3的以下说明将示例性地使用虚拟客户端模块250。
图3是例示根据本发明的实施方式用于接收并处理测试结果的虚拟客户端模块的构造的图。
参照图3,虚拟客户端模块250可以被配置为包括控制单元300、通信单元302和存储单元304。
可以通过将能够接收从云端流媒体服务器130、140或150提供的数据的终端设备(例如,平板PC、膝上型计算机、个人计算机(PC)、智能电话、个人数字助理(PDA)、智能电视、移动通信终端和机顶盒中的一种)虚拟化来实现虚拟客户端模块250。因此,根据终端设备的类型,虚拟客户端模块250可以具有不同的构造。具体地,在本发明中,虚拟客户端模块250可以实现为用于进一步执行接收测试结果、对接收的测试结果进行解码、创建测试结果视频以及输出画面的功能。
控制单元300执行虚拟客户端模块250的所有控制。具体地,响应于从比较单元220或测试单元820到云端流媒体服务器130、140或150的请求,控制单元300在特定的时间点提取在画面上输出的结果图像并且然后将其传输至比较单元220或测试单元820。另外,控制单元300可以经由通信单元302向特定的云端流媒体服务器130、140或150发送测试结果传输请求信号。当发送测试结果传输请求信号时,控制单元300还可以发送接收测试结果的虚拟客户端模块的标识信息。另外,基于多个云端流媒体服务器的测试进度,控制单元300可以针对每个云端流媒体服务器顺序地发送测试结果传输请求。
通信单元302经由通信网络110从云端流媒体服务器130、140或150接收测试结果。通信单元302可以以各种通信方式以及有线或无线的方式来发送和接收数据。另外,通信单元302可以通过使用一个或更多个通信方案来发送和接收数据。为此,通信单元302可以包括基于不同通信方案的用于发送和接收数据的多个通信模块。
存储单元304存储虚拟客户端模块250的操作所需的信息。具体地,存储单元304可以存储从云端流媒体服务器130、140和150接收的测试结果。另外,存储单元302可以存储通过执行针对接收的测试结果的数据处理而在画面上输出的测试结果视频,并且根据设置预先存储关于结果图像的捕获时间点的信息。存储单元304可以包括诸如硬盘、软盘或磁带的磁介质、诸如光盘只读存储器(CD-ROM)或数字视频光盘(DVD)的光学介质、诸如软式光盘、ROM、随机存取存储器(RAM)、闪存的磁光介质。
图4是例示在根据本发明的实施方式的测试系统处的测试云端流媒体服务器是否正常操作的过程的流程图。
云端流媒体服务器130、140和150同时向测试装置120的虚拟客户端模块250、252和254发送测试结果(步骤S402至步骤S406)。也就是说,一个客户端流媒体服务器130向虚拟客户端模块250发送测试结果,另一云端流媒体服务器140可以向虚拟客户端模块252发送测试结果,并且另一个云端流媒体服务器150可以向虚拟客户端模块254发送测试结果。与此相反,一个虚拟客户端模块可以每隔一段时间从多个云端流媒体服务器130、140和150顺序地接收测试结果。
在这种情况下,云端流媒体服务器130、140或150可以响应于虚拟客户端模块250、252或254的测试脚本密钥输入发送测试结果。
虚拟客户端模块250、252和254中的每一个通过对从云端流媒体服务器130、140或150接收的测试结果进行解码来创建测试结果视频,并且向比较单元220提供创建的视频(步骤S414至S419)。在这些步骤,可以响应于来自测试控制单元200的测试请求提供测试结果视频。另外,比较单元220可以请求虚拟客户端模块250、252和254中的每一个虚拟客户端模块传输从云端流媒体服务器130、140或150接收的测试结果。此时,虚拟客户端模块250、252或254可以通过像客户端100、101或102实际处理地那样处理接收的测试结果来创建测试结果视频,并且然后在画面上输出创建的视频。此时,虚拟客户端模块250、252或254可以捕获在由比较单元请求的时间点或在预定的特定时间点正向画面输出的操作情况视频并且然后将捕获的视频发送至比较单元220。也就是说,可以由虚拟客户端模块250或比较单元220执行捕获操作情况视频以及创建操作情况图像。
在每个接收的测试结果视频中,比较单元220通过将施加了动画的部分掩码来创建经掩码的视频(步骤S420)。
在该步骤,施加了动画的部分是与密钥输入无关地变化的部分并且可以是可移动对象、具有可变尺寸、形状、颜色等的对象插入的部分等。另外,该部分可以是显示时钟的部分。
比较单元220将通过捕获每个经掩码的视频而创建的测试结果图像与预定的基准结果图像进行比较,并且然后向测试控制单元200传送比较结果(步骤S424和S426)。这里,基准结果图像可以是当正常发送和输出测试结果时将会出现的预存储的结果图像。另选地,从虚拟客户端模块250、252和254中的预定的特定一个虚拟客户端模块输出的结果图像可以被设置为基准结果图像。为此,在执行比较之前,比较单元220还可以执行设置基准结果图像的步骤。
然后,测试控制单元200基于比较结果确定云端流媒体服务器是否有故障。作为比较的结果,如果从接收的测试结果捕获的结果图像与预定的基准结果图像不同,则测试控制单元200确定在云端流媒体服务器中存在故障(步骤S427)。在该步骤,如果从接收的测试结果捕获的结果图像与预定的基准结果图像相同,则测试控制单元200确定在云端流媒体服务器中不存在故障。此时,比较结果关于云端流媒体服务器130、140和150中的每一个被传送至测试控制单元200,并且然后,基于比较结果,测试控制单元200可以确定每一个云端流媒体服务器是否有故障。
图5是例示根据本发明的实施方式的用于在测试装置120处测试云端流媒体服务器130、140或150是否正常操作的方法的流程图。
参照图5,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块向云端流媒体服务器发送与测试脚本相对应的密钥输入(步骤S510),并且虚拟客户端模块从云端流媒体服务器接收测试结果并且然后创建测试结果视频(步骤S520)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置通过将在测试结果视频中被施加动画效果的部分掩码来创建经掩码的视频(步骤S530)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置通过捕获经掩码的视频来创建测试结果图像(步骤S540)。
此时,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
另外,可以通过在图2中示出的虚拟客户端模块250、252和254或通过比较单元220来执行步骤S540。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置将基准服务器的测试结果图像与其它云端流媒体服务器的测试结果图像进行比较,并且由此确定比较的图像是否彼此相同(步骤S550和S560)。
如果比较的图像相同,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中不存在故障(步骤S570)。
如果比较的图像不同,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中存在故障(步骤S580)。
图6是例示在根据本发明的实施方式的测试系统处的测试云端流媒体服务器是否正常操作的过程的流程图。
云端流媒体服务器130、140和150同时向测试装置120的虚拟客户端模块250、252和254发送测试结果(步骤S602至S606)。也就是说,一个客户端流媒体服务器130可以向虚拟客户端模块250发送测试结果,另一云端流媒体服务器140可以向虚拟客户端模块252发送测试结果,并且另一个云端流媒体服务器150可以向虚拟客户端模块254发送测试结果。与此相反,一个虚拟客户端模块可以每隔一段时间从多个云端流媒体服务器130、140和150顺序地接收测试结果。
在这种情况下,云端流媒体服务器130、140或150可以响应于虚拟客户端模块250、252或254的测试脚本密钥输入来发送测试结果。
测试装置120的接收测试结果的测试控制单元200响应于测试请求使用通过捕获测试结果视频而获得的测试结果图像来请求比较(S608和S610)。
测试装置120的比较单元220可以请求虚拟客户端模块250、253和254中的每一个传送从云端流媒体服务器130、140或150接收的测试结果。
虚拟客户端模块250、252和254中的每一个向比较单元220传送接收的测试结果(步骤S614、S618和S622)。此时,虚拟客户端模块250、252或254可以通过像客户端100、101或102实际处理地那样处理接收的测试结果来创建测试结果视频,并且然后在画面上输出创建的视频。此时,虚拟客户端模块250、252或254可以捕获在由比较单元请求的时间点或在预定的特定时间点正向画面输出的测试结果视频并且然后将捕获的视频发送至比较单元220。也就是说,可以由虚拟客户端模块250、252或254或由比较单元220执行捕获测试结果视频以及创建测试结果图像。
然后,比较单元220将通过捕获每个接收的测试结果视频创建的测试结果图像与预定的基准结果图像进行比较,并且然后将比较结果传送至测试控制单元200(步骤S624和S626)。这里,基准结果图像可以是当正常发送和输出测试结果时将出现的预存储的结果图像。另选地,从虚拟客户端模块250、252和254中的预定的特定一个虚拟客户端模块输出的结果图像可以被设置为基准结果图像。为此,在执行比较之前,比较单元220还可以执行设置基准结果图像的步骤。
然后,测试控制单元200基于比较结果确定云端流媒体服务器是否有故障。作为比较的结果,如果从接收的测试结果捕获的结果图像与预定的基准结果图像不同,则测试控制单元200确定在云端流媒体服务器中存在故障(步骤S627)。在该步骤,如果从接收的测试结果捕获的结果图像与预定的基准结果图像相同,则测试控制单元200确定在云端流媒体服务器中不存在故障。此时,关于云端流媒体服务器130、140和150中的每一个云端流媒体服务器,比较结果被传送至测试控制单元200,并且然后,基于比较结果,测试控制单元200可以确定每一个云端流媒体服务器是否有故障。
另外,测试控制单元200确定是否满足基准服务器改变条件(步骤S628)。
如果确定满足改变条件,则测试控制单元200改变基准服务器(步骤S629)。
此时,改变条件可以指示确定为有故障的云端流媒体服务器的数量大于预定的基准值。也就是说,如果检测到太多的故障,则这可能由基准服务器的故障引起。在这种情况下,不得不改变基准服务器可以防止错误的测试结果。
图7是例示根据本发明的实施方式的用于在测试装置120处测试云端流媒体服务器130、140或150是否正常操作的基准服务器改变方法的流程图。
参照图7,在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中,虚拟客户端模块向云端流媒体服务器发送与测试脚本相对应的密钥输入(步骤S710)。
另外,在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中,虚拟客户端模块从云端流媒体服务器接收测试结果并且然后创建测试结果视频(步骤S720)。
另外,在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中,测试装置通过捕获测试结果视频来创建测试结果图像(步骤S730)。
此时,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
另外,可以通过在图2中示出的虚拟客户端模块250、252和253或通过比较单元220来执行步骤S730。
另外,在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中,测试装置将基准服务器的测试结果图像与其它云端流媒体服务器的测试结果图像进行比较,并且由此确定比较的图像是否彼此相同(步骤S740和S750)。
如果比较的图像相同,则在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中的测试装置确定在云端流媒体服务器中不存在故障(步骤S751)。
如果比较的图像不同,则在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中的测试装置确定在云端流媒体服务器中存在故障(步骤S760)。
另外,在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中,测试装置确定是否满足基准服务器改变条件(步骤S770)。
此时,改变条件可以指示确定为有故障的云端流媒体服务器的数量大于预定的基准值。
作为在步骤S770的确定结果,如果确定满足基准服务器改变条件,则在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中的测试装置改变基准服务器(步骤S780)并且再次比较测试结果图像(步骤S740)。
在根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法中,测试装置确定是否满足测试终止条件(步骤S752),并且当满足测试终止条件时终止处理。
在该步骤,可以从用户或在预定时期期间发生低于预定水平的故障的条件接收测试终止条件。
虽然在图7中没有示出,但是如果在改变基准服务器之前确定为有故障的云端流媒体服务器的数量比在改变基准服务器之后确定为有故障的云端流媒体服务器的数量大预定数量或更多,则根据本发明的实施方式的用于测试云端流媒体服务器的基准服务器改变方法还可以包括确定改变前在基准服务器中存在故障的步骤。
图8是根据本发明的另一实施方式的云端流媒体服务器测试装置的图。
参照图8,测试装置120可以被配置为包括测试控制单元800、存储单元810、测试单元820、输入单元830、输出单元840和至少一个客户端模块850、852或854。虽然在本实施方式中示例性地示出了三个虚拟客户端模块850、852和854,但是虚拟客户端模块850、852和854的数量可以根据系统操作而变化。
测试控制单元800执行确定是否存在云端流媒体服务器130、140和150的故障所需的全部控制。当请求测试控制单元800确定故障时,测试控制单元800基于经由比较单元820获得的比较结果(即,根据通过捕获测试结果的输出画面而创建的结果图像是否与预定的基准结果图像相同)来确定云端流媒体服务器是否发生故障。在这种情况下,用于确定故障的请求的时间点可以是当从虚拟客户端模块850、852或854完全接收到测试结果的时间点、存在用于确定故障的请求的经由输入端元830的输入的时间点或预定的定期时间点。也就是说,用于确定故障的请求可以基于设置。另外,可以预先存储基准结果图像,或者从至少一个虚拟客户端模块850、852和854当中的特定虚拟客户端模块输出的结果图像可以被定义为基准结果图像。
具体地,测试控制单元800可以根据虚拟客户端模块与云端流媒体服务器之间的连接的错误的检测结果来确定是否存在故障。
另外,如果比较的两个图像彼此相同,则测试控制单元800确定云端流媒体服务器没有故障。如果两图像不同,则测试控制单元800确定云端流媒体服务器有故障。
另外,测试控制单元800通过将与指示两个比较的图像不同的比较结果相对应的故障与和连接错误相对应的故障区分开可以创建故障报告。
另外,如果在改变基准服务器之前确定为有故障的云端流媒体服务器的数量比在改变基准服务器之后确定为有故障的云端流媒体服务器的数量大预定数量或更多,则测试控制单元800可以确定在改变前在基准服务器中存在故障。
存储单元810可以存储测试装置120的操作所需的信息。存储单元810同时存储关于用于捕获的捕获时间点的信息和针对从至少一个云端流媒体服务器130、140或150发送的测试结果的结果视频。另外,存储单元810可以存储从云端流媒体服务器发送的关于测试结果的基本信息。具体地,存储单元810可以预先存储要用于确定云端流媒体服务器是否发生故障的特定时间点的基准图像。存储单元810可以包括诸如硬盘、软盘或磁带的磁介质、诸如光盘只读存储器(CD-ROM)或数字视频光盘(DVD)的光学介质、诸如软式光盘、ROM、随机存取存储器(RAM)和闪存的磁光介质。
测试单元820可以在测试控制单元800的控制下请求测试结果视频的传输,该测试结果视频在虚拟客户端模块850、852和854的每个虚拟客户端模块处被接收并且然后被输出为画面。另外,测试单元820将通过捕获测试结果视频而创建的测试结果图像与基准结果图像进行比较,并且向测试控制单元800输出比较结果。为此,测试单元820还可以执行设置基准结果图像的过程。也就是说,测试单元820可以将通过捕获与作为云端流媒体服务器中的一个的基准服务器相对应的测试结果视频而创建的测试结果图像与通过捕获与其它云端流媒体服务器相对应的测试结果视频而创建的测试结果图像进行比较。
在这种情况下,可以在与基准服务器相对应的测试结果图像相同的时间点捕获与其它云端流媒体服务器相对应的测试结果图像。
具体地,测试单元820可以检测虚拟客户端模块与云端流媒体服务器之前的连接错误。
在这种情况下,连接错误可以包括从一个客户端模块到一个云端流媒体服务器的连接尝试失败和测试结果传输失败中的一个或更多个。
如果检测到连接错误,则测试单元820可以不通过关于与连接错误相对应的云端流媒体服务器与基准服务器的比较来执行测试。
输入单元830可以根据云端流媒体服务器管理器的操作来创建与该云端流媒体服务器管理器的请求或信息相对应的用户输入信号。输入单元830可以由当前被商业化的或预计要被商业化的各种输入机构(例如,包括诸如键盘、鼠标、控制杆、触摸屏、触摸板等的常规输入设备和检测用户的运动并由此创建特定输入信号的手势输入设备)来实现。
输出单元840是用于允许用户察觉到测试装置120的操作结果或状态的设备,例如包括用于在屏幕上提供视觉输出的显示单元、用于输出可听声音的扬声器等。具体地,在本发明中,输出单元840可以视觉地输出从至少一个虚拟客户端模块850、852或854处理并输出的结果图像,将该结果图像与基准结果图像进行比较,输出比较结果,并且显示云端流媒体服务器是否有故障。
将访问云端流媒体服务器130、140或150的客户端100、101或102虚拟化并且被提供云端流媒体服务的虚拟客户端模块850、852或854可以实际执行客户端100、101或102的至少一些功能。例如,虚拟客户端模块850、852或854可以访问云端流媒体服务器130、140和150中的特定的一个云端流媒体服务器,从特定的云端流媒体服务器130、140或150接收测试结果,通过对接收的测试结果执行与客户端100、101或102所执行的相同的处理(例如,解码)而创建测试结果视频,并且经由输出单元840在屏幕上输出创建的测试结果视频。另外,响应于请求来自比较单元820的结果图像,虚拟客户端模块850、852或854可以在特定时间点捕获在屏幕上输出的结果图像并且然后将其传输至测试单元820。关于捕获时间点的信息可以从测试单元820被接收或被预先设置和存储。可以例如以捕获存储在虚拟客户端模块850、852或854的帧缓冲器中的图像数据的方式来执行捕获结果图像。在其它实施方式中,可以另选地在测试单元820处捕获测试结果视频以及创建测试结果图像。
也就是说,虚拟客户端模块850、852或854向云端流媒体服务器提供测试脚本密钥输入,从云端流媒体服务器接收与测试脚本密钥输入相对应的测试结果,并且通过对测试结果进行解码来创建测试结果视频。在这种情况下,测试结果可以是被编码的流媒体视频,并且测试结果视频可以是被解码的流媒体视频。
虚拟客户端模块850、852或854的内部构造如图3所示。
图9是例示在根据本发明的实施方式的测试系统处测试云端流媒体服务器是否正常操作的过程的流程图。
云端流媒体服务器130、140和150同时向测试装置120的虚拟客户端模块850、852和854发送测试结果(步骤S902至步骤S906)。也就是说,一个客户端流媒体服务器130可以向虚拟客户端模块850发送测试结果,另一云端流媒体服务器140可以向虚拟客户端模块852发送测试结果,并且其它云端流媒体服务器150可以向虚拟客户端模块854发送测试结果。与此相反,一个虚拟客户端模块可以每隔一段时间从多个云端流媒体服务器130、140和150顺序地接收测试结果。
在这种情况下,云端流媒体服务器130、140或150可以响应于虚拟客户端模块850、852或854的测试脚本密钥输入发送测试结果。
虚拟客户端模块850、852和854中的每一个通过对从云端流媒体服务器130、140或150接收的测试结果进行解码来创建测试结果视频,并且向测试单元820提供创建的视频(步骤S914、S918和S922)。在这些步骤,可以响应于来自测试控制单元800的测试请求提供测试结果视频。另外,测试单元820可以请求虚拟客户端模块850、852和854中的每一个虚拟客户端模块传输从云端流媒体服务器130、140或150接收的测试结果。此时,虚拟客户端模块850、852或854可以通过像客户端100、101或102实际处理地那样处理接收的测试结果来创建测试结果视频,并且然后在画面上输出创建的视频。此时,虚拟客户端模块850、852或854可以捕获在由测试单元820请求的时间点或在预定的特定时间点正向画面输出的测试结果视频并且然后将捕获的视频发送至测试单元820。也就是说,可以由虚拟客户端模块850、852或854或测试单元820执行捕获测试结果视频以及创建测试结果图像。
另外,测试单元820检测云端流媒体服务器130、140和150与虚拟客户端模块850、852和854之间的连接错误(步骤S916)。
在该步骤,连接错误可以包括从虚拟客户端模块850到云端流媒体服务器130的连接尝试失败和测试结果传输失败(步骤S902)、从虚拟客户端模块852到云端流媒体服务器140的连接尝试失败和测试结果传输失败(步骤S904)以及从虚拟客户端模块854到云端流媒体服务器150的连接尝试失败和测试结果传输失败(步骤S906)中的一个或更多个。
测试单元820向测试控制单元800发送连接错误的检测结果(步骤S920)。
测试控制单元800基于连接错误检测结果来确定是否发生连接错误(步骤S921),然后如果确定没有发生连接错误,则请求测试单元820比较测试结果图像(步骤S923)。
接收用于比较测试结果图像的请求的测试单元820将通过捕获接收的测试结果视频而获得的测试结果图像与预定的基准结果图像进行比较,并且然后向测试控制单元800传送比较结果(步骤S924和S926)。这里,基准结果图像可以是当正常发送和输出测试结果时将出现的预存储的结果图像。另选地,从虚拟客户端模块850、852和854中的预定的特定一个虚拟客户端模块输出的结果图像可以被设置为基准结果图像。为此,在执行比较之前,测试单元820还可以执行设置基准结果图像的步骤。
然后,测试控制单元800基于比较结果和是否发生连接错误来确定云端流媒体服务器是否有故障。作为比较的结果,如果从接收的测试结果捕获的结果图像与预定的基准结果图像不同,则测试控制单元800确定在云端流媒体服务器中存在故障(步骤S927)。在该步骤,如果从接收的测试结果捕获的结果图像与预定的基准结果图像相同,则测试控制单元800确定在云端流媒体服务器中不存在故障。此时,比较结果关于云端流媒体服务器130、140和150中的每一个被传送至测试控制单元200,并且然后,基于比较结果,测试控制单元800可以确定每一个云端流媒体服务器是否有故障。
另外,测试控制单元800通过将与连接错误相对应的故障和与指示两个比较的图像不同的比较结果相对应的故障区分开可以创建故障报告。
图10是例示根据本发明的实施方式的用于在测试装置120处测试云端流媒体服务器130、140或150是否正常操作的方法的流程图。
参照图10,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块向云端流媒体服务器发送与测试脚本相对应的密钥输入(步骤S1010)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块从云端流媒体服务器接收测试结果并且然后创建测试结果视频(步骤S1020)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置检测虚拟客户端模块与云端流媒体服务器之间的连接错误(步骤S1030)。
在这种情况下,连接错误可以包括从一个客户端模块到一个云端流媒体服务器的连接尝试失败和测试结果传输失败中的一个或更多个。
如果在步骤S1030没有检测到连接错误,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置通过捕获测试结果视频而创建测试结果图像(步骤S1040)。
此时,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
另外,步骤S1040可以由图8中示出的虚拟客户端模块850、852和854或由测试单元820执行。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置将基准服务器的测试结果图像与其它云端流媒体服务器的测试结果图像进行比较,并且由此确定比较的图像是否彼此相同(步骤S1050和S1060)。
如果比较的图像相同,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中不存在故障(步骤S1070)。
如果比较的图像不同,则在根据本发明的实施方式的云端流媒体测试方法中的测试装置确定在云端流媒体服务器中存在故障(步骤S1080)。
如果在步骤S1030检测到连接错误,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中存在故障(步骤S1080)。也就是说,如果检测到连接错误,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置可以不执行比较测试结果图像的测试步骤。
在步骤S1080,测试装置通过将与连接错误相对应的故障和与指示两个比较的图像不同的比较结果相对应的故障区分开可以创建故障报告。
图11是例示根据本发明的实施方式的云端流媒体服务器测试方法的捕获时序的时序图。
参照图11,即使同时向两个云端流媒体服务器发送预定的测试脚本密钥输入,这种云端流媒体服务器也可以具有不同的响应速度。
例如,虚拟客户端模块可以在不同的时间访问云端流媒体服务器,可以在不同的时间输入密钥输入,或云端流媒体服务器可以在不同的时间处理密钥输入。由于这些原因,从云端流媒体服务器接收的测试结果视频可以具有进入稳定状态的不同时间。
在图11中示出的示例中,如果在第一捕获时间(t1)执行针对测试结果视频的捕获,则可能产生错误的测试结果,因为下面的测试结果视频还没有进入到其稳定状态。如果在第二捕获时间(t2)执行针对测试结果视频的捕获,则可以获得正确的测试结果,因为上面测试结果和下面测试结果二者视频已经进入其稳定状态。
因此,在满足根据测试脚本密钥输入的稳定状态条件之后捕获测试结果视频非常重要。
现在将参照图12和图13详细描述在上述测试系统处测试云端流媒体服务器是否正常操作的过程。
图12是例示在根据本发明的实施方式的云端流媒体服务器的测试系统处的测试过程的流程图。
云端流媒体服务器130、140和150同时向测试装置120的虚拟客户端模块250、252和254发送测试结果(步骤S1202至步骤S1206)。也就是说,一个客户端流媒体服务器130可以向虚拟客户端模块250发送测试结果,另一云端流媒体服务器140可以向虚拟客户端模块252发送测试结果,并且另一云端流媒体服务器150可以向虚拟客户端模块254发送测试结果。与此相反,一个虚拟客户端模块可以每隔一段时间从多个云端流媒体服务器130、140和150顺序地接收测试结果。
在这种情况下,云端流媒体服务器130、140或150可以响应于虚拟客户端模块250、252或254的测试脚本密钥输入发送测试结果。
虚拟客户端模块250、252和254中的每一个通过对从云端流媒体服务器130、140或150接收的测试结果进行解码来创建测试结果视频,并且向比较单元220提供创建的视频(步骤S1214、S1218和S1219)。在这些步骤,可以响应于来自测试控制单元200的测试请求提供测试结果视频。另外,测试单元220可以请求虚拟客户端模块250、252和254中的每一个虚拟客户端模块传输从云端流媒体服务器130、140或150接收的测试结果。此时,虚拟客户端模块250、252或254可以通过像客户端100、101或102实际处理地那样处理接收的测试结果来创建测试结果视频,并且然后在画面上输出创建的视频。比较单元可以在满足稳定状态条件之后捕获创建的测试结果视频。
也就是说,测试控制单元200确定是否满足稳定状态条件(步骤S1221),并且然后仅在满足稳定状态条件时,向比较单元220发送用于捕获的请求(步骤S1222)。
接收捕获请求的比较单元220捕获与基准服务器(该基准服务器是云端流媒体服务器130、140和150中的一个)相对应的测试结果视频、与其它云端流媒体服务器相对应的测试结果视频,并且然后创建测试结果图像(步骤S1223)。
虽然图12示例性地示出了由比较单元220执行捕获测试结果视频,但是可以向执行捕获并由此创建测试结果图像的虚拟客户端模块250、252和254传送捕获请求。
比较单元220将通过捕获每个测试结果视频而创建的测试结果图像与预定的基准结果图像进行比较,并且然后向测试控制单元200传送比较结果(步骤S1224和S1226)。这里,基准结果图像可以是当正常发送和输出测试结果时将会出现的预存储的结果图像。另选地,从虚拟客户端模块250、252和254中的预定的特定一个虚拟客户端模块输出的结果图像可以被设置为基准结果图像。为此,在执行比较之前,比较单元220还可以执行设置基准结果图像的步骤。
然后,测试控制单元200基于比较结果并且根据是否发生连接错误来确定云端流媒体服务器是否有故障。作为比较的结果,如果从接收的测试结果捕获的结果图像与预定的基准结果图像不同,则测试控制单元200确定在云端流媒体服务器中存在故障(步骤S1227)。在该步骤,如果从接收的测试结果捕获的结果图像与预定的基准结果图像相同,则测试控制单元200确定在云端流媒体服务器中不存在故障。此时,比较结果关于云端流媒体服务器130、140和150中的每一个被传送至测试控制单元200,并且然后,基于比较结果,测试控制单元200可以确定每一个云端流媒体服务器是否有故障。
图13是例示根据本发明的实施方式的用于在测试装置120处测试云端流媒体服务器130、140或150是否正常操作的方法的流程图。
参照图13,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块向云端流媒体服务器发送与测试脚本相对应的密钥输入(步骤S1310)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块从云端流媒体服务器接收测试结果并且然后创建测试结果视频(步骤S1320)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置确定是否满足稳定状态条件(步骤S1330)。
在这种情况下,稳定状态条件可以是根据测试脚本确定的预定时间的经过条件。
在这种情况下,可以根据是否从发送预定测试脚本密钥输入的时间经过了预定时间来确定是否满足经过条件。
在这种情况下,可以根据预定的测试脚本密钥输入而不同地确定稳定状态条件。
如果在步骤S1330确定满足稳定状态条件,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置通过捕获测试结果视频而创建测试结果图像(步骤S1340)。
此时,可以在与对应于基准服务器的测试结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
另外,步骤S1340可以由图2中示出的虚拟客户端模块250、252和254或由测试单元220执行。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置将基准服务器的测试结果图像与其它云端流媒体服务器的测试结果图像进行比较,并且由此确定比较的图像是否彼此相同(步骤S1350和S1360)。
如果比较的图像相同,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中不存在故障(步骤S1370)。
如果比较的图像不同,则在根据本发明的实施方式的云端流媒体测试方法中的测试装置确定在云端流媒体服务器中存在故障(步骤S1380)。
图14是例示在根据本发明的实施方式的云端流媒体服务器的测试系统处的测试过程的流程图。
云端流媒体服务器130、140和150同时向测试装置120的虚拟客户端模块250、252和254发送测试结果(步骤S1402至步骤S1406)。也就是说,一个客户端流媒体服务器130可以向虚拟客户端模块250发送测试结果,另一云端流媒体服务器140可以向虚拟客户端模块252发送测试结果,并且另一云端流媒体服务器150可以向虚拟客户端模块254发送测试结果。与此相反,一个虚拟客户端模块可以每隔一段时间从多个云端流媒体服务器130、140和150顺序地接收测试结果。
在这种情况下,云端流媒体服务器130、140或150可以响应于虚拟客户端模块250、252或254的公共测试脚本密钥输入发送测试结果。另外,公共测试脚本密钥输入可以与两个或更多个不同的应用的公共画面相对应,并且该公共画面可以是排除了任何动画效果的画面。
虚拟客户端模块250、252和254中的每一个通过对从云端流媒体服务器130、140或150接收的测试结果进行解码来创建测试结果视频,并且向比较单元220提供创建的视频(步骤S1414、S1418和S1419)。在这些步骤,可以响应于来自测试控制单元200的测试请求提供测试结果视频。另外,比较单元220可以请求虚拟客户端模块250、252和254中的每一个虚拟客户端模块传输从云端流媒体服务器130、140或150接收的测试结果。此时,虚拟客户端模块250、252或254可以通过像客户端100、101或102实际处理地那样处理接收的测试结果来创建测试结果视频,并且然后在画面上输出创建的视频。此时,虚拟客户端模块250、252或254可以捕获在由比较单元请求的时间点或在预定的特定时间点正向画面输出的操作情况视频并且然后将捕获的视频发送至比较单元220。也就是说,可以由虚拟客户端模块250或比较单元220执行捕获操作情况视频以及创建操作情况图像。
测试控制单元200请求比较单元220基于外部输入、内部执行条件的满足等来比较测试结果图像(步骤S1422)。
比较单元220将通过捕获每个接收的测试结果视频而创建的测试结果图像与预定的基准结果图像进行比较,并且然后向测试控制单元200传送比较结果(步骤S1424和S1426)。这里,基准结果图像可以是当正常发送和输出测试结果时将出现的预存储的结果图像。另选地,从虚拟客户端模块250、252和254中的预定的特定一个虚拟客户端模块输出的结果图像可以被设置为基准结果图像。为此,在执行比较之前,比较单元220还可以执行设置基准结果图像的步骤。
然后,测试控制单元200基于比较结果并且还根据是否发生连接错误来确定云端流媒体服务器是否有故障。作为比较的结果,如果从接收的测试结果捕获的结果图像与预定的基准结果图像不同,则测试控制单元200确定在云端流媒体服务器中存在故障(步骤S1427)。在该步骤,如果从接收的测试结果捕获的结果图像与预定的基准结果图像相同,则测试控制单元200确定在云端流媒体服务器中不存在故障。此时,比较结果关于云端流媒体服务器130、140和150中的每一个被传送至测试控制单元200,并且然后,基于比较结果,测试控制单元200可以确定每一个云端流媒体服务器是否有故障。
图15是例示根据本发明的实施方式的用于在测试装置120测试云端流媒体服务器130、140或150是否操作正常的方法的流程图。
参照图15,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块创建与公共画面相对应的公共测试脚本密钥输入(步骤S1510)。
在这种情况下,公共测试脚本密钥输入可以启用两个或更多个不同的应用以创建相同的公共画面。
另外,公共画面可以是排除了动画效果的画面。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块向云端流媒体服务器发送公共测试脚本密钥输入(步骤S1520)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,虚拟客户端模块从云端流媒体服务器接收与公共测试脚本密钥输入相对应的测试结果并且然后创建测试结果视频(步骤S1530)。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置通过捕获测试结果视频来创建测试结果图像(步骤S1540)。
此时,可以在与基准结果图像相同的时间点捕获与云端流媒体服务器相对应的测试结果图像。
另外,可以通过在图2中示出的虚拟客户端模块250、252和253或通过比较单元220来执行步骤S1540。
另外,在根据本发明的实施方式的云端流媒体服务器测试方法中,测试装置将基准测试结果图像与云端流媒体服务器的测试结果图像进行比较,并且由此确定比较的图像是否彼此相同(步骤S1550和S1560)。
在这种情况下,可以通过捕获与作为云端流媒体服务器中的一个的基准服务器相对应的测试结果视频来创建基准结果图像。另选地,可以在测试装置中预先创建和存储基准结果图像。
如果比较的图像相同,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中不存在故障(步骤S1570)。
如果比较的图像不同,则在根据本发明的实施方式的云端流媒体服务器测试方法中的测试装置确定在云端流媒体服务器中存在故障(步骤S1580)。
在图4至图7、图9和图10以及图12至图15中示出的各步骤可以以例示的顺序或相反的顺序或同时执行。
根据本发明的流媒体服务器测试方法和基准服务器改变方法可以通过程序或智能手机应用来实现,该程序或智能手机应用可以经由各计算机装置来执行。可以在非临时计算机可读记录介质上记录这种程序或智能手机应用,该程序或智能手机应用可以包括单独的或组合的程序命令、数据文件、数据结构等。在介质上记录的程序命令被设计或配置为特别针对本发明,或对计算机软件领域的技术人员公知。非临时计算机可读记录介质包括诸如硬盘、软盘或磁带的磁介质、诸如CD-ROM和DVD的光学介质、诸如软式光盘的磁光介质,以及诸如ROM、RAM、闪存等的专门被配置为存储和执行程序命令的硬件设备。另外,程序命令可以包括通过使用解译器能够在计算机中执行的高级语言代码以及由编译器制成的机器代码。该硬件设备可以被配置为操作成一个或更多个软件模块从而执行本发明的操作,并且反之亦然。
如上所述,流媒体服务器测试系统、流媒体服务器测试方法以及该方法的设备可以不仅明确使用上述实施方式,而且还使用上述实施方式的各种修改。
工业实用性
本发明涉及用于测试提供特定服务(特别是云端流媒体服务)的云端流媒体服务器是否正常操作的系统。本发明能够预先防止云端流媒体服务器的数据传输的传输错误或故障并且还容易地检测云端流媒体服务器的故障。本发明通过使云端流媒体服务稳定以及提高服务质量能够有助于产业的发展。