On-demand system testing method and device and computing equipment

By obtaining the test description data of the on-demand system, determining the target video elements and using the constructor to generate the test video, the problem of missing abnormal points in on-demand system testing is solved, and the testing efficiency and coverage are improved.

CN120499366APending Publication Date: 2025-08-15SHANGHAI BILIBILI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510624629.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-14
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

The prior art is prone to missed abnormal points in on-demand system testing, and the test results are poor.

Method used

By obtaining the test description data of the on-demand system, the target video elements are determined, and the original video is adjusted using the target constructor to generate a test video to test the on-demand system.

Benefits of technology

It improves testing efficiency and coverage, reduces the occurrence of missed tests, and improves the test effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120499366A_ABST
    Figure CN120499366A_ABST
Patent Text Reader

Abstract

The invention discloses an on-demand system testing method and device and computing equipment. The method comprises the following steps: acquiring test description data of a video-on-demand system, and determining target video elements matched with the test description data; determining a target constructor function corresponding to the target video element; performing parameter adjustment on target video elements of the original video by using the target constructor function to generate a test video; and testing the video-on-demand system by adopting the test video. According to the scheme, the target video elements involved in the test can be determined according to the test description data, and then the test video is generated by forming the original video by using each target construction function under the target video elements, so that the generated test video can test the corresponding video elements in a targeted manner; the test efficiency is improved, the test coverage rate can be improved, the phenomenon of missing test is reduced, and the test effect is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a method, apparatus, computing device, computer storage medium, and computer program product for testing a video-on-demand system. Background Art

[0002] A video on demand (VOD) system is a network-based multimedia service system that allows users to watch video content stored on a server according to their needs. To ensure the service quality of the VOD system, it is usually necessary to test the VOD system to discover any vulnerabilities.

[0003] However, the inventors discovered during implementation that the existing technology has the following drawbacks: When testing a VOD system, the existing technology collects existing videos in the system and uses them to test the VOD system. However, this method easily misses abnormal points, resulting in poor testing results. Summary of the Invention

[0004] In view of the above problems, the present application is proposed to provide a method, apparatus, computing device, computer storage medium and computer program product for testing a video-on-demand system that overcomes the above problems or at least partially solves the above problems.

[0005] According to a first aspect of the present application, a method for testing a video-on-demand system is provided, comprising:

[0006] Obtaining test description data of the video-on-demand system and determining target video elements that match the test description data;

[0007] Determine a target constructor corresponding to the target video element;

[0008] Using the target constructor to adjust parameters of the target video elements of the original video to generate a test video;

[0009] The on-demand system is tested using the test video.

[0010] In an optional implementation, determining the target video element that matches the test description data includes:

[0011] Pre-generate a keyword set for each video element;

[0012] Extracting target keywords from the test description data;

[0013] A target keyword set in which the target keyword is located is determined, and a video element corresponding to the target keyword set is used as the target video element.

[0014] In an optional implementation, determining the target video element that matches the test description data includes:

[0015] Inputting the test description data into a pre-trained feature recognition model;

[0016] Obtain the target video element output by the element recognition model.

[0017] In an optional implementation, the adjustment parameter values of multiple target constructors of the same target video element are different.

[0018] In an optional implementation, the adjustment parameter value is determined by:

[0019] For any video element, determine multiple parameter values of the video element;

[0020] For each parameter value of the video element, count the number of historical videos corresponding to the parameter value;

[0021] Identify rare parameter values of the video element based on the number of historical videos corresponding to each parameter value;

[0022] The adjustment parameter value of the constructor of the video element is determined according to the rare parameter value of the video element.

[0023] In an optional implementation, the adjustment parameter value is determined by:

[0024] For any video element, determine a parameter value range of the video element, and determine an adjustment parameter value of a constructor of the video element according to a boundary value of the parameter value range;

[0025] And / or, for any video element, determining an abnormal value of the video element, and determining an adjustment parameter value of a constructor of the video element according to the abnormal value.

[0026] In an optional implementation, if there are multiple target video elements matching the test description data;

[0027] Then, the step of adjusting parameters of target video elements of the original video using the target constructor to generate a test video includes: adjusting parameters of target video elements of the original video using the target constructor of the target video element for each target video element to generate a single-element test video;

[0028] The method further includes: for any target video element, adjusting parameters of a single-element test video of the target video element using target constructors of other target video elements to generate a multi-element test video;

[0029] The testing of the on-demand system by using the test video includes: testing the on-demand system by using the single-element test video and the multi-element test video.

[0030] According to a second aspect of the present application, a VOD system testing device is provided, comprising:

[0031] An element determination module is used to obtain the test description data of the video-on-demand system and determine the target video element that matches the test description data;

[0032] A function determination module, configured to determine a target constructor function corresponding to the target video element;

[0033] A video generation module, configured to adjust parameters of target video elements of an original video using the target constructor to generate a test video;

[0034] A testing module is used to test the on-demand system using the test video.

[0035] In an optional embodiment, the element determination module is used to: pre-generate a keyword set for each video element;

[0036] Extracting target keywords from the test description data;

[0037] A target keyword set in which the target keyword is located is determined, and a video element corresponding to the target keyword set is used as the target video element.

[0038] In an optional embodiment, the element determination module is used to: input the test description data into a pre-trained element recognition model;

[0039] Obtain the target video element output by the element recognition model.

[0040] In an optional implementation, the adjustment parameter values of multiple target constructors of the same target video element are different.

[0041] In an optional embodiment, the function determination module is used to determine, for any video element, multiple parameter values of the video element;

[0042] For each parameter value of the video element, count the number of historical videos corresponding to the parameter value;

[0043] Identify rare parameter values of the video element based on the number of historical videos corresponding to each parameter value;

[0044] The adjustment parameter value of the constructor of the video element is determined according to the rare parameter value of the video element.

[0045] In an optional embodiment, the function determination module is configured to: determine, for any video element, a parameter value range of the video element, and determine an adjustment parameter value of a constructor of the video element according to a boundary value of the parameter value range;

[0046] And / or, for any video element, determining an abnormal value of the video element, and determining an adjustment parameter value of a constructor of the video element according to the abnormal value.

[0047] In an optional implementation, if there are multiple target video elements matching the test description data;

[0048] The video generation module is used to: for each target video element, use the target constructor of the target video element to adjust the parameters of the target video element of the original video to generate a single-element test video; for any target video element, use the target constructor of other target video elements to adjust the parameters of the single-element test video of the target video element to generate a multi-element test video;

[0049] The test module is used to test the on-demand system using the single-element test video and the multi-element test video.

[0050] According to a third aspect of the present application, a computing device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus;

[0051] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the above-mentioned on-demand system testing method.

[0052] According to a fourth aspect of the present application, a computer storage medium is provided, wherein the storage medium stores at least one executable instruction, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned on-demand system testing method.

[0053] According to a fifth aspect of the present application, a computer program product is provided, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the above-mentioned on-demand system testing method.

[0054] The embodiment of the present application obtains the test description data of the on-demand system and determines the target video element that matches the test description data; determines the target constructor corresponding to the target video element; uses the target constructor to adjust the parameters of the target video element of the original video to generate a test video; and uses the test video to test the on-demand system. Therefore, this solution can determine the target video element involved in this test based on the test description data, and then use the various target constructors under the target video element to construct the original video to generate a test video. The generated test video can not only test the corresponding video elements in a targeted manner and improve test efficiency, but also improve test coverage, reduce the occurrence of missed tests, and improve test results.

[0055] The embodiment of the present application pre-constructs a keyword set for different video elements. By matching the keywords of the test description data to be analyzed, the target video elements that match the test description data can be quickly determined, thereby improving the efficiency of determining the video elements of interest in this test.

[0056] The embodiment of the present application has a pre-trained element recognition model, which can accurately identify the semantics of the test description data through processing by the element recognition model, thereby improving the accuracy of determining the target video elements.

[0057] Each target constructor in the embodiment of the present application corresponds to an adjustment parameter value under its target video element. The adjustment parameter values of multiple target constructors of the same target video element are different, so that test videos of the original video with different adjustment parameter values under the target video element can be obtained, thereby improving the test coverage and the test effect.

[0058] The embodiment of the present application counts the number of historical videos of each parameter value of a video element, thereby identifying rare parameter values of the video element, and then determining the adjustment parameter value of the constructor of the video element based on the rare parameter values, thereby effectively increasing the number of test videos under rare parameter values and improving the test coverage.

[0059] The embodiment of the present application determines the adjustment parameter value of the constructor of the video element according to the boundary value of the parameter value range, so that the test video under the boundary condition can be constructed, further improving the test coverage.

[0060] The embodiment of the present application determines the adjustment parameter value of the constructor of the video element according to the abnormal value, so that a test video under abnormal conditions can be constructed, further improving the test coverage.

[0061] When there are multiple target video elements that match the test description data, the embodiment of the present application not only generates a corresponding single-element test video for each target video element; but also uses a single-element test video as a basis and utilizes the target constructors of other target video elements to adjust the parameters of the single-element test video to obtain a multi-element test video, thereby utilizing the single-element test video and the multi-element test video to test the on-demand system, further improving the test coverage, improving the test effect, and facilitating fault location.

[0062] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present application. The same reference symbols are used throughout the drawings to represent the same components. In the drawings:

[0064] Figure 1 A schematic diagram of an operating environment provided for implementing at least one embodiment of the present application is shown;

[0065] Figure 2 A flowchart of a method for testing a video-on-demand system according to the first embodiment of the present application is shown;

[0066] Figure 3 A flow chart of a method for determining an adjustment parameter value of a constructor provided in the first embodiment of the present application is shown;

[0067] Figure 4 A schematic diagram of a VOD system test architecture provided in the first embodiment of the present application is shown;

[0068] Figure 5 A flowchart of a method for testing a video-on-demand system according to a second embodiment of the present application is shown;

[0069] Figure 6 A schematic structural diagram of a VOD system testing device provided in the third embodiment of the present application is shown;

[0070] Figure 7 A structural diagram of calculating social insurance provided in Example 4 of the present application is shown. DETAILED DESCRIPTION

[0071] The following describes exemplary embodiments of the present application in more detail with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0072] First, a brief introduction to the technical terms involved in this application:

[0073] I-frame: Intra coded picture, an independent frame with complete information, which can be decoded and displayed independently without referring to other images. It is a key frame in a video sequence.

[0074] P frame: Predicted picture, a predictively coded image, is a frame that is coded with reference to the previous I frame or P frame, and only records the difference information with the reference frame.

[0075] B frame: Bi-directionally predicted picture, a bidirectionally predicted coded image, is a frame that is encoded with reference to the previous and next I frames or P frames. It uses information from the previous and next frames to predict the content of the current frame.

[0076] GOP: Group of Pictures, a set of consecutive video frames, usually starting with an I-frame and containing several P-frames and B-frames. It is a basic unit in video encoding.

[0077] Open GOP: A special GOP structure in which the last B frame may reference frames in the next GOP. Therefore, the boundary of the Open GOP is not strictly independent, and it has a certain dependency relationship with the subsequent GOP.

[0078] Close GOP: A relatively independent GOP structure in which the frames within it only refer to other frames within the current GOP and do not rely on information from subsequent GOPs.

[0079] WebM: An open, HTML5-based video format.

[0080] FLV: Short for Flash Video, a format commonly used for online video playback.

[0081] VP9: A video coding format that provides high-quality video encoding with good compression performance and low power consumption.

[0082] HDR: High-Dynamic Range Imaging.

[0083] PTS: Presentation Timestamp, a timestamp in a video stream that indicates when a video frame should be displayed to the user. It determines the presentation order and time interval of video frames during playback, ensuring that the video plays in the correct order and rhythm.

[0084] DTS: Decoding timestamp, used to indicate the time when the video frame should be decoded during the decoding process.

[0085] Dynamic resolution: A technology that automatically adjusts image or video resolution based on different operating conditions and requirements.

[0086] Figure 1 The present invention is applicable to an application environment including, but not limited to, a client 2, a server 4, and a network 6.

[0087] in:

[0088] The server 4 can be composed of a single or multiple computing devices. The multiple computing devices may include virtualized computing instances. The virtualized computing instances may include virtual machines, such as simulations of computer systems, operating systems, servers, etc. The computing device may load the virtual machine based on a virtual image and / or other data defining the specific software (e.g., operating system, dedicated application, server) used for the simulation. As the demand for different types of processing services changes, different virtual machines may be loaded and / or terminated on one or more computing devices. A hypervisor may be implemented to manage the use of different virtual machines on the same computing device.

[0089] The server 4 can be configured to communicate with the client 2 and the like via a network 6. The network 6 includes various network devices, such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, and / or the like. The network 6 can include physical links, such as coaxial cable links, twisted pair cable links, fiber optic links, combinations thereof, or wireless links, such as cellular links, satellite links, Wi-Fi links, and the like.

[0090] The server 4 can provide storage, reading, downloading, writing, querying, deleting and other services, such as providing static resource download services to clients through multiple domain names.

[0091] Client 2 can be running Windows, Android TM) or iOS operating systems, such as smartphones, tablets, laptops, virtual reality devices, gaming devices, set-top boxes, in-car terminals, and smart TVs. These operating systems can run various applications, such as browsers.

[0092] Example 1

[0093] Figure 2 A flow chart of a method for testing a video-on-demand system provided in Example 1 of the present application is shown.

[0094] The on-demand system testing method provided in this embodiment may be executed on the aforementioned server side.

[0095] like Figure 2 As shown, the method specifically includes the following steps:

[0096] Step S201: Acquire test description data of the on-demand system.

[0097] When iteratively updating one or more parts of a VOD system, it is necessary to initiate a test request for the VOD system. Upon receiving the test request, the test description data corresponding to this test is obtained. This test description data may include: test requirements, new version documents, technical documents, and other data related to this test. This application does not limit the specific test description data.

[0098] Step S202: Determine the target video elements that match the test description data.

[0099] Videos often have multiple different video elements. In an optional embodiment, the video elements may include but are not limited to: quality volume, audio track, frame, packaging code, dynamic range, display timing, decoding timing, and / or dynamic resolution, etc.

[0100] In this step, based on the test description data obtained in step S201, a video element that matches the test description data is determined from multiple video elements. This matching video element is the target video element, which is the video element of interest in this test. The target video element can be a single or multiple video elements.

[0101] In an optional implementation, a combination of one or more of the following determination methods may be used to determine the target video element that matches the test description data:

[0102] Determination method 1: pre-generate a keyword set for each video element, wherein the keyword set for each video element includes at least one keyword associated with the video element. For example, a keyword set as shown in Table 1 may be generated.

[0103] Table 1

[0104] Video Elements Keywords Mass volume kb, mb, high bit rate, low bit rate, large file Audio Track Multi-track, audio track, abnormal audio track, single audio track frame Kernel, I frame, B frame, P frame, GOP, Open GOP, Close GOP Package code WebM, FLV, VP9, and unusual encodings Dynamic Range Dynamic range, 10-bit, 8-bit, HDR Display Timing Audio and video synchronization, PTS, jump, abnormal timestamp Decoding timing DTS, transition, screen distortion, black screen Dynamic resolution Dynamic resolution, dynamic frame rate, horizontal and vertical screen, HD

[0105] Furthermore, the target keywords in the test description data are extracted; the target keyword set where the target keywords are located is determined, and the video elements corresponding to the target keyword set are used as target video elements. Specifically, the keywords of each video element can be added to the keyword dictionary, and the word matching algorithm is used to extract the keywords that hit the keyword dictionary from the test description data. The keywords are called target keywords. Then, the set where the target keywords are located is found, and the set is the target keyword set. According to the mapping relationship between the keyword set and the video element, the video elements mapped by each target keyword set are determined, and the mapped video elements are used as target video elements. This determination method can quickly determine the video elements that are of interest in this test, thereby improving the efficiency of determining the target video elements.

[0106] Determination method 2: Pre-build and train a feature recognition model based on a machine learning algorithm. For example, a deep neural network algorithm can be used to build a feature recognition model, obtain historical test description data, and annotate the test description data with features. Then, sample data is generated based on the test description data and the corresponding feature annotations. The constructed feature recognition model is trained using this sample data, and training is terminated when the corresponding training end conditions are met, thereby obtaining a trained feature recognition model.

[0107] Furthermore, the current test description data is fed into a pre-trained feature recognition model, and the target video features are output by the feature recognition model. This approach allows the feature recognition model to comprehensively analyze the video features of interest in the test description data, improving the recognition accuracy of the target video features.

[0108] Determination method three: Determine whether the target keyword in the test description data matches the keyword dictionary; if so, determine the target keyword set in which the target keyword is located, and use the video element corresponding to the target keyword set as the target video element; if not, input the test description data into a pre-trained element recognition model; and obtain the target video element output by the element recognition model. In this determination method, keyword matching is preferred to determine the target video element. If keyword matching fails, the element recognition model is used to determine the target video element, thus balancing the recognition accuracy and efficiency of the target video element.

[0109] Step S203: Determine the target constructor corresponding to the target video element.

[0110] For each video element, a corresponding constructor is generated in advance. Each video element may have one or more constructors. A mapping relationship between each video element and the corresponding constructor is established, for example, a video element-constructor mapping table can be generated. The constructor is specifically a video processing function that can adjust relevant video parameters to generate a new video.

[0111] For each video element, the constructor of the video element is used to adjust the element parameters of the video element to obtain a new video. For example, the constructors of different video elements can be shown in Table 2:

[0112] Table 2

[0113]

[0114]

[0115] As shown in Table 2, the quality volume element corresponds to a high-resolution constructor, a low-resolution constructor, a large file constructor, and a small file constructor. The high-resolution constructor is used to adjust the video to a preset high resolution, the low-resolution constructor is used to adjust the video to a preset low resolution, the large file constructor is used to adjust the video to a preset large volume, and the small file constructor is used to adjust the video to a preset small volume. The video element audio track corresponds to three constructors: a multi-audio track constructor, a single audio track constructor, and an abnormal audio track constructor. These three constructors are all used to adjust the audio track element of the video. For another example, the frame element corresponds to a no I-frame constructor, a no B-frame constructor, a no P-frame constructor, an Open GOP constructor, a long GOP constructor, and a short GOP constructor. Among them, the no I-frame constructor is used to remove all I frames from the video, the no B-frame constructor is used to remove all B frames from the video, the no P-frame constructor is used to remove all P frames from the video, the Open GOP constructor is used to construct the picture group type of the video as the Open GOP type, the long GOP constructor is used to construct the picture group length of the video as a preset larger value, the short GOP constructor is used to construct the picture group length of the video as a preset smaller value, and so on. In addition, the WebM constructor, FLV constructor, and VP9 constructor in Table 2 above are used to convert videos into WebM format, FLV format, and VP9 format, respectively; the exception encoding constructor is used to perform exception encoding on the video; the high dynamic range constructor and the low dynamic range constructor are used to perform high dynamic range processing and low dynamic range processing on the video, respectively; the display timing exception constructor, the display timing jump constructor, and the display timing dislocation constructor are used to perform exception value selection (such as negative value), jump processing, and disorder processing on the display timing, respectively; the decoding timing jump constructor and the decoding timing disorder constructor are used to perform jump processing and disorder processing on the decoding timing of the video, respectively; the dynamic resolution constructor is used to convert the resolution of the video so that the resolution of different segments of the same video is different.

[0116] Table 2 is only one possible way to generate constructors for video elements. In actual implementation, you can build constructors for each video element based on actual business needs. Furthermore, you can continuously update the mapping between created video elements and constructors based on needs.

[0117] Furthermore, after the target video element is determined in step S202, each constructor corresponding to the target video element can be quickly and accurately determined by querying the mapping relationship between the video element and the constructor, and the corresponding constructor is the target constructor.

[0118] Step S204: Parameter adjustment of the target video elements of the original video is performed using the target constructor to generate a test video.

[0119] At least one original video is obtained, where the original video may be a video that has not been processed by the target constructor, or may be a video from a historical submission to a video-on-demand system, etc. This application does not limit the source of the original video.

[0120] For any original video, each target constructor is used to process the original video to obtain a corresponding test video. Among them, for any target constructor, the target constructor is used to adjust the parameter value of the target video element of the original video, thereby obtaining a new video (i.e., a test video). For example, the high-resolution constructor adjusts the resolution parameter value of the original video (such as adjusting the resolution of the original video to a preset high-resolution value such as 16k), thereby obtaining a corresponding test video; for another example, the video element corresponding to the no-I-frame constructor is a frame element, then it adjusts the frame parameters of the original video, and the no-I-frame constructor specifically removes all I frames in the original video. Among them, in the specific implementation process, the original video can be first decoded to obtain each video frame, and then the corresponding target constructor is used to adjust the parameter value of the target video element of each video frame.

[0121] Among them, each target constructor corresponds to an adjustment parameter value under its target video element. The adjustment parameter values of multiple target constructors of the same target video element are different, so that test videos of the original video with different adjustment parameter values under the target video element can be obtained, thereby improving the test coverage and the test effect.

[0122] For example, the adjustment parameter value of the high-resolution constructor of the mass volume constructor may be 16k resolution (ie, the resolution of the original video is adjusted to 5120×2160), the adjustment parameter value of the low-resolution constructor may be 176×144 resolution, and so on.

[0123] In an optional implementation, the adjustment parameter value of the constructor may be determined by combining one or more of the following determination methods, and the adjustment parameter value determination process of the constructor is performed before calling the constructor.

[0124] Determination method 1: manually configuring the adjustment parameter values of each constructor. For example, the adjustment parameter values of each constructor under each video element can be determined based on expert experience.

[0125] Determination method 2: Based on the parameter value distribution of the video elements of the existing videos in the system, determine the adjustment parameter values of each constructor under the video element. Figure 3 The steps determine:

[0126] S301: For any video element, determine multiple parameter values of the video element.

[0127] A video element can often contain different parameter values. For example, the parameter values corresponding to the resolution element may include: 176×144, 320×240, 640×480, 720×576, 720×480, 1280×720, 1920×1080, 3840×2160, 7680×4320, 5120×2160, and 15360×8640.

[0128] S302: For each parameter value of the video element, count the number of historical videos corresponding to the parameter value.

[0129] For any video in the system, determine the value of the video element of the video. Then count the number of videos that exist in the system under each parameter value of the video element (referred to as the historical video count). For example, count the number of historical videos under different resolution values.

[0130] S303: Identify rare parameter values of the video element according to the number of historical videos corresponding to each parameter value.

[0131] The number of historical videos corresponding to different parameter values is often unevenly distributed. In this case, parameter values whose number of historical videos is less than a preset threshold can be selected as rare parameter values. Alternatively, the parameter values can be sorted in order from low to high according to the number of historical videos, and the top N parameter values can be selected as rare parameter values for the video element.

[0132] S304: Determine an adjustment parameter value of a constructor of the video element according to the rare parameter value of the video element.

[0133] Specifically, the rare parameter values can be used as adjustment parameter values for the constructors under the video element. For example, if 5120×2160 is a rare parameter value, 5120×2160 can be used as the adjustment parameter value for the constructor under the resolution element, thereby obtaining a high-resolution constructor.

[0134] The adjustment parameter determination method using this constructor can effectively increase the number of test videos under rare parameter values and improve the test coverage.

[0135] Determination method three: For any video element, determine the parameter value range of the video element, and determine the adjustment parameter value of the constructor of the video element based on the boundary value of the parameter value range. Taking resolution as an example, the minimum resolution value is used as the adjustment parameter value of the constructor to obtain a low-resolution constructor; the maximum resolution value is used as the adjustment parameter value of the constructor to obtain a high-resolution constructor. Using this method, test videos can be constructed for edge cases, further improving test coverage.

[0136] Determination Method 4: For any video element, determine the abnormal value of that video element and, based on the abnormal value, determine the adjustment parameter value of the constructor of that video element. Taking PTS as an example, its value is usually positive, so negative values are abnormal values. Therefore, a negative value is used as the adjustment parameter value of the constructor, resulting in a display timing abnormality constructor. This method can construct test videos under abnormal conditions, further improving test coverage.

[0137] Step S205: Testing the on-demand system using a test video.

[0138] Submit each generated test video to the on-demand system for testing and obtain corresponding test results for troubleshooting. During implementation, the generated test videos can be stored and used directly to test the on-demand system interface, bypassing the front-end execution process and improving testing efficiency. For example, a test account cookie can be used to simulate a login state and traverse and upload test videos to the on-demand system for testing.

[0139] like Figure 4 The on-demand system test architecture shown in FIG. 4 includes a business layer, a VOD (Video on Demand) layer, and a data layer. The business layer includes UGC (User-Generated Content) manuscripts and PGC (Professional-Generated Content) manuscripts, which can be contributed to the VOD layer through the gateway. The VOD layer includes various services of the on-demand system, such as storage services, scheduling services, slicing services, and transcoding mirror services. The data layer can uniformly store various video metadata and various media files. The media files can include actual system contribution files and generated test videos.

[0140] It can be seen that the on-demand system testing method provided in the embodiment of the present application obtains the test description data of the on-demand system and determines the target video element that matches the test description data; determines the target constructor corresponding to the target video element; uses the target constructor to adjust the parameters of the target video element of the original video to generate a test video; uses the test video to test the on-demand system, thereby being able to determine the target video element involved in this test based on the test description data, and then use the various target constructors under the target video element to construct the original video to generate a test video, so that the generated test video can not only test the corresponding video elements in a targeted manner and improve test efficiency, but also improve test coverage, reduce the occurrence of missed tests, and improve test results.

[0141] Example 2

[0142] Figure 5 A flow chart of a method for testing a video-on-demand system provided in the second embodiment of the present application is shown.

[0143] The on-demand system testing method provided in this embodiment may be executed on the aforementioned server side.

[0144] like Figure 5 As shown, the method specifically includes the following steps:

[0145] Step S501: Acquire test description data of a video-on-demand system, and determine a plurality of target video elements that match the test description data.

[0146] Step S502 : For each target video element, the target constructor of the target video element is used to adjust the parameters of the target video element of the original video to generate a single-element test video.

[0147] For each target video element, based on the original video, the various target constructors of the target video element are used to adjust the parameters of the original video to obtain a new video. Since the new video here only involves a single video element, the test video generated in this step is a single-element test video.

[0148] Step S503 : for any target video element, the target constructors of other target video elements are used to adjust the parameters of the single-element test video of the target video element to generate a multi-element test video.

[0149] Based on the single-element test video corresponding to a certain target video element, the target constructor of other target video elements is used to adjust the parameters of the single-element test video of the target video element to generate a test video. Since the test video generated here is generated by the target constructors of multiple different target video elements, the test video generated here is a multi-element test video.

[0150] In an optional embodiment, in order to improve the generation accuracy of multi-element test videos, a function group can be generated based on the target constructor contained in each target video element, each function group contains multiple target constructors, and the number of target constructors in each function group is consistent with the target video element, that is, each target constructor corresponds to the target video element one by one. For example, the target video elements that match the test description data are element A, element B and element C, where element A contains target constructor 1, element B contains target constructor 2 and target constructor 3, and element C contains target constructor 4, target constructor 5 and target constructor 6. The generated function group includes {target constructor 1, target constructor 2, target constructor 4}, {target constructor 1, target constructor 3, target constructor 4}, {target constructor 1, target constructor 2, target constructor 5}, {target constructor 1, target constructor 3, target constructor 5}, {target constructor 1, target constructor 2, target constructor 6}, {target constructor 1, target constructor 3, target constructor 6}.

[0151] For each function group, determine the priority of the target constructor in the function group, obtain the single-factor test video corresponding to the target constructor with the highest priority, use the target constructor with the second highest priority to adjust the parameters of the single-factor test video to generate a multi-factor test video, and then use the target constructor with the highest priority that has not yet been fused (not involved in the generation of the test video) in the current function group to adjust the parameters of the multi-factor test video to obtain a new multi-factor test video, and so on, until all the target constructors in the function group are fused, then the generation of the multi-factor test video of the function group is completed.

[0152] Further optionally, when determining the priority of the target constructor in each function group, the priority of the target constructor in the function group can be determined in the order of lossless constructor priority being higher than lossy constructor priority, upstream constructor priority being higher than downstream constructor priority, etc.; weight values can also be assigned to all constructors in advance, and then the corresponding priority can be determined by comparing the weight values of the target constructors in the function group; in addition, the weight of the target video element can also be determined, and the corresponding priority can be determined according to the weight of the target video element corresponding to the target constructor in the function group, where the weight of the target video element can be pre-configured or determined according to the frequency of keyword occurrence of the target video element.

[0153] Step S504: testing the VOD system using a single-element test video and a multi-element test video.

[0154] Two types of test videos (single-element test videos and multi-element test videos) are used to test the on-demand system. This allows testing of the on-demand system from both a single-element dimension and a multi-element combination dimension, improving test coverage, avoiding missed tests, and improving missed test results. It also facilitates fault location.

[0155] In an optional implementation, the on-demand system can be tested first using a single-factor test video. If the test results do not meet the requirements (such as when it is impossible to discover loopholes or fault points), a multi-factor test video can be generated based on the single-factor test video, and then the on-demand system can be tested using the multi-factor test video.

[0156] It can be seen that the on-demand system testing method provided in the embodiment of the present application, when there are multiple target video elements matching the test description data, not only generates a corresponding single-element test video for each target video element; but also uses a single-element test video as a basis and uses the target constructors of other target video elements to adjust the parameters of the single-element test video to obtain a multi-element test video, thereby using the single-element test video and the multi-element test video to test the on-demand system, further improving the test coverage, improving the test effect, and facilitating fault location.

[0157] Example 3

[0158] Figure 6 FIG. 1 shows a schematic diagram of the structure of a VOD system test device provided in Example 3 of the present application. Figure 6 As shown, the apparatus 600 includes: an element determination module 610 , a function determination module 620 , a video generation module 630 , and a testing module 640 .

[0159] The element determination module 610 is used to obtain the video description data of the video-on-demand system and determine the target video element that matches the description data;

[0160] A function determination module 620 is configured to determine a target constructor function corresponding to the target video element;

[0161] A video generation module 630 is configured to adjust parameters of target video elements of an original video using the target constructor to generate a test video;

[0162] The testing module 640 is configured to test the video-on-demand system using the test video.

[0163] In an optional embodiment, the element determination module 610 is configured to: pre-generate a keyword set for each video element;

[0164] Extracting target keywords from the test description data;

[0165] A target keyword set in which the target keyword is located is determined, and a video element corresponding to the target keyword set is used as the target video element.

[0166] In an optional embodiment, the element determination module 610 is configured to: input the test description data into a pre-trained element recognition model;

[0167] Obtain the target video element output by the element recognition model.

[0168] In an optional implementation, the adjustment parameter values of multiple target constructors of the same target video element are different.

[0169] In an optional embodiment, the function determination module 620 is configured to determine, for any video element, multiple parameter values of the video element;

[0170] For each parameter value of the video element, count the number of historical videos corresponding to the parameter value;

[0171] Identify rare parameter values of the video element based on the number of historical videos corresponding to each parameter value;

[0172] The adjustment parameter value of the constructor of the video element is determined according to the rare parameter value of the video element.

[0173] In an optional embodiment, the function determination module 620 is configured to: determine, for any video element, a parameter value range of the video element, and determine an adjustment parameter value of a constructor of the video element according to a boundary value of the parameter value range;

[0174] And / or, for any video element, determining an abnormal value of the video element, and determining an adjustment parameter value of a constructor of the video element according to the abnormal value.

[0175] In an optional implementation, if there are multiple target video elements matching the test description data;

[0176] The video generation module 630 is configured to: for each target video element, use the target constructor of the target video element to adjust the parameters of the target video element of the original video to generate a single-element test video; for any target video element, use the target constructor of other target video elements to adjust the parameters of the single-element test video of the target video element to generate a multi-element test video;

[0177] The testing module 640 is used to test the VOD system using the single-element test video and the multi-element test video.

[0178] It can be seen that the on-demand system testing device provided in the embodiment of the present application obtains the test description data of the on-demand system and determines the target video element that matches the test description data; determines the target constructor corresponding to the target video element; uses the target constructor to adjust the parameters of the target video element of the original video to generate a test video; uses the test video to test the on-demand system, thereby being able to determine the target video element involved in this test based on the test description data, and then use the various target constructors under the target video element to construct the original video to generate a test video, so that the generated test video can not only test the corresponding video elements in a targeted manner and improve test efficiency, but also improve test coverage, reduce the occurrence of missed tests, and improve test results.

[0179] Example 4

[0180] Figure 7 A structural diagram of a computing device provided in Example 4 of the present application is shown. The specific embodiments of the present application do not limit the specific implementation of the computing device.

[0181] like Figure 7 As shown, the computing device may include: a processor (processor) 702 , a communications interface (Communications Interface) 704 , a memory (memory) 706 , and a communication bus 708 .

[0182] Processor 702, communication interface 704, and memory 706 communicate with each other via communication bus 708. Communication interface 704 is used to communicate with other devices, such as client devices or other server network elements. Processor 702 is used to execute program 710, which may specifically perform the steps described in the embodiment of the on-demand system testing method for a computing device.

[0183] Specifically, the program 710 may include program codes, which include computer operation instructions.

[0184] Processor 702 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs, or may be processors of different types, such as one or more CPUs and one or more ASICs.

[0185] Memory 706 is used to store program 710. Memory 706 may include high-speed RAM memory or non-volatile memory, such as at least one disk drive. Program 710 may be used to cause processor 702 to perform the operations described in the embodiment of the on-demand system testing method.

[0186] Example 5

[0187] Embodiment 5 of the present application provides a non-volatile computer storage medium, which stores at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the on-demand system testing method in any of the above method embodiments.

[0188] Example 6

[0189] Embodiment 6 of the present application provides a computer program product, which includes at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the on-demand system testing method in any of the above method embodiments.

[0190] In summary, according to the computing device, computer storage medium and computer program product provided in this embodiment, the test description data of the on-demand system is obtained, and the target video element matching the test description data is determined; the target constructor corresponding to the target video element is determined; the target constructor is used to adjust the parameters of the target video element of the original video to generate a test video; the test video is used to test the on-demand system, thereby determining the target video element involved in this test based on the test description data, and then using the various target constructors under the target video element to construct the original video to generate a test video, so that the generated test video can not only test the corresponding video elements in a targeted manner and improve test efficiency, but also improve test coverage, reduce the occurrence of missed tests, and improve test results.

[0191] The algorithm or demonstration provided here are not inherently relevant to any particular computer, virtual system or other equipment. Various general purpose systems can also be used together with the teachings based on this. According to the above description, it is obvious that the structure required for constructing this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages can be utilized to realize the content of the present application described here, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the present application.

[0192] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of this description.

[0193] Similarly, it should be understood that in order to streamline the present application and aid in understanding one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the embodiments of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, this disclosed method should not be interpreted as reflecting the following intention: that the claimed application requires more features than those explicitly recited in each claim. More precisely, as reflected in the claims below, inventive aspects lie in less than all the features of the individual embodiments disclosed above. Therefore, the claims following the detailed description are hereby expressly incorporated into the detailed description, with each claim itself serving as a separate embodiment of the present application.

[0194] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition may be divided into multiple submodules or subunits or subcomponents. All features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed herein may be combined in any combination, except that at least some of such features and / or processes or units are mutually exclusive. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0195] Furthermore, those skilled in the art will appreciate that although some embodiments herein include certain features included in other embodiments but not other features, combinations of features from different embodiments are intended to be within the scope of this application and to form different embodiments. For example, in the claims below, any of the claimed embodiments may be used in any combination.

[0196] The various component embodiments of the present application can be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all of the functions of some or all of the components according to the embodiments of the present application. The application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for performing a part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0197] It should be noted that the above embodiments illustrate rather than limit the present application, and that a person skilled in the art may devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between brackets should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present application may be implemented by means of hardware comprising several different elements and by means of appropriately programmed computers. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments should not be understood as limiting the order of execution unless otherwise specified.

Claims

1. A method for testing a video-on-demand system, characterized in that: include: Obtaining test description data of the video-on-demand system and determining target video elements that match the test description data; Determine a target constructor corresponding to the target video element; Using the target constructor to adjust parameters of the target video elements of the original video to generate a test video; The on-demand system is tested using the test video.

2. The method according to claim 1, characterized in that Determining the target video element that matches the test description data includes: Pre-generate a keyword set for each video element; Extracting target keywords from the test description data; A target keyword set in which the target keyword is located is determined, and a video element corresponding to the target keyword set is used as the target video element.

3. The method according to claim 1, characterized in that Determining the target video element that matches the test description data includes: Inputting the test description data into a pre-trained feature recognition model; Obtain the target video element output by the element recognition model.

4. The method according to any one of claims 1 to 3, characterized in that Multiple target constructors for the same target video element have different adjustment parameter values.

5. The method according to claim 4, characterized in that The adjustment parameter value is determined by: For any video element, determine multiple parameter values of the video element; For each parameter value of the video element, count the number of historical videos corresponding to the parameter value; Identify rare parameter values of the video element based on the number of historical videos corresponding to each parameter value; The adjustment parameter value of the constructor of the video element is determined according to the rare parameter value of the video element.

6. The method according to claim 4, characterized in that The adjustment parameter value is determined by: For any video element, determine a parameter value range of the video element, and determine an adjustment parameter value of a constructor of the video element according to a boundary value of the parameter value range; And / or, for any video element, determining an abnormal value of the video element, and determining an adjustment parameter value of a constructor of the video element according to the abnormal value.

7. The method according to any one of claims 1 to 6, characterized in that If there are multiple target video elements matching the test description data; Then, the step of adjusting parameters of target video elements of the original video using the target constructor to generate a test video includes: adjusting parameters of target video elements of the original video using the target constructor of the target video element for each target video element to generate a single-element test video; The method further includes: for any target video element, adjusting parameters of a single-element test video of the target video element using target constructors of other target video elements to generate a multi-element test video; The testing of the on-demand system by using the test video includes: testing the on-demand system by using the single-element test video and the multi-element test video.

8. A VOD system testing device, characterized in that: include: An element determination module is used to obtain the test description data of the video-on-demand system and determine the target video element that matches the test description data; A function determination module, configured to determine a target constructor function corresponding to the target video element; A video generation module, configured to adjust parameters of target video elements of an original video using the target constructor to generate a test video; A testing module is used to test the on-demand system using the test video.

9. A computing device, characterized in that include: A processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the on-demand system testing method according to any one of claims 1 to 7.

10. A computer storage medium, characterized in that The storage medium stores at least one executable instruction, and the executable instruction enables the processor to execute an operation corresponding to the on-demand system testing method according to any one of claims 1 to 7.

11. A computer program product, characterized in that It includes at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the on-demand system testing method according to any one of claims 1 to 7.