CN109446073B - Software collaborative testing method and device and electronic equipment - Google Patents

Software collaborative testing method and device and electronic equipment Download PDF

Info

Publication number
CN109446073B
CN109446073B CN201811141051.0A CN201811141051A CN109446073B CN 109446073 B CN109446073 B CN 109446073B CN 201811141051 A CN201811141051 A CN 201811141051A CN 109446073 B CN109446073 B CN 109446073B
Authority
CN
China
Prior art keywords
software
sequences
execution
operation sequences
items
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.)
Active
Application number
CN201811141051.0A
Other languages
Chinese (zh)
Other versions
CN109446073A (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.)
Tianjin ByteDance Technology Co Ltd
Original Assignee
Tianjin ByteDance 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 Tianjin ByteDance Technology Co Ltd filed Critical Tianjin ByteDance Technology Co Ltd
Priority to CN201811141051.0A priority Critical patent/CN109446073B/en
Publication of CN109446073A publication Critical patent/CN109446073A/en
Application granted granted Critical
Publication of CN109446073B publication Critical patent/CN109446073B/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The disclosure relates to a software collaborative testing method and device and electronic equipment. The software cooperation testing method comprises the following steps: selecting operation items in the operation list as operation sequences to generate at least two groups of operation sequences; executing all operation sequences, and storing an execution result corresponding to each group of operation sequences; judging whether the execution results corresponding to all the operation sequences are consistent; if so, the function of the software to be tested corresponding to the operation sequence is normal; if not, the function of the software to be tested corresponding to the operation sequence is abnormal. By implementing the method and the device, the collaborative editing tool can be effectively tested, more input scenes are covered, the consistency of multi-user collaborative editing is ensured, and debugging is facilitated.

Description

Software collaborative testing method and device and electronic equipment
Technical Field
The present disclosure relates to the field of software testing, and more particularly, to a method and an apparatus for software collaborative testing, and an electronic device.
Background
The online collaborative editing tool is an online tool which runs on a browser and can be used for editing and collaborating by multiple persons at the same time, such as an online collaborative document, an online collaborative spreadsheet and the like. The online collaborative editing tool needs to support multiple persons to read online at the same time, edit the same document, and synchronize the editing state of each person, so that the document contents seen by all persons are completely consistent. Two problems need to be solved to realize real-time collaborative editing: the final consistency of online coordination editing can be ensured only by solving the real-time communication problem and the editing conflict problem. To solve these two problems, a very complicated technical solution is required, and in the development process, tests are usually adopted to ensure the quality of the code and the correctness of the functions.
The test scheme commonly used in the industry at present is to use a unit test and an E2E test, and the unit test is used to ensure the correctness of the module function by detecting whether the outputs of different inputs meet expectations. The E2E test is used to simulate user operation and check the state of the user interface to see if the function is as expected. The unit test can ensure the functional correctness of the module by constructing different input and detecting whether the output is in accordance with the expectation, but the input condition of multi-person online collaborative editing is very complicated, and the comprehensive coverage of all possible editing conditions is difficult. The E2E test can only ensure the correctness of operations of a single person, and cannot ensure that the previous editing states of a plurality of persons are consistent. Therefore, two problems need to be solved: as a supplement to unit testing, all input scenarios are covered as much as possible; and testing whether the operation results among the plurality of persons are consistent.
Disclosure of Invention
The technical problem to be solved by the present disclosure is to provide a software collaborative testing method, device and electronic device, aiming at the defects of incomplete test coverage and inconsistent editing state in multi-user operation in the prior art.
The technical scheme adopted by the disclosure for solving the technical problem is as follows: a software collaborative testing method is constructed, and the method comprises the following steps:
selecting operation items in an operation list as operation sequences, and generating at least two groups of operation sequences;
executing all the operation sequences, and storing an execution result corresponding to each group of the operation sequences;
judging whether the execution results corresponding to all the operation sequences are consistent;
if so, the function of the software to be tested corresponding to the operation sequence is normal;
and if not, the function of the software to be tested corresponding to the operation sequence is abnormal.
Further, the software cooperation testing method of the present disclosure further includes, before selecting an operation item in the operation list as an operation sequence:
and listing all operation items of the software to be tested to form the operation list.
Optionally, in the software cooperation testing method of the present disclosure, the executing all the operation sequences includes:
all the operation sequences simultaneously operate the same operation object according to respective operation items;
the step of saving the execution result corresponding to each group of the operation sequence comprises:
and after all the operation sequences are executed, storing the execution result of the object corresponding to each group of operation sequences.
Further, in the software cooperation testing method of the present disclosure, if the function of the software to be tested corresponding to the operation sequence is abnormal, the following steps are performed:
playback execution is carried out on the operation sequence, and abnormal operation items causing the inconsistency of the execution results are found out;
and finding out the corresponding abnormal program code according to the abnormal operation item.
Further, the software cooperation testing method of the present disclosure, if the function of the software to be tested corresponding to the operation sequence is normal, executes the steps of:
and selecting the operation items in the operation list as an operation sequence.
Optionally, in the software collaborative testing method of the present disclosure, the software to be tested is an online collaborative editing tool, and the online collaborative editing tool includes at least one online document;
the performing all of the sequence of operations includes: all the operation sequences simultaneously operate the same online document according to respective operation items;
the step of saving the execution result corresponding to each group of the operation sequence comprises: and saving the data model and the editing result state screenshot of the online document.
Optionally, the software cooperation testing method of the present disclosure, the determining whether the execution results corresponding to all the operation sequences are consistent includes:
and judging whether the data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent.
In addition, the present disclosure also provides a software cooperation testing apparatus, including:
the first selection unit is used for selecting operation items in the operation list as operation sequences and generating at least two groups of the operation sequences;
the execution unit is used for executing all the operation sequences and storing the execution result corresponding to each group of the operation sequences;
the first judging unit is used for judging whether the execution results corresponding to all the operation sequences are consistent;
the first result unit is used for judging that the functions of the software to be tested corresponding to the operation sequences are normal if the execution results corresponding to all the operation sequences are consistent;
and the second result unit is used for judging that the to-be-tested software corresponding to the operation sequences is abnormal if the execution results corresponding to all the operation sequences are inconsistent.
In addition, the present disclosure also provides a computer storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the software cooperation testing method is implemented.
In addition, the present disclosure also provides an electronic device comprising a memory and a processor;
the memory is used for storing a computer program;
the processor is used for executing the computer program to realize the software cooperation testing method;
the software collaborative testing method, the device and the electronic equipment have the following beneficial effects that: the software cooperation testing method comprises the following steps: selecting operation items in an operation list as operation sequences, and generating at least two groups of operation sequences; executing all the operation sequences, and storing an execution result corresponding to each group of the operation sequences; judging whether the execution results corresponding to all the operation sequences are consistent; if so, the function of the software to be tested corresponding to the operation sequence is normal; and if not, the function of the software to be tested corresponding to the operation sequence is abnormal. By implementing the method and the device, the collaborative editing tool can be effectively tested, more input scenes are covered, the consistency of multi-user collaborative editing is ensured, and debugging is facilitated.
Drawings
The disclosure will be further described with reference to the accompanying drawings and examples, in which:
fig. 1 is a flowchart of a software cooperation testing method provided in an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of a structure provided by an embodiment of the present disclosure;
FIG. 3 is a flowchart of a software cooperation testing method provided by the embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of a software cooperation testing apparatus provided in an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of an electronic device provided in an embodiment of the present disclosure.
Detailed Description
For a more clear understanding of the technical features, objects, and effects of the present disclosure, specific embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
First embodiment
Referring to fig. 1, the software cooperation testing method of the present embodiment is applied to cooperation software, where the cooperation software refers to software that can be used by two or more users at the same time, and of course, the software can also support one user to use, and a single user uses a software that does not belong to the testing range of the present embodiment. When a plurality of users operate the same object in the software at the same time, the collaborative testing method provided by the embodiment can be used for testing. Optionally, the test object software of this embodiment is online software, that is, software that runs in a browser and is online and can be operated by multiple users at the same time, and multiple users can operate the same object in the software at the same time. The cooperative testing method comprises the following steps:
and S10, listing all operation items of the software to be tested to form an operation list. After the software is written, the test is started, firstly all possible operation items of the software are listed, and the operation items are made into an operation list according to a certain rule for subsequent selection and use. It will be appreciated that as many operational items of software as possible should be listed to ensure test quality. The operation item refers to an operation capable of realizing or completing a certain function, such as inputting text to a document, modifying text content, setting a text format, and the like.
The operation item may be an operation for realizing a single function, or may be a continuous operation for realizing at least two different functions, that is, the operation item may be simple or complex.
After listing all the operation items, in order to realize the automation of the test, a program code corresponding to each operation item needs to be written, and the corresponding operation item can be realized or completed by running the program code, namely, a certain function of the software is realized or completed; when the operation item comprises a plurality of functional operations, a plurality of functions of the software are correspondingly realized or completed. Thus, each operation item is provided with a corresponding program code, and the corresponding function detection can be realized by executing the program code.
Alternatively, if the software to be tested is online software, namely software which runs in a browser, is online and can be operated by multiple persons at the same time, each operation item needs to be capable of simulating a user terminal to perform online operation; correspondingly, the program code corresponding to each operation item can also realize the simulation of the online operation of the user terminal.
And S11, selecting the operation items in the operation list as operation sequences, and generating at least two groups of operation sequences. After the operation list is finished, at least one operation item is selected from the operation list to be used as an operation sequence, and each time one operation sequence is generated, a simulation user is correspondingly generated. Referring to fig. 3, three sets of operation sequences are selected in this embodiment: the operation sequence 1, the operation sequence 2 and the operation sequence 3 correspondingly generate three simulated users: simulated user 1, simulated user 2, and simulated user 3. In the process of executing the three groups of operation lists, the software is used by three simulation users at the same time.
In the process of selecting the operation items in the operation list, manual selection can be performed, automatic selection can be performed according to preset selection rules, in order to ensure that all functions of the software are covered in the software testing process, in the embodiment, in each process of selecting the operation items, untested operation items are selected as much as possible, so that after multiple times of multiple groups of tests, the range of the operation items is continuously expanded, and finally, full coverage of all the operation items is realized. Alternatively, the selected operation items may be marked, and the number of marks may be increased once per selection. By marking, the operation item with no mark or low mark number should be selected in the subsequent testing process.
And S12, executing all operation sequences, and storing the execution result corresponding to each group of operation sequences. After a plurality of groups of operation sequences are selected, a plurality of users can be simulated to operate the software at the same time. After the detection action is started, all operation sequences simultaneously operate the same operation object according to respective operation items, wherein the same object refers to a certain operation object in the software, for example, an online collaborative editing tool comprises at least one online document, and the same object refers to the same document. In addition, the simultaneous execution referred to herein includes the following execution cases:
a first execution case: all operation sequences simultaneously start to execute respective operation items;
a second execution case: wherein, a part of operation sequences execute respective operation items first, and before the operation of the operation sequences is finished, other operation sequences start to execute the operation items;
a third execution case: executing the operation sequences according to a preset execution sequence, wherein the execution of the next operation sequence must be started before the execution of the previous operation sequence is finished;
fourth execution case: and a part of operation sequences start to be executed at the same time, and other operation sequences start to be executed after the execution of the previous part of operation sequences is finished.
Through the above conditions, simultaneous operations performed at different time points are simulated respectively, the conditions when the user really uses the software are approached as much as possible, and the test quality is improved.
After a period of time, after all the operation sequences are executed, the execution results of the objects corresponding to each group of operation sequences are stored, because each group of operation sequences executes the same operation object, after the execution is finished, the synchronization of the execution results of all the operation sequences is finished, and after the synchronization is finished, the execution results of the operation objects corresponding to each group of operation sequences are stored. It is understood that the number of execution results is equal to the number of operation sequences, that is, each simulation user can obtain the execution result of one operation object.
Alternatively, the saved execution result includes the following saving modes:
first storage mode: and in the execution process of each group of operation sequences, storing the execution result corresponding to each step in the execution process of the operation sequences.
A second storage mode: and only storing the final execution result of the operation object after the execution of each group of operation sequences is finished and the synchronization is completed, wherein each operation sequence corresponds to one final execution result, namely each simulation user has the own final execution result.
The third storage mode: and if the operation sequence comprises a plurality of operation items, only saving the corresponding execution result after the operation of each operation item is finished.
The fourth storage mode: and saving the execution result according to a preset time point or a time interval.
And S13, judging whether the execution results corresponding to all the operation sequences are consistent. And after all the operation sequences are executed and synchronization is completed, storing the execution result. Corresponding to the execution result saving mode, judging whether the execution results corresponding to all the operation sequences are consistent comprises the following judgment methods:
the first judgment mode is as follows: and judging whether the execution result corresponding to each step in each group of operation sequences is consistent with the execution results corresponding to other operation sequences. Alternatively, if the execution result of the operation step is not synchronized, whether the execution result corresponding to each step is consistent with a preset execution result is judged.
The second judgment mode is as follows: and judging whether the final execution results corresponding to all the operation sequences are consistent, wherein each operation sequence corresponds to one final execution result, namely each simulation user has the own final execution result, and what is simulated is that a plurality of users see the respective final execution results on respective terminals.
The third judgment mode: and judging whether the corresponding execution result of each operation item operation of the operation sequence is consistent with the execution result of other operation sequences after the corresponding operation item operation is finished. Alternatively, if the operation item is not synchronized after being operated, whether the execution result of each operation item is consistent with a preset execution result is judged.
The fourth judgment mode: and judging whether the execution results of all the operation items stored at the preset time point or time interval are consistent.
And S14, judging that the function of the software to be tested corresponding to the operation sequence is normal if the execution results corresponding to all the operation sequences are consistent. After the function of the software to be tested corresponding to the operation sequence is normal, executing the following steps: and selecting the operation items in the operation list as an operation sequence, and restarting the next round of test operation.
And S15, judging that if the execution results corresponding to all the operation sequences are inconsistent, the function of the software to be tested corresponding to the operation sequences is abnormal. If the function of the software to be tested corresponding to the operation sequence is abnormal, executing the following steps:
the operation sequence is replayed and executed, the replay process can be manually controlled in the replay process, and abnormal operation items which cause inconsistent execution results are found out; and finding out the corresponding abnormal program code according to the abnormal operation item, finding the problem and debugging the abnormal program code.
According to the software testing method and device, the plurality of operation sequences are formed by selecting the test items, so that a plurality of users are simulated to operate the software at the same time, the software function testing is realized, more input scenes can be covered, and the software testing efficiency and quality are improved.
Second embodiment
Referring to fig. 3, on the basis of the first embodiment, the software to be tested in this embodiment is an online collaborative editing tool, and the online collaborative editing tool includes at least one online document. The online collaborative editing tool is an editing tool which runs in a browser and is online and can be operated by multiple persons at the same time, and the corresponding online document is a document which runs in the browser and is online and can be operated by multiple persons at the same time.
The first embodiment in which selecting an operation item in the operation list as the operation sequence includes: and selecting the operation items in the operation list of the same online document in the online collaborative editing tool as an operation sequence. Namely, it is
And S21, selecting the operation items in the operation list of the same online document in the online collaborative editing tool as operation sequences, and generating at least two groups of operation sequences. Each time an operation sequence is generated, a simulation user is correspondingly generated. In the process of selecting the operation items in the operation list, manual selection can be performed, automatic selection can also be performed according to preset selection rules, in order to ensure that all functions of the software are covered in the software testing process, in the embodiment, in each operation item selection process, untested operation items are selected as much as possible, so that after multiple times of multiple groups of tests, the operation item range is continuously expanded, and finally, full coverage of all the operation items is realized. Alternatively, the selected operation items may be marked, and the number of marks may be increased once per selection. By marking, the operation item with no mark or low mark number should be selected in the subsequent testing process.
The operation item may be an operation for realizing a single function, or may be a continuous operation for realizing at least two different functions, that is, the operation item may be simple or complex. After listing all the operation items, in order to realize the automation of the test, a program code corresponding to each operation item needs to be written, and the corresponding operation item is realized or completed by running the program code, namely, a certain function of the online collaborative editing tool is realized or completed; when the operation item comprises a plurality of functional operations, a plurality of functions of the online collaborative editing tool are correspondingly realized or completed. Thus, each operation item is provided with a corresponding program code, the detection of a corresponding function is realized by executing the program code, and then all operation items of the online collaborative editing tool are listed to form an operation list.
Optionally, the operation items of the online collaborative editing tool include, but are not limited to, opening text, saving text, inputting text, deleting text, setting a text format, adding a deletion label, and the like, the setting of a text format includes, but is not limited to, setting a text font style, a text color, a font size, a font spacing, a text line spacing, and the like, the contents of the operation items cannot be exhaustive, and all the operation items capable of performing text operations belong to the operation items.
The first embodiment performs all the operation sequences including: all the operation sequences simultaneously operate the same online document according to respective operation items; the first embodiment of saving the execution result corresponding to each group of operation sequences includes: and saving the data model and the editing result state screenshot of the online document. Namely, it is
And S22, operating the same online document according to respective operation items simultaneously by all the operation sequences, and storing the data model and the editing result state screenshot of the online document. The simultaneous operation of the same online document according to the respective operation items includes the following execution cases:
a first execution case: all operation sequences simultaneously start to execute respective operation items on the same online document;
a second execution case: wherein, a part of operation sequences execute respective operation items on the same online document, and before the operation of the operation sequences is finished, other operation sequences start to execute the operation items;
a third execution case: executing operation sequences on the same online document according to a preset execution sequence, wherein the execution of the next operation sequence must be started before the execution of the previous operation sequence is finished;
fourth execution case: and a part of operation sequences start to be executed on the same online document at the same time, and other operation sequences start to be executed after the execution of the previous part of operation sequences is finished.
Through the above conditions, simultaneous operations performed at different time points are simulated respectively, the conditions when a user really performs online editing are approached as much as possible, and the test quality is improved.
After a period of time, after all the operation sequences are executed, the execution results of the objects corresponding to each group of operation sequences are stored, because each group of operation sequences executes the same operation object, after the execution is finished, the synchronization of the execution results of all the operation sequences is finished, and after the synchronization is finished, the execution results of the operation objects corresponding to each group of operation sequences are stored. It is understood that the number of execution results is equal to the number of operation sequences, that is, each simulation user can obtain the execution result of one operation object.
Alternatively, the saved execution result includes the following saving modes:
first storage mode: and in the execution process of each group of operation sequences, saving the data model and the editing result state screenshot corresponding to each step in the execution process of the operation sequences.
The second storage mode: and only storing the final data model and the editing result state screenshot of the operation object after the execution of each group of operation sequences is finished and the synchronization is finished, wherein each operation sequence corresponds to one final data model and one editing result state screenshot, namely each simulation user has the own final execution result.
The third storage mode: and if the operation sequence comprises a plurality of operation items, only saving the corresponding data model and the corresponding editing result state screenshot after the operation of each operation item is finished.
The fourth storage mode: and saving the data model and the editing result state screenshot according to a preset time point or a preset time interval.
The first embodiment of the present invention further includes: and judging whether the data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent. Namely, it is
And S23, judging whether the data models and/or editing result state screenshots corresponding to all the operation sequences are consistent. Corresponding to the execution result storage mode, judging whether the data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent comprises the following judgment methods:
the first judgment mode is as follows: and judging whether the data model and/or the editing result state screenshot corresponding to each step in each group of operation sequences is consistent with the data model and/or the editing result state screenshot corresponding to other operation sequences. Alternatively, if the data model and/or the editing result state screenshot of the operation step is not synchronized, whether the data model and/or the editing result state screenshot corresponding to each step is consistent with the preset data model and/or the editing result state screenshot is judged.
The second judgment mode is as follows: and judging whether the final data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent, wherein each operation sequence corresponds to one final data model and/or one editing result state screenshot, namely each simulation user has the own final data model and/or editing result state screenshot.
The third judgment mode: and judging whether the corresponding data model and/or editing result state screenshot of each operation item of the operation sequence is consistent with the data model and/or editing result state screenshot of other operation sequences after the operation of the corresponding operation item is finished. Alternatively, if the operation items are not synchronized after operation, whether the data model and/or the editing result state screenshot of each operation item is consistent with the preset data model and/or the editing result state screenshot is judged.
The fourth judgment mode: and judging whether the data models saved by all the operation items at a preset time point or a preset time interval and/or the editing result state screenshots are consistent or not.
And S24, judging that if the screenshots of the data model and/or the editing result state are consistent, the online collaborative editing tool corresponding to the operation sequence is normal in function. If the online collaborative editing tool corresponding to the operation sequence is normal in function, the steps are executed in the editing state of the current online document or after the online document is reselected: and selecting the operation items in the operation list as an operation sequence, and restarting the next round of test operation.
And S25, judging that if the screenshots of the data model and/or the editing result state are not consistent, the online collaborative editing tool corresponding to the operation sequence is abnormal in function. If the function of the software to be tested corresponding to the operation sequence is abnormal, executing the following steps:
the operation sequence is replayed and executed, the replay process can be manually controlled in the replay process, and abnormal operation items which cause inconsistent execution results are found out; finding out the corresponding abnormal program code according to the abnormal operation item, finding out the problem and debugging the abnormal program code.
By implementing the embodiment, a plurality of operation sequences are formed by selecting the test items, so that the same online document of the online collaborative editing tool is simulated by a plurality of users to operate simultaneously, the function test of the online collaborative editing tool is realized, more input scenes can be covered, and the software testing efficiency and quality are improved.
Referring to fig. 4, the present disclosure also provides a software cooperation testing apparatus 40, including:
a first selection unit 401, configured to select operation items in an operation list as operation sequences, and generate at least two sets of the operation sequences;
an execution unit 402, configured to execute all the operation sequences, and store an execution result corresponding to each group of the operation sequences;
a first determining unit 403, configured to determine whether execution results corresponding to all the operation sequences are consistent;
a first result unit 404, configured to determine that the function of the to-be-tested software corresponding to the operation sequence is normal if the execution results corresponding to all the operation sequences are consistent;
if the execution results corresponding to all the operation sequences are not consistent, the function of the software to be tested corresponding to the operation sequences is abnormal in the second result unit 405.
Further, the software cooperation testing device of the present disclosure further includes:
and the enumeration unit is used for enumerating all operation items of the software to be tested to form an operation list.
Further, the software cooperation testing device of the present disclosure, the execution unit includes:
the operation unit is used for simultaneously operating the same operation object according to the respective operation items by all the operation sequences;
the first storage unit is used for storing the execution result corresponding to each group of operation sequences and comprises:
and the second storage unit is used for storing the execution result of the object corresponding to each group of operation sequences after all the operation sequences are executed.
Further, the software cooperation testing device of the present disclosure further includes:
the playback unit is used for performing playback execution on the operation sequence if the function of the software to be tested corresponding to the operation sequence is abnormal, and searching out abnormal operation items causing inconsistent execution results;
and the searching unit is used for searching the corresponding abnormal program code according to the abnormal operation item.
Further, the software cooperation testing device of the present disclosure further includes:
and the second selection unit is used for selecting the operation items in the operation list as the operation sequence if the function of the software to be tested corresponding to the operation sequence is normal.
Further, in the software cooperation testing device disclosed by the disclosure, the software to be tested is an online cooperation editing tool, and the online cooperation editing tool comprises at least one online document; the execution unit includes:
the execution subunit is used for simultaneously operating the same online document according to respective operation items by all the operation sequences;
and the third storage unit is used for storing the data model of the online document and the editing result state screenshot.
Further, in the software cooperation testing apparatus of the present disclosure, the first determining unit includes:
and the second judging unit is used for judging whether the data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent or not.
In addition, the present disclosure also provides a computer storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the software cooperation testing method is implemented.
Referring now to FIG. 5, a block diagram of an electronic device 500 suitable for use in implementing embodiments of the present disclosure is shown. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5, electronic device 500 may include a processing means (e.g., central processing unit, graphics processor, etc.) 501 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data necessary for the operation of the electronic apparatus 500 are also stored. The processing device 501, the ROM502, and the RAM 503 are connected to each other through a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
Generally, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 507 including, for example, a Liquid Crystal Display (LCD), speakers, vibrators, and the like; storage devices 508 including, for example, magnetic tape, hard disk, etc.; and a communication device 509. The communication means 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. While fig. 5 illustrates an electronic device 500 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 509, or installed from the storage means 508, or installed from the ROM 502. The computer program, when executed by the processing device 501, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure may be a computer readable signal medium or a computer storage medium or any combination of the two. A computer storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of computer storage media may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring at least two internet protocol addresses; sending a node evaluation request comprising the at least two internet protocol addresses to node evaluation equipment, wherein the node evaluation equipment selects the internet protocol addresses from the at least two internet protocol addresses and returns the internet protocol addresses; receiving an internet protocol address returned by the node evaluation equipment; wherein the obtained internet protocol address indicates an edge node in the content distribution network.
Alternatively, the computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receiving a node evaluation request comprising at least two internet protocol addresses; selecting an internet protocol address from the at least two internet protocol addresses; returning the selected internet protocol address; wherein the received internet protocol address indicates an edge node in the content distribution network.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, the first retrieving unit may also be described as a "unit for retrieving at least two internet protocol addresses".
By implementing the method and the device, the collaborative editing tool can be effectively tested, more input scenes are covered, the consistency of multi-user collaborative editing is ensured, and debugging is facilitated.
The above embodiments are merely illustrative of the technical concepts and features of the present disclosure, and are intended to enable those skilled in the art to understand the present disclosure and implement the present disclosure, and not to limit the scope of the present disclosure. All equivalent changes and modifications made within the scope of the claims of the present disclosure are intended to be covered by the claims of the present disclosure.

Claims (12)

1. A software cooperation testing method is characterized by comprising the following steps:
selecting operation items in an operation list as operation sequences, and generating at least two groups of operation sequences;
executing all the operation sequences, and storing an execution result corresponding to each group of the operation sequences; the performing of all of the sequence of operations comprises: all the operation sequences simultaneously operate the same operation object according to respective operation items; the step of saving the execution result corresponding to each group of the operation sequence comprises: after all the operation sequences are executed, storing the execution results of the objects corresponding to each group of operation sequences;
judging whether the execution results corresponding to all the operation sequences are consistent;
if so, the function of the software to be tested corresponding to the operation sequence is normal;
if not, the function of the software to be tested corresponding to the operation sequence is abnormal;
the software to be tested is an online collaborative editing tool which comprises at least one online document;
the performing all of the sequence of operations includes: all the operation sequences simultaneously operate the same online document according to respective operation items;
the step of saving the execution result corresponding to each group of the operation sequence comprises: and saving the data model and the editing result state screenshot of the online document.
2. The software co-testing method according to claim 1, further comprising, before selecting an operation item in the operation list as an operation sequence:
and listing all operation items of the software to be tested to form the operation list.
3. The software cooperation testing method according to claim 1, wherein if the function of the software to be tested corresponding to the operation sequence is abnormal, the following steps are performed:
playback execution is carried out on the operation sequence, and abnormal operation items causing the inconsistency of the execution results are found out;
and finding out the corresponding abnormal program code according to the abnormal operation item.
4. The software cooperation testing method according to claim 1, wherein if the function of the software to be tested corresponding to the operation sequence is normal, the steps are executed:
and selecting the operation items in the operation list as an operation sequence.
5. The software cooperation testing method according to claim 1, wherein said determining whether the execution results corresponding to all the operation sequences are consistent comprises:
and judging whether the data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent.
6. A software cooperation testing apparatus, comprising:
the first selection unit is used for selecting operation items in the operation list as operation sequences and generating at least two groups of the operation sequences;
the execution unit is used for executing all the operation sequences and storing the execution result corresponding to each group of the operation sequences; the execution unit includes: the operation unit is used for simultaneously operating the same operation object according to the respective operation items by all the operation sequences; the second storage unit is used for storing the execution result of the object corresponding to each group of operation sequences after all the operation sequences are executed;
the first judgment unit is used for judging whether the execution results corresponding to all the operation sequences are consistent;
the first result unit is used for judging that the functions of the software to be tested corresponding to the operation sequences are normal if the execution results corresponding to all the operation sequences are consistent;
the second result unit is used for judging that the function of the software to be tested corresponding to the operation sequence is abnormal if the execution results corresponding to all the operation sequences are inconsistent;
the execution unit includes:
the execution subunit is used for enabling the software to be tested to be an online collaborative editing tool, and the online collaborative editing tool comprises at least one online document; all the operation sequences simultaneously operate the same online document according to respective operation items;
and the third storage unit is used for storing the data model and the editing result state screenshot of the online document.
7. The software cooperation testing apparatus according to claim 6, further comprising:
and the enumeration unit is used for enumerating all the operation items of the software to be tested to form the operation list.
8. The software cooperation testing apparatus of claim 6, comprising:
the playback unit is used for performing playback execution on the operation sequence if the function of the software to be tested corresponding to the operation sequence is abnormal, and searching for abnormal operation items causing the execution result to be inconsistent;
and the searching unit is used for searching the corresponding abnormal program code according to the abnormal operation item.
9. The software cooperation testing apparatus according to claim 6, further comprising:
and the second selection unit is used for selecting the operation items in the operation list as the operation sequences if the functions of the software to be tested corresponding to the operation sequences are normal.
10. The software cooperation test apparatus according to claim 6, wherein the first judgment unit includes:
and the second judging unit is used for judging whether the data models and/or the editing result state screenshots corresponding to all the operation sequences are consistent.
11. A computer storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the software co-testing method of any of claims 1-5.
12. An electronic device comprising a memory and a processor;
the memory is used for storing a computer program;
the processor is used for executing the computer program to realize the software cooperation testing method according to any one of claims 1-5.
CN201811141051.0A 2018-09-28 2018-09-28 Software collaborative testing method and device and electronic equipment Active CN109446073B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811141051.0A CN109446073B (en) 2018-09-28 2018-09-28 Software collaborative testing method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811141051.0A CN109446073B (en) 2018-09-28 2018-09-28 Software collaborative testing method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN109446073A CN109446073A (en) 2019-03-08
CN109446073B true CN109446073B (en) 2022-05-24

Family

ID=65544631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811141051.0A Active CN109446073B (en) 2018-09-28 2018-09-28 Software collaborative testing method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN109446073B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873626A (en) * 2005-06-01 2006-12-06 中兴通讯股份有限公司 Unit test system and method for automatic generating stub and driving function
CN102141962A (en) * 2011-04-07 2011-08-03 北京航空航天大学 Safety distributed test framework system and test method thereof
CN102411540A (en) * 2012-01-12 2012-04-11 王轶辰 Automatic management system of workflow-based common software testing process
CN102650966A (en) * 2011-02-24 2012-08-29 王轶辰 Multiplexing-oriented embedded software testing method and system
CN103092820A (en) * 2011-10-27 2013-05-08 镇江雅迅软件有限责任公司 Implementation of electronic document collaborative editor
CN104699610A (en) * 2015-03-12 2015-06-10 安一恒通(北京)科技有限公司 Test method and device
CN107622016A (en) * 2017-09-25 2018-01-23 无线生活(杭州)信息科技有限公司 A kind of page method of testing and device
CN108268364A (en) * 2018-01-19 2018-07-10 百度在线网络技术(北京)有限公司 Anomalous event back method, device and equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599551B2 (en) * 2016-08-12 2020-03-24 The University Of Chicago Automatically detecting distributed concurrency errors in cloud systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873626A (en) * 2005-06-01 2006-12-06 中兴通讯股份有限公司 Unit test system and method for automatic generating stub and driving function
CN102650966A (en) * 2011-02-24 2012-08-29 王轶辰 Multiplexing-oriented embedded software testing method and system
CN102141962A (en) * 2011-04-07 2011-08-03 北京航空航天大学 Safety distributed test framework system and test method thereof
CN103092820A (en) * 2011-10-27 2013-05-08 镇江雅迅软件有限责任公司 Implementation of electronic document collaborative editor
CN102411540A (en) * 2012-01-12 2012-04-11 王轶辰 Automatic management system of workflow-based common software testing process
CN104699610A (en) * 2015-03-12 2015-06-10 安一恒通(北京)科技有限公司 Test method and device
CN107622016A (en) * 2017-09-25 2018-01-23 无线生活(杭州)信息科技有限公司 A kind of page method of testing and device
CN108268364A (en) * 2018-01-19 2018-07-10 百度在线网络技术(北京)有限公司 Anomalous event back method, device and equipment

Also Published As

Publication number Publication date
CN109446073A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
CN107562610B (en) Method, device, terminal and medium for acquiring page loading time
WO2020155777A1 (en) Ui automated function testing method, testing device, testing apparatus, and storage medium
US11838251B2 (en) Information interaction method, apparatus, device, storage medium and program product
CN110716853A (en) Test script recording method, application program testing method and related device
CN111897740B (en) User interface testing method and device, electronic equipment and computer readable medium
CN113553257B (en) Test method, device, storage medium and electronic equipment
CN108228444A (en) A kind of test method and device
CN114003451B (en) Interface testing method, device, system and medium
CN110837474A (en) Script recording method, device, terminal and storage medium
CN112463634A (en) Software testing method and device under micro-service architecture
CN112882953A (en) Automatic demonstration method and system for application program based on android debugging bridge
CN110855626B (en) Electronic whiteboard packet loss processing method, system, medium and electronic equipment
CN104809054A (en) Method and system for realizing program testing
CN107967207A (en) The test method and device of user interface interaction function
US10025697B2 (en) Generation of automated unit tests for a controller layer system and method
CN109446073B (en) Software collaborative testing method and device and electronic equipment
US20140282426A1 (en) Divide and conquer approach to scenario timeline activity attribution
CN111078533A (en) Automatic testing method and device, computer equipment and storage medium
CN112363885B (en) Method, device, electronic equipment and computer readable medium for detecting application abnormality
CN113849416A (en) Test method, test device, storage medium and electronic equipment
CN114945188A (en) Bluetooth device testing method and device, electronic device and readable storage medium
CN114745313A (en) Terminal remote testing method and device, electronic equipment and readable medium
CN114564402A (en) Task flow testing method and device, readable medium and electronic equipment
CN115526580B (en) Node state determining method and device, electronic equipment and storage medium
CN113835995B (en) Method and device for generating test cases

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
GR01 Patent grant