CN102193862B - User interface is tested in multiple execution environment - Google Patents

User interface is tested in multiple execution environment Download PDF

Info

Publication number
CN102193862B
CN102193862B CN201110065878.XA CN201110065878A CN102193862B CN 102193862 B CN102193862 B CN 102193862B CN 201110065878 A CN201110065878 A CN 201110065878A CN 102193862 B CN102193862 B CN 102193862B
Authority
CN
China
Prior art keywords
environment
execution environment
action
driver
state
Prior art date
Application number
CN201110065878.XA
Other languages
Chinese (zh)
Other versions
CN102193862A (en
Inventor
J·A·穆哈斯凯
R·沃格里内克
B·S·沃德斯沃斯
Original Assignee
微软技术许可有限责任公司
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
Priority to US12/720,691 priority Critical
Priority to US12/720,691 priority patent/US20110225566A1/en
Application filed by 微软技术许可有限责任公司 filed Critical 微软技术许可有限责任公司
Publication of CN102193862A publication Critical patent/CN102193862A/en
Application granted granted Critical
Publication of CN102193862B publication Critical patent/CN102193862B/en

Links

Abstract

Disclose the method testing user interface in multiple execution environment, system and computer-readable medium.A kind of concrete grammar includes: selects one or more UI test and wherein to run one or more execution environment of this UI test.Each performed in environment is designated as driver execution environment.Show the driver UI corresponding with this driver execution environment.When receiving U/I action at driver UI, the data of this U/I action are represented, and slave driver performs environment and is sent to each other execution environment.At each, other substantially simultaneously repeat in performing environment this U/I action.

Description

User interface is tested in multiple execution environment

Technical field

The present invention relates to the test of application program, particularly relate to the Application testing in multiple execution environment.

Background technology

Software vendor often issues software application on multiple calculating platforms.Before issuing, often exist This software application is tested on each calculating platform.Software test the most repeatedly is time-consuming 's.Such as, the test of particular platform is repeated owing to repeatedly reconfiguring application for test every time repeats every time Program, may cause the expense in time and resource.

Summary of the invention

Disclose a kind of method testing user interface (UI) in multiple execution environment.Environment is performed at one The U/I action carried out in (such as, " driver " performs environment) performs in environment at one or more other Automatically and substantially simultaneously repeat.Can provide to user (such as, UI tester) and look squarely display picture (HUD), This HUD include the UI generated by each execution environment and identify these perform the state between environment or Apparent difference.

There is provided this general introduction in order to introduce in simplified form will be described in detail below in further describe Some concepts.This general introduction is not intended as identifying key feature or the essential feature of theme required for protection, It is intended to be used to limit the scope of theme required for protection.

Accompanying drawing explanation

Fig. 1 is the diagram of the specific embodiment being shown in the system testing user interface in multiple execution environment.

Fig. 2 is another specific embodiment being shown in the system testing user interface in multiple execution environment Diagram.

Fig. 3 is the data flow diagram of the specific embodiment of the data stream in the system of system or the Fig. 2 illustrating Fig. 1.

Fig. 4 is the flow process of the specific embodiment being shown in the method testing user interface in multiple execution environment Figure.

Fig. 5 is to illustrate that display driving software performs environment and other perform looking squarely of environment and show picture (HUD) The screenshot capture of specific embodiment.

Fig. 6 is the block diagram of a computing environment, and this computing environment includes can be used for supporting as Figure 1-5 The calculating equipment of each embodiment of computer implemented method, computer program and system component.

Detailed description of the invention

In one embodiment, a kind of computer implemented method includes: select and based on user interface (UI) One or more tests of being associated of application program, and select multiple execution environment.Multiple execution environment In one be designated as driver execution environment.The method also includes: display performs ring with driver The driver UI that border is corresponding.The method farther includes: at driver UI receive with one or The U/I action that multiple tests are associated.The method includes: the expression slave driver of U/I action is performed ring Border is sent to each, and other perform environment.This U/I action is substantially same in other execution environment at each Shi Chongfu.In an alternative embodiment, can carry out in driver execution environment random (ad hoc) Test, and this random test can duplication in other perform environment.

In another specific embodiment, a kind of computer system includes memorizer and is coupled to this memorizer Processor.This processor is configured to perform instruction, and this instruction causes user interface (UI) to test application program, This ui testing application program includes looking squarely display picture (HUD) and communication bus.This HUD is joined It is set to show that each in multiple execution environment, in plurality of execution environment are designated as driving Program execution enviroment.This HUD is configured at driver execution environment receive to test with UI be associated U/I action.This HUD is configured to that the expression slave driver of U/I action is performed environment and sends out Other perform environment to deliver to each.At each, other substantially simultaneously weigh in performing environment this U/I action Multiple.Communication bus is coupled to each in multiple execution environment, and is configured to slave driver execution ring To each, other perform environment broadcast data in border.

In another specific embodiment, a kind of computer-readable medium includes instruction, and this instruction is when being calculated It is one or more with what application program based on user interface (UI) was associated that machine makes computer select when performing Test, and select multiple execution environment.In multiple execution environment one is designated as driver and performs ring Border.This instruction also makes the communication agent at each in multiple execution environment of computer initialization, and Show the driver UI corresponding with driver execution environment.This instruction is further such that computer exists The U/I action being associated with one or more tests is received at driver UI.This instruction makes computer incite somebody to action The communication agent that the expression slave driver of U/I action performs at environment is sent to each by communication bus Other perform the communication agent at environment.At each, other perform in environment substantially simultaneously this U/I action Repeat.

Fig. 1 shows the specific embodiment of the system 100 testing user interface (UI) in multiple execution environment. System 100 includes looking squarely display picture (HUD) 110 and communication bus 150.This system also includes multiple holding Row environment (such as, illustrative execution environment 120,130 and 140).A quilt in multiple execution environment It is appointed as driver execution environment.Such as, in the specific embodiment shown in Fig. 1, " perform environment A " it is designated as driver execution environment 120.In one embodiment, system 100 is set by calculating For realizing.It is said that in general, the system 100 of Fig. 1 is operable as performing environment 120,130 and 140 Each at substantially simultaneously test UI.Such as, UI test can be random test or can be based on predetermined Test case and scene.

Driver execution environment 120 can be configured to UI while performing environment 120,130 and 140 U/I action 104 is received from user 102 during test.Driver execution environment 120 (or driver holds The test application program performed at row environment 120) U/I action 104 can be converted into U/I action and represent 124. Such as, U/I action represent 124 can include one group of input device controls (such as, keyboard key in, mouse move, And click, stylus control, touch screen control, multiple point touching control or any other input equipment Control).Input device controls may also comprise timing parameters (such as, waiting time).U/I action represents 124 May also include the software code automatically generated, this software code may perform to repeat U/I action 104.Drive U/I action can be represented that 124 (such as, with serialized form) are sent to often by program execution enviroment 120 One other execution environment 130,140.In one embodiment, U/I action represents 124 by driving journey Sequence perform the communication agent 122 of environment 120 by communication bus 150 be broadcast to other perform environment 130, The communication agent 132,142 of 140.

Each other execution environment 130 and 140 can receive U/I action and represent 134,144, and based on UI Action represents that 134,144 substantially simultaneously repeat U/I action 104.Therefore, U/I action 104 (such as, with UI tests the U/I action being associated) can perform to perform at environment at one, and ring can be performed at multiple other Border is substantially simultaneously repeated.It should be noted that U/I action represents that 124,134 and 144 can be identical, And U/I action represent 124,134 and 144 can be machine and computing environment unrelated.Therefore, UI Action represents can be sent to multiple execution environment, and do not perform respective format that U/I action represents or Configuration.

HUD 110 can show that each performs environment 120,130 and 140.Such as, HUD 110 can lead to Cross display device and perform environment 120,130 and 140 to user 102 display.In one embodiment, HUD 110 can show one or more execution environment by RDP (RDP) session.Such as, HUD 110 can by respectively with the RDP session 111 and 112 of non-driven program execution enviroment 130 and 140 Show non-driven program execution enviroment 130 and 140.In one embodiment, HUD also can pass through RDP session carrys out display driving software and performs environment 120.

In one embodiment, HUD 110 is additionally configured to receive new driver from user 102 Perform the appointment of environment.HUD 110 may be alternatively configured as providing the vision of UI test result to user 102 Designator (such as, illustrative visual indicator 106).Such as, visual indicator 106 may indicate that each After having been carried out U/I action 104 at individual execution environment 120,130 and 140, first performs environment tool There is the state being different from the second execution environment.This state can include UI screenshot capture, navigational state, model State, automatization's state, parameter state and performance metric are (such as, in the term of execution consumption of U/I action The memorizer taken and processor time quantum) in one or more.The state that two perform between environment is entered Row compare can include image successive appraximation, with projection resolution differences image comparison, for it His Accessibility choice require (such as, achromatopsia, etc.) to the regulation of image, the string of different language comparison (such as, When main test operator (such as user 102 (when only saying English, this compares can include that translation is so that this is said English-speaking can be effectively tested other language), (such as, desk-top size is right in the comparison of different display medium Than mobile device size) (including the compensation to screen resolution difference), and other compare.

HUD 110 may compare and detect the mismatch in the state of various execution environment 120,130 and 140. HUD describes with further reference to Fig. 5 and illustrates.User 102 can take by view-based access control model designator 106 Action (such as, report bug).Such as, in order to make (such as, mismatch) the execution environment of deviation and other Performing environment and keep consistent, user 102 may specify new driver execution environment, at disabling system 100 U/I action replicate, and deviation execution environment at optionally make U/I action.

In one embodiment, when system includes multiple execution environment, these perform in environment Or multiple can be realized by virtual machine.Such as, driver execution environment 120 can be the basis of system 100 Machine (such as, " main frame ") performs environment, and other execution environment 130,140 can be by void at system 100 Plan machine performs (such as, as " objective " environment).

In operation, optional one or more tests for application program based on UI are so that multiple Perform at each in selected execution environment (such as, performing environment 120,130 and 140).Perform Environment 120,130 and 140 can display resolution, text language (such as, English contrast Spanish), Software application (such as, different web browsers or the different editions of same web browser), behaviour Make system, hardware structure (such as, 32 contrast 64), machine condition (such as, " brand-new " machine Device contrasts with " Evolving State " machine), in terms of other characteristics or in each combination side above Face can be mutually different.It should be noted that these differences are merely illustrative, and can not be considered as to limit. HUD 110 can perform environment 120, and driver execution environment 120 to user 102 display driving software U/I action 104 can be received from user.Such as, U/I action 104 can be clear at web via click The button at device of looking at is pressed.Driver execution environment 120 can generate U/I action based on U/I action 104 Represent 124, and U/I action is represented, and 124 are sent to other execution environment 130 and 140.

Other perform environment 130 and 140 can substantially simultaneously repeat U/I action 104.Such as, other are held Row environment 130 and 140 can substantially simultaneously perform web browser button and press.HUD 110 can show Various execution environment 120,130,140.HUD 110 also can detect execution environment 120,130,140 In two between state mismatch time show a visual indicator 106.Such as, visual indicator 106 can Instruction after web browser button is pressed, the 3rd perform environment 140 have be different from driver perform Environment 120 and the UI state of the second execution environment 130, thereby indicated that at the 3rd execution environment 140 The possible bug of web browser.

Each U/I action 104 received at system 100 can be repeated by this test process.Such as, The second U/I action, and the expression of this second U/I action can be received at driver execution environment 120 Each other execution environment 130 and 140 can be sent to by slave driver execution environment.

It is appreciated that the UI that the system 100 of Fig. 1 may be implemented in multiple execution environment substantially simultaneously surveys Examination, and do not produce the expense owing to reconfiguring or task switching causes.It will therefore be appreciated that Fig. 1's is System 100 can reduce the integrated testability time of the application program of based on UI compatible with multiple execution environment.

Fig. 2 shows that another of system 200 testing user interface in multiple execution environment is embodied as Example.System 200 includes multiple calculating equipment (such as, illustrative calculating equipment 210,220 and 230).Often Individual calculating equipment can include one or more execution environment.Such as, the first calculating equipment 210 can include first Performing environment 212, the second calculating equipment 220 can include the second execution environment 222, and the 3rd calculates equipment 230 The 3rd execution environment 232 can be included.These performed in environment are designated as driver execution environment. Such as, in the specific embodiment shown in Fig. 2, " performing environment A " is designated as driver and performs ring Border.

Driver execution environment 212 can be configured to performing the UI test of environment 212,222 and 232 Period receives U/I action 204 from user 202.Driver execution environment 212 can be by U/I action 214 turns Change U/I action into and represent 214, and U/I action is represented 214 be sent to each other perform environment 222, 232.In one embodiment, U/I action represents 214 by the communication generation of driver execution environment 212 Reason 213 is broadcast to other communication agents 223,233 performing environment 222,232 by communication bus 240. Such as, communication bus can use the communication based on socket between calculating equipment 210,220 and 230 Realize.Or, communication bus 240 other calculating communication between devices agreements can be realized by some.

Each other perform environment 222 and 232 and can receive U/I action and represent 224 and 234, and based on U/I action represents that 224 and 234 substantially simultaneously repeat U/I action 204.

HUD 211 can show that each performs environment 212,222 and 232.Such as, HUD 211 can lead to Cross display device and perform environment 212,222 and 232 to user 202 display.In one embodiment, HUD 211 shows one or more execution environment by RDP (RDP) session.Such as, HUD 211 can by respectively with the RDP session 218 and 219 of non-driven program execution enviroment 222 and 232 Show non-driven program execution enviroment 222 and 232.

HUD 211 also can receive UI state from performing environment.Such as, drive non-when U/I action 204 After dynamic program performs to repeat at environment 222 and 232, HUD 211 can be from non-driven program execution enviroment 222 and 232 receive UI state 251 and 252 respectively.UI state 251,252 each can include UI In screenshot capture, navigational state, model state, automatization's state, parameter state and performance metric One or more.HUD describes with further reference to Fig. 5 and illustrates.

In one embodiment, the first calculating equipment 210 includes status comparator 215, status comparator 215 are configured to comparison each UI state.Such as, status comparator 215 can be by UI state 251 and 252 Compare with the UI state of driver execution environment 212.Status comparator 215 may be alternatively configured as Determine between UI state when existence mismatch.In one embodiment, when existence mismatch, Can be by this unmatched record in journal file 216.For example, it is possible to create one in journal file 216 Entry, journal file 216 is a part for UI bug reporting application.HUD 211 also can be to user 202 visual indicator 206 that state mismatch is provided.

In one embodiment, the first calculating equipment 210 also includes testing recorder and player 217. Test recorder and the recordable multiple U/I action of player 217, and store multiple U/I action and represent, including The timing information (such as, waiting time) being associated with multiple U/I action.The expression stored can be by communication Bus 240 is sent to perform environment.Test recorder and player 217 may be alternatively configured as based on being deposited The expression of the U/I action of storage reappears U/I action.Therefore, when each calculating equipment 210,220 and 230 All including testing recorder and during player, U/I action can be by batch mode rather than next a side Formula sends and repeats.For example, it is possible to perform environment records a UI protos test suite PROTOS at one, and many Individual execution environment substantially simultaneously reappears this UI protos test suite PROTOS.

In operation, U/I action 204 (such as, testing, with UI, the U/I action being associated) can be at driver Perform to receive at environment 212, and can perform substantially simultaneously to repeat at environment 222,232 at other. HUD 211 can show execution environment 212,222,232, and status comparator 215 can determine that UI moves Make whether 204 cause performing the state mismatch between environment 212,222,232.When state mismatch being detected Time, HUD 211 can provide visual indicator 206 to user 202.

It is appreciated that the system 200 of Fig. 2 may be implemented at multiple calculating equipment (such as, at distributed meter At calculation system) UI substantially simultaneously test.

Fig. 3 shows data flow diagram 300, it illustrates at the system 200 of system 100 or Fig. 2 of Fig. 1 The specific embodiment of data stream.

Data stream at UI test system can be divided into multiple layer.Such as, user/HUD monitor layer 310 with And bus/controller layer 320 can be associated with driver execution environment.Additionally, one or more environment layers 330 can be associated with one or more non-driven program execution enviroment.In an illustrative embodiment, user / HUD monitors that layer 310 and bus/controller layer 320 can be relevant to the driver execution environment 120 of Fig. 1 Connection, and environment layer 330 can be associated with each in non-driven program execution enviroment 130 and 140.? In another illustrative embodiment, user/HUD monitors that layer 310 and bus/controller layer 320 can be with Fig. 2 Driver execution environment 212 be associated, and environment layer 330 can perform ring with the non-driven program of Fig. 1 Each in border 222 and 232 is associated.

When user 302 performs (312) U/I action, monitor at user/HUD and start data stream at layer 310. Proceeding to bus/controller layer 320, U/I action (or it represents) can be broadcasted (322) to all non-driven programs Perform environment.Then, each environment layer 330 repeatable (332) this UI at driver execution environment Action (such as, in a substantially simultaneous manner).Subsequently can be from each environment layer 330 to bus/controller Layer 320 returns (334) UI result.UI result can assemble (324) at bus/controller layer 320, and can Monitored that layer 310 reports that (314) are to user 302 by user/HUD.Data stream can be at layer 310,320 and 330 Between continue in a looping fashion, until complete all of UI test.

Fig. 4 shows the stream of the specific embodiment of the method 400 testing user interface in multiple execution environment Cheng Tu.In an illustrative embodiment, method 400 can be by the system 200 of the system 100 or Fig. 2 of Fig. 1 Perform.

Method 400 includes: 402, selects be associated with application program based on user interface (UI) Individual or multiple tests, and 404, select multiple execution environment.A quilt in the plurality of execution environment It is appointed as driver execution environment, and at least two performs environment at display resolution, language, software Application program, operating system, hardware structure, driver, version, other environmental variables or some its His characteristic aspect is different.Such as, with reference to Fig. 1, optional one or more UI test to hold Perform at row environment 120,130 and 140.Wherein " performing environment A " is driver execution environment 120.

Method 400 also includes: 406, initializes the communication agent at each execution environment.Such as, ginseng Examining Fig. 1, communication agent 122,132 and 142 can be initialised, and (such as, the main frame including communication agent should Can be activated at each execution environment 120,130 and 140 by program).Method 400 farther includes: 408, show the driver UI corresponding with driver execution environment.Such as, with reference to Fig. 1, HUD 110 can perform environment 120 by display driving software.

Method 400 includes: 410, receives and one or more test phases at driver execution environment The U/I action of association.Such as, with reference to Fig. 1, UI can be received at driver execution environment 120 and move Make 104.Method 400 also includes: 412, and U/I action is converted into one group of input device controls.Input Equipment can be keyboard or mouse, and input device controls can be a keyboard entry, mouse moves or mouse Click on.Such as, with reference to Fig. 1, U/I action 104 can be converted into U/I action and represent 124, wherein UI Action represents that 124 include input device controls.

Method 400 farther includes: 414, and this group input device controls slave driver is performed environment The communication agent at place is sent to each by communication bus, and other perform the communication agent at environment.Input sets Standby control can be broadcasted by Serialization formats.Substantially simultaneously at each, other perform environment to U/I action Place repeats.Such as, with reference to Fig. 1, U/I action represents that 124 can be via communication bus 150 from communication agent 122 broadcast are to communication agent 132,142, and U/I action 104 can substantially simultaneously be held at each Repeat at row environment 130,140.

Each U/I action being associated with one or more tests can be recycled back into by method 400 from 414 To 410.The method terminates (when such as, completing) when these one or more tests 416.

Fig. 5 is the screenshot capture of the specific embodiment looking squarely display picture (HUD) 500, and HUD 500 shows Driver execution environment 502 and other execution environment 504,506,508 and 510.Say at one In bright property embodiment, HUD 500 can include the HUD 211 of the HUD 110 or Fig. 2 of Fig. 1.

In specific embodiment illustrated in fig. 5, driver execution environment 502 is 64 English 2008 Version operating system environment, it has the RAM of 8GB.First non-driven program execution enviroment 504 is 32 Position 2010 editions operating system environments of English, it has the RAM of 2GB.Second non-driven program performs ring Border 506 is 2010 editions operating system environments of 64 Japanese, and it has the RAM of 4GB.3rd non-driven Program execution enviroment 508 is 2006 editions operating system environments of 64 English, and it has the RAM of 1GB. 4th non-driven program execution enviroment 510 is 2008 editions operating system environments of 32 Arabic, and it has The RAM of 512MB.

Driver execution environment 502 can show at HUD 500.User can perform ring with driver Border 502 interacts (such as, via keyboard, mouse or other input equipments).When user performs a certain During U/I action, this U/I action substantially simultaneously performs at environment 504,506,508 and 510 at other Repeat.Other UI states performed at environment 504,506,508 and 510 each can be displayed on At HUD 500.In one embodiment, UI state can via with other perform environment 504,506, The RDP session of 508 and 510 shows.Other perform environment 504,506,508 and 510 can position On the calculating equipment identical with driver execution environment 502, or it is positioned on different calculating equipment.This Outward, in one embodiment, HUD 500 be displayed at not including any these perform environment 502, 504, on the calculating equipment of 506,508 and 510.

HUD 500 can show visual indicator 512 when UI state mismatch being detected.Display visually indicates Symbol 512 comprises the steps that and changes and color, font or the frame performing environmental correclation connection.Such as, at Fig. 5 In the specific embodiment illustrated, make a mistake at the 4th non-driven program execution enviroment 510.Therefore, Four non-driven program execution enviroment 510 instruction and the state mismatch of driver execution environment 502.Work as detection During to state mismatch, HUD 500 can provide a method to record this state mismatch.Such as, HUD 500 Can include that bug submits dialog box 514 to, this dialog box may operate to record this state mismatch.

It is appreciated that the HUD 500 of Fig. 5 can provide easily to being test for each execution environment Show simultaneously.It is further appreciated that the HUD 500 of Fig. 5 can automatically provide hidden when state mismatch being detected Wrong reporting capabilities.

Fig. 6 depicts computer implemented method, the computer program including can be used for supporting according to the present invention The block diagram of the computing environment 600 calculating equipment 610 of each embodiment of product and system component.Say one In bright property embodiment, calculating equipment 610 can include system 100 or its assembly, the system 200 of Fig. 2 of Fig. 1 Or one or more in the layer 310,320 and 330 of its assembly, Fig. 3.The system 100 of Fig. 1 or its Each in the layer 310,320 and 330 of assembly, the system 200 of Fig. 2 or its assembly and Fig. 3 Calculating equipment 610 or one part can be included or use calculating equipment 610 or one part to realize.

Calculating equipment 610 includes at least one processor 620 and system storage 630.Depend on that calculating sets Standby configuration and type, system storage 630 can be volatibility (such as random access memory, i.e. " RAM "), non-volatile (such as read only memory (i.e. " ROM ") even if, flash memory and Also the similar memory devices of the data stored is maintained when not providing power supply) or some combination of the two. System storage 630 generally includes: operating system 632, one or more application platform 634, Individual or multiple application programs, and routine data 638.

Such as, system storage 630 can include HUD logic 636 and status comparator 637.One In illustrative embodiment, HUD logic can generate and update the HUD 211 of the HUD 110 or Fig. 2 of Fig. 1. HUD can be display configured to multiple execution environment, and one of them execution environment is designated as driver and holds Row environment.HUD is also configured to receive and (such as, tests phase with UI at driver execution environment Association) U/I action, and the expression slave driver of this U/I action is performed environment be sent to each other Perform environment.U/I action can repeat during substantially simultaneously at each, other perform environment.Epidemic situation comparison Device may compare each state performing environment.

Calculating equipment 610 also can have supplementary features or function.Such as, may also include can for calculating equipment 610 Mobile and/or irremovable additional data storage device, depositing of such as disk, CD, tape and normal size Card storage or flash card.Such additional storage is in figure 6 by removable storage 640 and irremovable storage 650 illustrate.Computer-readable storage medium can include for storing such as computer-readable instruction, data knot Volatibility that any technology of the information such as structure, program assembly or other data realizes and/or non-volatile memories with And may move and/or irremovable medium.System storage 630, removable storage 640 and irremovable deposit Storage 650 is all the example of computer-readable storage medium.Computer-readable storage medium include, but not limited to RAM, ROM, Electrically Erasable Read Only Memory (EEPROM), flash memory or other memory technology, Compact-disc (CD), digital versatile disc (DVD) or other optical storage, cartridge, tape, disk Storage or other magnetic storage apparatus or can be used for storage information and can by calculating equipment 610 access appoint What its medium.Any such computer-readable storage medium can be a part for calculating equipment 610.

Calculating equipment 610 may also comprise input equipment 660, as keyboard, mouse, pen, voice-input device, Touch input device etc..May also comprise outut device 670, such as display, speaker, printer etc.. Input equipment 660 and outut device 670 may operate to receive U/I action from user 692, and to user 692 Visual indicator is provided.Calculating equipment 610 also comprises permission calculating equipment 610 by wired or wireless network The one or more communication connections 680 communicated with other calculating equipment 690.One or more communication link Connect the communication between the 680 multiple virtual machines also allowing at calculating equipment 610.In one embodiment, One or more communication connections 680 include the communication bus 240 of the communication bus 150 or Fig. 2 of Fig. 1.Logical Letter bus is alternatively coupled to multiple execution environment, and can between multiple execution environment broadcast data.

Be appreciated that and assembly shown in not all Fig. 6 or described in accompanying drawing the most previously or Equipment is all to support necessary to embodiment described herein.Such as, removable storage 640 can be can Optional.

Explanation to embodiment described herein aims to provide the substantially reason of the structure to each embodiment Solve.These explanations are not intended to be used as the institute to the device and system utilizing structure described herein or method There is the complete description of element and feature.Other embodiments many are reading over this to those skilled in the art It is apparent from after invention.Can utilize and derive other embodiments from the present invention, so that can make Go out structure and logic is replaced and changes without departing from the scope of the present invention.Therefore, the present invention and each accompanying drawing should be by It is considered illustrative rather than restrictive.

Those skilled in the art it can also be appreciated that combine various illustrative logical blocks disclosed herein, configuration, Module and process steps or instruction can be implemented as electronic hardware or computer software.Various Illustrative components, Frame, configuration, module or step describe substantially according to its function.This function is implemented as hardware also It is that software depends on that applied in total system specifically applies and design constraint.Technical staff can be for often Plant concrete application and realize described function collection by different way, but this type of design decision is not necessarily to be construed as Cause a departure from the scope of the present disclosure.

Each step in conjunction with the method described by embodiments disclosed herein or algorithm can be directly with hard Part, processor software module or a combination of both of performing realize.Software module may reside within meter In calculation machine computer-readable recording medium, such as random access memory (RAM), flash memory, read only memory (ROM), depositor, Hard disk, moveable magnetic disc, the storage medium of any other form of CD-ROM or known in the art.Show Example storage medium is coupled to processor so that processor can read information from this storage medium, and to This storage medium write information.In alternative, storage medium is desirably integrated into processor or processor Can reside in calculating equipment or computer system as discrete assembly with storage medium.

Although being shown in which and having described detailed description of the invention, it should be appreciated that can be shown concrete Embodiment is replaced and is designed to reach any follow-up arrangement of same or similar purpose.It is contemplated that cover Any and all follow-up change of each embodiment and variant.

It will be appreciated that scope that will explain or limit claim without it while submitting the summary of the present invention to Or implication.It addition, in detailed description of the invention above, can be overall for the present invention being linked to be one Purpose and by the combination of various features or be described in and be placed on together in single embodiment.This invention will not explained For reflecting that embodiment required for protection requires than the more features being expressly recited in each claim It is intended to.On the contrary, as the following claims reflect, subject of the present invention can relate to less than disclosed enforcement All features of any one in mode.

Before offer, the description to each embodiment is to make those skilled in the art can make or use respectively Embodiment.Various amendments to these embodiments will be apparent from for those skilled in the art, and And generic principles defined herein as can be applied to other embodiments without departing from the scope of the present disclosure.Cause This, the present invention is not intended to be limited to each embodiment shown in this article, but according to as wanted by following right Ask principle that book defines and the consistent widest range as far as possible of novel feature.

Claims (13)

1. in multiple execution environment, test a computer implemented method for user interface, including:
Select the one or more tests being associated with application program based on user interface UI;
Selecting multiple execution environment, one in wherein said multiple execution environment is designated as driver and holds At least two in row environment, and the plurality of execution environment is different types of execution environment;
Show the driver UI corresponding with described driver execution environment;
Receive at described driver UI and test, with the one or more, the U/I action being associated;By institute The expression stating U/I action is sent to each other execution environment from described driver execution environment, wherein Substantially simultaneously at each, other perform to repeat at environment described U/I action;
Relatively and detect described driver execution environment with other perform environment state in mismatch;And
Described driver execution environment and other state mistakes performing between two in environment detected Timing shows a visual indicator.
Computer implemented method the most as claimed in claim 1, it is characterised in that also include: in institute State reception the second U/I action at driver UI, and by the expression of described second U/I action from described driving Program execution enviroment is sent to each, and other perform environment.
Computer implemented method the most as claimed in claim 1, it is characterised in that send described UI The expression of action includes: described U/I action is converted into one group of input device controls and send this group input set Standby control.
Computer implemented method the most as claimed in claim 3, it is characterised in that described one group of input Equipment control include keyboard key in, mouse move, click, stylus control, touch screen control, multiple spot Touch control or above any combination.
Computer implemented method the most as claimed in claim 3, it is characterised in that described one group of input Equipment controls to send with Serialization formats.
Computer implemented method the most as claimed in claim 1, it is characterised in that send described UI The expression of action includes: broadcasted the expression of described U/I action, described communication bus coupling by communication bus Close each in the plurality of execution environment.
Computer implemented method the most as claimed in claim 1, it is characterised in that described driver UI looking squarely display picture HUD place display, described in look squarely show picture be configured to the most the plurality of holding Each in row environment.
Computer implemented method the most as claimed in claim 7, it is characterised in that described in visually indicate Symbol instruction the first execution environment has the first state, and this first state is different from the second shape of the second execution environment State.
Computer implemented method the most as claimed in claim 8, it is characterised in that described first state Or at least one that second in state includes: UI screenshot capture, navigational state, model state, automatization State, parameter state, one or more performance metric or above any combination.
Computer implemented method the most as claimed in claim 8, it is characterised in that also include: in day Will file creates entry, to indicate the described first the first state performing environment and described second to perform environment The second state between difference, and described HUD via with described at least one perform environment long-range Desktop protocol RDP session shows that at least one performs environment.
11. 1 kinds of computer systems testing user interface in multiple execution environment, including:
Memorizer;And
Being coupled to the processor of described memorizer, wherein said processor is configured to execution and causes user interface The instruction of the execution of UI test application program, described ui testing application program includes:
Look squarely display picture HUD, be configured to:
Show each in multiple execution environment, a quilt in wherein said multiple execution environment At least two being appointed as in driver execution environment, and the plurality of execution environment is different types of Perform environment;
Receive at described driver execution environment and test, with UI, the U/I action being associated;And
The expression of described U/I action is sent to each other from described driver execution environment Performing environment, substantially simultaneously at each, other perform to repeat at environment wherein said U/I action;
Relatively and detect described driver execution environment with other perform environment state in mistake Join;And
The shape between two in described driver execution environment and other execution environment being detected A visual indicator is shown during state mismatch;And
Communication bus, described communication bus is coupled to each in the plurality of execution environment, and quilt Be configured to from described driver execution environment to each other perform environment broadcast datas.
12. computer systems as claimed in claim 11, it is characterised in that the plurality of execution environment In at least one farther include: test recorder, be configured to store the expression of multiple U/I action.
13. computer systems as claimed in claim 12, it is characterised in that the plurality of execution environment In at least one farther include: test player, be configured to reappear the plurality of U/I action.
CN201110065878.XA 2010-03-10 2011-03-09 User interface is tested in multiple execution environment CN102193862B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/720,691 2010-03-10
US12/720,691 US20110225566A1 (en) 2010-03-10 2010-03-10 Testing user interfaces in multiple execution environments

Publications (2)

Publication Number Publication Date
CN102193862A CN102193862A (en) 2011-09-21
CN102193862B true CN102193862B (en) 2016-12-14

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221524A (en) * 2007-01-12 2008-07-16 群康科技(深圳)有限公司 Display equipment debugging system and method thereof
CN101414279A (en) * 2008-11-18 2009-04-22 武汉大学 Test device for credible software stack

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221524A (en) * 2007-01-12 2008-07-16 群康科技(深圳)有限公司 Display equipment debugging system and method thereof
CN101414279A (en) * 2008-11-18 2009-04-22 武汉大学 Test device for credible software stack

Similar Documents

Publication Publication Date Title
Gillies Software quality: theory and management
Ko et al. A framework and methodology for studying the causes of software errors in programming systems
Wile et al. Comprehensive functional verification: The complete industry cycle
US8225288B2 (en) Model-based testing using branches, decisions, and options
US9213624B2 (en) Application quality parameter measurement-based development
Zhu et al. An authorable context-aware augmented reality system to assist the maintenance technicians
US7890924B2 (en) System and method for simulating product design and development
Nance The conical methodology and the evolution of simulation model development
JP5242942B2 (en) Ad hoc workflow as a business process template
US8694953B2 (en) Tool and methodology for enterprise software applications
AU748588B2 (en) Method for defining durable data for regression testing
US8893089B2 (en) Fast business process test case composition
McCrickard et al. A model for notification systems evaluation—assessing user goals for multitasking activity
US7051243B2 (en) Rules-based configuration problem detection
US8881105B2 (en) Test case manager
US9519571B2 (en) Method for analyzing transaction traces to enable process testing
Leach Introduction to software engineering
Borjesson et al. Automated system testing using visual gui testing tools: A comparative study in industry
US9268671B2 (en) Embedded test management for mobile applications
US8271950B2 (en) Test generation from captured user interface status
US10176079B2 (en) Identification of elements of currently-executing component script
US20110131479A1 (en) Automated form layout based upon usage patterns
US8745592B1 (en) Input selection for automatic test suite generation
Ould et al. Testing in software development
US20110145789A1 (en) Application configuration deployment monitor

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant