CN112380092A - Application program starting time testing method - Google Patents

Application program starting time testing method Download PDF

Info

Publication number
CN112380092A
CN112380092A CN202011277417.4A CN202011277417A CN112380092A CN 112380092 A CN112380092 A CN 112380092A CN 202011277417 A CN202011277417 A CN 202011277417A CN 112380092 A CN112380092 A CN 112380092A
Authority
CN
China
Prior art keywords
application program
sub
time
application
window display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011277417.4A
Other languages
Chinese (zh)
Other versions
CN112380092B (en
Inventor
王英涛
赵方方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202011277417.4A priority Critical patent/CN112380092B/en
Priority claimed from CN202011277417.4A external-priority patent/CN112380092B/en
Publication of CN112380092A publication Critical patent/CN112380092A/en
Application granted granted Critical
Publication of CN112380092B publication Critical patent/CN112380092B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a method for testing the starting time of an application program, which comprises the following steps: starting a first main process, and creating a second sub-process and a third sub-process through the first main process; the second sub-process starts an application program according to the application program list and records the first time for starting the application program, wherein the application program list comprises a plurality of application programs; the third sub-process monitors an application program window display event and acquires application program window display information, wherein the application program window display information comprises an application program name and an application program process number which are associated with the application program window display event and second time for monitoring the application program window display event; the third subprocess sends the window display information of the application program to the second subprocess; and the second subprocess calculates the starting time consumption of the currently started application program according to the first time and the second time, and starts the next application program according to the application program list. The invention also discloses a corresponding device, a computing device and a readable storage medium.

Description

Application program starting time testing method
Technical Field
The invention relates to the technical field of computers, in particular to an application program starting time testing method, computing equipment and a readable storage medium.
Background
The application of the Linux system is wider and wider, the application programs running in the Linux system are more and more, in order to improve user experience, the performance of the application programs needs to be connected, the starting time is one of important indexes for measuring the performance of the application programs, and how to measure the starting time of the application programs also becomes a key link for measuring the performance of the application programs.
In the prior art, the starting time of an application program is generally acquired in the form of LOG, LOG is added at the starting position and the ending position of the starting code of the application program to record the starting time and the ending time of the application program starting, and the starting time of the application program is calculated according to the starting time and the ending time. Because the LOG mark is needed, the source code of the application program needs to be acquired, the label is marked in the source code for compiling, the specific test process is complicated, the efficiency is low, and meanwhile, the accuracy of the source code is influenced because the label is marked in the source code. Moreover, the method is only suitable for the application program test development stage.
Disclosure of Invention
To this end, the present invention provides an application start time test method in an attempt to solve or at least alleviate the above-identified problems.
According to an aspect of the present invention, there is provided an application program start time testing method, adapted to be executed in a computing device, in which an application program is installed, wherein the method includes: starting a first main process, and creating a second sub-process and a third sub-process through the first main process; the second sub-process starts an application program according to the application program list and records the first time for starting the application program, wherein the application program list comprises a plurality of application programs; the third sub-process monitors an application program window display event and acquires application program window display information, wherein the application program window display information comprises an application program name and an application program process number which are associated with the application program window display event and second time for monitoring the application program window display event; the third subprocess sends the window display information of the application program to the second subprocess; and the second subprocess calculates the starting time consumption of the currently started application program according to the first time and the second time, and starts the next application program according to the application program list.
Optionally, in the method for testing application start time according to the present invention, the method further includes: when the second sub-process detects that the application programs in the application program list are tested, testing completion information is sent to the first main process; the first main process finishes the second sub-process and the third sub-process according to the test finishing information; the first host process exits.
Optionally, in the method for testing application start time according to the present invention, the starting, by the second sub-process, an application according to the application list includes: the second subprocess acquires the application program to be tested from the application program list; and sending a starting instruction of the application program, and recording the name of the application program and the process number of the application program.
Optionally, in the method for testing application start time according to the present invention, the starting, by the second sub-process, an application according to the application list further includes: the second subprocess acquires the application program to be tested from the application program list; sending a starting instruction of the application program to obtain an uninstalled message of the application program; the application and its uninstalled state are recorded in a log file.
Optionally, in the method for testing application start time according to the present invention, the sending, by the third subprocess, the application window display information to the second subprocess includes: the third sub-process sends the window display information to the first shared queue; and the second subprocess acquires window display information corresponding to the currently started application program from the first shared queue.
Optionally, in the method for testing application program starting time according to the present invention, the calculating, by the second sub-process, the starting time consumption of the currently started application program according to the first time and the second time includes: calculating the difference value between the second time and the first time as the starting time consumption of the currently started application program; the name and the time consumed for starting the application program are recorded in a log file.
Optionally, in the method for testing application program starting time according to the present invention, the calculating, by the second sub-process, the starting time consumption of the currently started application program based on the first time and the second time includes: and when the second sub-process does not acquire the window display information corresponding to the currently started application program from the first shared queue within the preset time length, starting the currently started application program for overtime, and recording the name of the currently started application program and the starting overtime state corresponding to the name in a log file.
Optionally, in the method for testing application start time according to the present invention, when the second sub-process detects that the testing of the application in the application list is completed, sending test completion information to the first main process includes: when the second sub-process detects that the application programs in the application program list are tested completely, the testing completion information is sent to the first pipeline file; and the first main process acquires the test completion information from the first pipeline file.
According to another aspect of the present invention, there is provided an apparatus for testing application program start time, adapted to reside in a computing device, in which an application program is installed, the apparatus including a first main process module, a second sub-process module and a third sub-process module, wherein the first main process module is adapted to create the second sub-process module and the third sub-process module; a second sub-process module: the method comprises the steps that an application program is started according to an application program list, and the first time for starting the application program is recorded, wherein the application program list comprises a plurality of application programs; the system is also suitable for calculating the starting time consumption of the currently started application program according to the first time and the second time acquired from the third subprocess module, and starting the next application program according to the application program list; the third subprocess module is suitable for monitoring the application program window display event and acquiring the application program window display information, wherein the application program window display information comprises an application program name and an application program process number which are associated with the application program window display event and second time for monitoring the application program window display event; and sending the display information of the application program window to the second subprocess module.
According to another aspect of the invention, there is provided a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing the application launch time testing method described above.
According to another aspect of the present invention, there is provided a readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to execute the application launch time testing method described above.
According to the application program starting time testing method of the invention, the testing is carried out according to the window display event, the window display event occurrence mark indicates that the application program is started, the user can see the display window of the application program from the screen, therefore, the time spent on starting the application program is obtained from sending the application program starting instruction to the window display event occurrence, the invention respectively obtains the appointed time of starting the sending application program and the time spent on starting the window display event through two sub-processes, calculates the time spent on starting the application program according to the two times, and enters the next application program testing after the application program testing is finished according to the application program list, the testing of different application program starting times is realized through the application program list, meanwhile, the testing method does not need to modify the source code, therefore, the testing process is convenient and accurate, and the method can be applied to any application scene, and the application range is wide.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which are indicative of various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description read in conjunction with the accompanying drawings. Throughout this disclosure, like reference numerals generally refer to like parts or elements.
FIG. 1 shows a block diagram of a computing device 100, according to one embodiment of the invention;
FIG. 2 illustrates a flow diagram of an application launch time test method 200 according to one embodiment of the invention;
fig. 3 shows a block diagram of a testing apparatus 300 for application start-up time according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
FIG. 1 shows a schematic diagram of a computing device 100, according to one embodiment of the invention. It should be noted that the computing device 100 shown in fig. 1 is only an example, and in practice, the computing device for implementing the application start time testing method of the present invention may be any type of device, and the hardware configuration thereof may be the same as that of the computing device 100 shown in fig. 1, or may be different from that of the computing device 100 shown in fig. 1. In practice, the computing device for implementing the application start time testing method of the present invention may add or delete hardware components of the computing device 100 shown in fig. 1, and the present invention does not limit the specific hardware configuration of the computing device.
As shown in FIG. 1, in a basic configuration 102, a computing device 100 typically includes a system memory 106 and one or more processors 104. A memory bus 108 may be used for communication between the processor 104 and the system memory 106.
Depending on the desired configuration, the processor 104 may be any type of processing, including but not limited to: a microprocessor (μ P), a microcontroller (μ C), a Digital Signal Processor (DSP), or any combination thereof. The processor 104 may include one or more levels of cache, such as a level one cache 110 and a level two cache 112, a processor core 114, and registers 116. The example processor core 114 may include an Arithmetic Logic Unit (ALU), a Floating Point Unit (FPU), a digital signal processing core (DSP core), or any combination thereof. The example memory controller 118 may be used with the processor 104, or in some implementations the memory controller 118 may be an internal part of the processor 104.
Depending on the desired configuration, system memory 106 may be any type of memory, including but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The physical memory in the computing device is usually referred to as a volatile memory RAM, and data in the disk needs to be loaded into the physical memory to be read by the processor 104. System memory 106 may include an operating system 120, one or more applications 122, and program data 124. In some implementations, the application 122 can be arranged to execute instructions on an operating system with program data 124 by one or more processors 104. Operating system 120 may be, for example, Linux, Windows, etc., which includes program instructions for handling basic system services and performing hardware dependent tasks. The application 122 includes program instructions for implementing various user-desired functions, and the application 122 may be, for example, but not limited to, a browser, instant messenger, a software development tool (e.g., an integrated development environment IDE, a compiler, etc.), and the like. When the application 122 is installed into the computing device 100, a driver module may be added to the operating system 120.
When the computing device 100 is started, the processor 104 reads program instructions of the operating system 120 from the memory 106 and executes them. The application 122 runs on top of the operating system 120, utilizing the operating system 120 and interfaces provided by the underlying hardware to implement various user-desired functions. When the user starts the application 122, the application 122 is loaded into the memory 106, and the processor 104 reads the program instructions of the application 122 from the memory 106 and executes the program instructions.
The computing device 100 also includes a storage device 132, the storage device 132 including removable storage 136 and non-removable storage 138, the removable storage 136 and the non-removable storage 138 each connected to the storage interface bus 134.
Computing device 100 may also include an interface bus 140 that facilitates communication from various interface devices (e.g., output devices 142, peripheral interfaces 144, and communication devices 146) to the basic configuration 102 via the bus/interface controller 130. The example output device 142 includes a graphics processing unit 148 and an audio processing unit 150. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 152. Example peripheral interfaces 144 may include a serial interface controller 154 and a parallel interface controller 156, which may be configured to facilitate communication with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., printer, scanner, etc.) via one or more I/O ports 158. An example communication device 146 may include a network controller 160, which may be arranged to facilitate communications with one or more other computing devices 162 over a network communication link via one or more communication ports 164.
A network communication link may be one example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, and may include any information delivery media, such as carrier waves or other transport mechanisms, in a modulated data signal. A "modulated data signal" may be a signal that has one or more of its data set or its changes made in such a manner as to encode information in the signal. By way of non-limiting example, communication media may include wired media such as a wired network or private-wired network, and various wireless media such as acoustic, Radio Frequency (RF), microwave, Infrared (IR), or other wireless media. The term computer readable media as used herein may include both storage media and communication media.
In a computing device 100 according to the present invention, application 122 includes instructions for performing application launch time testing method 200 of the present invention, which may instruct processor 104 to perform application launch time testing method 200 of the present invention.
FIG. 2 illustrates a flow diagram of a method 200 for application launch time testing, the method 200 being suitable for execution in a computing device (such as the computing device shown in FIG. 1), according to one embodiment of the invention.
As shown in fig. 2, the method 200 starts in step S210 by starting a main process (first main process) of the test method and creating two sub-processes (second sub-process and third sub-process) by the main process.
In the following step S220, one of the sub-processes (the second sub-process) starts one of the applications according to the application list, and records the current time as the first time in the application starting process.
According to an embodiment of the present invention, the application list including a plurality of applications to be tested for the boot time may be represented in the form shown in table 1. The second sub-process firstly acquires the first application program, namely the application program 1, sends a starting instruction of the application program 1 according to the application program list, records the current time as the first time in the starting process of the application program 1, and simultaneously records the name of the application program.
TABLE 1
Serial number Application name
1 Application program 1
2 Application 2
3 Application 3
…… ……
In the following step S230, another sub-process (i.e. the third sub-process) monitors a window display event of the started application, where the window display event occurs, and the user can see the display window of the application from the screen, indicating that the application is started completely, and at this time, obtains corresponding window display information and sends the window display information to the second sub-process, where the window display information includes an application name and an application process number associated with the application window display event, and a time (the second time) when the application window display event is monitored.
According to an embodiment of the present invention, the communication between the second sub-process and the third sub-process is implemented through a shared queue (i.e., a first shared queue), and the specific process is that the third sub-process sends the acquired application window display information to the first shared queue, and the second sub-process reads data in the first shared queue and acquires window display information corresponding to an application started by the current second sub-process, and the window display information may be acquired according to a recorded application name, for example, if the application started by the second sub-process is application 1, the window display information associated with application 1 is acquired from the first shared queue.
After the second sub-process obtains the window display information, step S240 is performed, and the second sub-process calculates the time consumed for starting the currently started application program according to the second time in the application program window display information and the first time recorded in step S220. The start time of the application program is calculated by calculating the difference between the second time and the first time, for example, the first time in the start process of the application program 1 is 9 o 'clock 15 min 30 sec 200 msec, and the second time is 9 o' clock 15 min 30 sec 700 msec on the same day, so the start time of the application program 1 is 500 msec, and the second sub-process records the start time into the log file after calculating the start time, that is, the application program 1 and the start time 500 msec are recorded into the log file, and the specific log file format can be designed according to the data requirements, which is not limited by the invention.
After the time consumed for starting the current application program is calculated, step S250 is performed, and a next application program to be tested is obtained according to the application program list, for example, the application program that is currently tested is application program 1, taking table 1 as an example, in this step, application program 2 is obtained for testing.
And after the application program 2 is acquired, the step S220 is performed again, the start instruction of the application program 2 is sent, and the current time is recorded as the first time in the start process of the application program 2.
And then, in step S230, the third sub-process monitors the window display event of the application program, and writes the window display information related to the window display event into the first shared queue.
According to an embodiment of the present invention, if the currently started application program 2 fails to be started due to a file execution error, in this step, the third sub-process cannot monitor the window display event, the second sub-process cannot acquire the window display information corresponding to the application program 2 from the first shared queue, and after waiting for a predetermined time (for example, 10 seconds), the second sub-process directly records the start timeout of the application program, and records the application program name and the start timeout state thereof in the log file.
Then, step S250 is entered to obtain the next application program to be tested, according to table 1, the next application program 3 is obtained, and the application program 3 is started through step S220, according to an embodiment of the present invention, if the application program 3 is installed, the second sub-process directly records the uninstalled state of the application program 3 in the log file, and step S250 is entered to continue obtaining the next application program.
In step S250, when all the applications in the application list are tested, and the next application fails to be obtained, step S260 is performed, and in step S260, the second sub-process sends the test completion information to the first main process.
According to one embodiment of the invention, the communication between the second sub-process and the first main process is realized through a pipeline file, the second sub-process sends the test completion information to the first pipeline file, and the first main program obtains the test completion information from the first pipeline file.
When the first main program acquires the test completion information, the process proceeds to step S270, ends the two sub-processes (the first sub-process and the second sub-process) created by the first main program, and exits.
FIG. 3 shows a block diagram of an application launch time testing apparatus 300, the apparatus 300 adapted to reside in a computing device (such as the computing device shown in FIG. 1) adapted to perform the method 200, according to one embodiment of the invention. The apparatus 300 includes a first main process module 310, a second sub-process module 320, and a third sub-process module 330.
The first main process module 310 is a main process for running the application program start time testing method, and is configured to create the second sub-process module 320 and the third sub-process module 330, and when receiving the application program test completion information sent by the second sub-process module 320, end the running of the second sub-process module 320 and the third sub-process module 330, and exit.
The second subprocess module 320 is adapted to start one of the application programs according to the sequence of the application programs in the application program list, record the current time as a first time in the starting process of the application program, and calculate the time consumed for starting the application program according to the first time and a second time and record the time consumed for starting the application program in the log file when receiving a second time of the application program window display event acquired by the third subprocess module 330.
If the preset time is exceeded and the display information of the application program window is still received, recording the name and the starting overtime state of the corresponding application program in a log file.
When the application to be tested is an uninstalled program, the application name and the uninstalled state are recorded in a log file.
The third sub-process module 330 is adapted to monitor a window display event, obtain window display information including an application name and an application process number associated with the window display event and a current time (i.e., a second time in the application starting process) when the window display event is detected, and send the window display information to the second sub-process module, where communication between the third sub-process module and the second sub-process module may be implemented in a queue sharing manner.
According to the application program starting time testing method of the invention, the testing is carried out according to the window display event, the window display event occurrence mark indicates that the application program is started, the user can see the display window of the application program from the screen, therefore, the time spent on starting the application program is obtained from sending the application program starting instruction to the window display event occurrence, the invention respectively obtains the appointed time of starting the sending application program and the time spent on starting the window display event through two sub-processes, calculates the time spent on starting the application program according to the two times, and enters the next application program testing after the application program testing is finished according to the application program list, the testing of different application program starting times is realized through the application program list, meanwhile, the testing method does not need to modify the source code, therefore, the testing process is convenient and accurate, and the method can be applied to any application scene, and the application range is wide.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U.S. disks, floppy disks, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to execute the application start-time test method of the present invention according to instructions in the program code stored in the memory.
By way of example, and not limitation, readable media may comprise readable storage media and communication media. Readable storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with examples of this invention. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
It should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into multiple sub-modules.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
The invention also includes:
a8, the method according to any one of a2-a7, wherein the sending, by the second sub-process, test completion information to the first main process when detecting that the applications in the application list are tested completely comprises:
when the second sub-process detects that the application programs in the application program list are tested completely, sending the test completion information to a first pipeline file;
and the first main process acquires the test completion information from the first pipeline file.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
Furthermore, some of the described embodiments are described herein as a method or combination of method elements that can be performed by a processor of a computer system or by other means of performing the described functions. A processor having the necessary instructions for carrying out the method or method elements thus forms a means for carrying out the method or method elements. Further, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is used to implement the functions performed by the elements for the purpose of carrying out the invention.
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this description, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The present invention has been disclosed in an illustrative rather than a restrictive sense, and the scope of the present invention is defined by the appended claims.

Claims (10)

1. An application start time testing method, adapted to be executed in a computing device in which an application is installed, wherein the method comprises:
starting a first main process, and creating a second sub-process and a third sub-process through the first main process;
the second sub-process starts an application program according to an application program list and records the first time for starting the application program, wherein the application program list comprises a plurality of application programs;
the third sub-process monitors an application program window display event and acquires application program window display information, wherein the application program window display information comprises an application program name and an application program process number which are associated with the application program window display event and second time for monitoring the application program window display event;
the third sub-process sends the window display information of the application program to the second sub-process;
and the second sub-process calculates the starting time consumption of the currently started application program according to the first time and the second time, and starts the next application program according to the application program list.
2. The method of claim 1, further comprising:
when the second sub-process detects that the application programs in the application program list are tested completely, testing completion information is sent to the first main process;
the first main process finishes the second sub-process and the third sub-process according to the test finishing information;
the first host process exits.
3. The method of claim 1 or 2, wherein the second sub-process launching an application according to the application list comprises:
the second subprocess acquires the application program to be tested from the application program list;
and sending a starting instruction of the application program, and recording the name of the application program and the process number of the application program.
4. The method of any of claims 1-3, wherein the second sub-process launching an application from an application list further comprises:
the second subprocess acquires the application program to be tested from the application program list;
sending a starting instruction of the application program to obtain an uninstalled message of the application program;
the application and its uninstalled state are recorded in a log file.
5. The method of any of claims 1-4, wherein the third sub-process sending the application window display information to the second sub-process comprises:
the third sub-process sends the window display information to a first shared queue;
and the second sub-process acquires window display information corresponding to the currently started application program from the first shared queue.
6. The method of any one of claims 1-5, wherein the second sub-process calculating the time-to-launch of the currently launched application based on the first time and the second time comprises:
calculating the difference value between the second time and the first time as the starting time consumption of the currently started application program;
and recording the name of the application program and the starting time consumption in a log file.
7. The method of any of claims 1-6, wherein the second sub-process calculating a launch elapsed time for the currently launched application based on the first time and the second time comprises:
and when the second sub-process does not acquire window display information corresponding to the currently started application program from the first shared queue within a preset time length, starting the currently started application program overtime, and recording the name of the currently started application program and the starting overtime state corresponding to the name in the log file.
8. An application program start time testing apparatus adapted to reside in a computing device in which an application program is installed, the apparatus comprising a first main process module, a second sub-process module and a third sub-process module, wherein,
the first main process module is suitable for creating a second subprocess module and a third subprocess module;
a second sub-process module: the method comprises the steps that an application program is started according to an application program list, and the first time for starting the application program is recorded, wherein the application program list comprises a plurality of application programs; the system is also suitable for calculating the starting time consumption of the currently started application program according to the first time and the second time acquired from the third subprocess module, and starting the next application program according to the application program list;
the third subprocess module is suitable for monitoring an application program window display event and acquiring application program window display information, wherein the application program window display information comprises an application program name and an application program process number which are associated with the application program window display event and second time for monitoring the application program window display event; and sending the application program window display information to the second subprocess module.
9. A computing device, comprising:
at least one processor; and
a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing the method of any of claims 1-8.
10. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method of any of claims 1-8.
CN202011277417.4A 2020-11-16 Application program starting time testing method Active CN112380092B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011277417.4A CN112380092B (en) 2020-11-16 Application program starting time testing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011277417.4A CN112380092B (en) 2020-11-16 Application program starting time testing method

Publications (2)

Publication Number Publication Date
CN112380092A true CN112380092A (en) 2021-02-19
CN112380092B CN112380092B (en) 2024-05-31

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893251A (en) * 2016-03-29 2016-08-24 工业和信息化部电信研究院 Test method and system of time required for starting intelligent terminal APP
CN106708728A (en) * 2016-11-18 2017-05-24 武汉斗鱼网络科技有限公司 Method and system for automatically testing Android application startup time
CN108733561A (en) * 2018-04-25 2018-11-02 北京五八信息技术有限公司 Application program launching duration test method, device, electronic equipment and storage medium
CN109976966A (en) * 2017-12-27 2019-07-05 阿里巴巴集团控股有限公司 A kind of application program launching time counting method, apparatus and system
CN110134568A (en) * 2019-04-30 2019-08-16 广州华多网络科技有限公司 A kind of application program launching time detection method, device and equipment
CN110781067A (en) * 2019-10-30 2020-02-11 北京博睿宏远数据科技股份有限公司 Method, device, equipment and storage medium for calculating starting time consumption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893251A (en) * 2016-03-29 2016-08-24 工业和信息化部电信研究院 Test method and system of time required for starting intelligent terminal APP
CN106708728A (en) * 2016-11-18 2017-05-24 武汉斗鱼网络科技有限公司 Method and system for automatically testing Android application startup time
CN109976966A (en) * 2017-12-27 2019-07-05 阿里巴巴集团控股有限公司 A kind of application program launching time counting method, apparatus and system
CN108733561A (en) * 2018-04-25 2018-11-02 北京五八信息技术有限公司 Application program launching duration test method, device, electronic equipment and storage medium
CN110134568A (en) * 2019-04-30 2019-08-16 广州华多网络科技有限公司 A kind of application program launching time detection method, device and equipment
CN110781067A (en) * 2019-10-30 2020-02-11 北京博睿宏远数据科技股份有限公司 Method, device, equipment and storage medium for calculating starting time consumption

Similar Documents

Publication Publication Date Title
US10445100B2 (en) Broadcasting messages between execution slices for issued instructions indicating when execution results are ready
US20090198473A1 (en) Method and system for predicting system performance and capacity using software module performance statistics
WO2017107843A1 (en) Periodic task processing method and apparatus, computer program, and readable medium
US6983234B1 (en) System and method for validating processor performance and functionality
CN109634989B (en) HIVE task execution engine selection method and system
US20130013283A1 (en) Distributed multi-pass microarchitecture simulation
US20190294571A1 (en) Operation of a multi-slice processor implementing datapath steering
CN105893233B (en) Method and system for automatically testing firmware
CN113515448A (en) Method and device for acquiring starting time information of application program
US20160217017A1 (en) Determining workflow completion state
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
CN113204385A (en) Plug-in loading method and device, computing equipment and readable storage medium
US10067814B2 (en) Method and system to decrease measured usage license charges for diagnostic data collection
US10769051B2 (en) Method and system to decrease measured usage license charges for diagnostic data collection
CN112380092A (en) Application program starting time testing method
CN112380092B (en) Application program starting time testing method
US7707560B2 (en) Analyzing software performance without requiring hardware
US20110022373A1 (en) Model checking of liveness property in a phase abstracted model
CN115033182A (en) Processing method and device
CN113821438A (en) Application response performance test method and system and computing equipment
CN113515388A (en) Process scheduling method and device, computing equipment and readable storage medium
US9363136B2 (en) Mechanism to monitor quality of service
US20210200526A1 (en) Method and system for dynamic upgrade predictions for a multi-component product
CN100426234C (en) Method for self turn-on test time for measuring basic input and output system
CN112445587A (en) Task processing method and task processing device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant