CN106598594B - Test system and method for rapidly recovering test program - Google Patents

Test system and method for rapidly recovering test program Download PDF

Info

Publication number
CN106598594B
CN106598594B CN201611151630.4A CN201611151630A CN106598594B CN 106598594 B CN106598594 B CN 106598594B CN 201611151630 A CN201611151630 A CN 201611151630A CN 106598594 B CN106598594 B CN 106598594B
Authority
CN
China
Prior art keywords
test program
test
program
running state
mode
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
CN201611151630.4A
Other languages
Chinese (zh)
Other versions
CN106598594A (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.)
China Southern Power Grid Internet Service Co ltd
Original Assignee
Jiekai Communications Shenzhen 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 Jiekai Communications Shenzhen Co Ltd filed Critical Jiekai Communications Shenzhen Co Ltd
Priority to CN201611151630.4A priority Critical patent/CN106598594B/en
Publication of CN106598594A publication Critical patent/CN106598594A/en
Application granted granted Critical
Publication of CN106598594B publication Critical patent/CN106598594B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides a test system for rapidly recovering a test program, which comprises: the generating module is used for creating a virtual system, configuring the virtual system and starting a test program after the configuration is finished; the running state judging module is used for monitoring the running state of the test program after the test program is started, and when the running state is normal, the test program starts a test task; sending a restart command when the running state of the test program is abnormal; the restarting module is used for restarting the system when receiving a restarting command sent by the running state judging module; and the initialization module is used for automatically restarting the test program after restarting the system and carrying out initialization operation on the test parameters of the test program. The invention also provides a recovery method, which is used for restarting the operating system when the running state of the test program is monitored to be abnormal. Compared with the prior art, the time for the testing personnel to configure the testing program is reduced, the testing time is shortened, and the working efficiency is improved.

Description

Test system and method for rapidly recovering test program
Technical Field
The invention relates to the technical field of electronics, in particular to a test system and a test method for quickly recovering a test program.
Background
At present, in the existing test platform of a laboratory, if a firewall is installed, the test efficiency is influenced, and a program file embedded in an interception tool is further arranged, so that the test tool cannot be loaded, or test items are directly thrown away and updated, and a famous test result is sent out at times; the computer without the firewall can not prevent various virus files in real time, so that the system of the test platform is directly crashed and cannot work, and a great amount of time is occupied for maintenance by a test engineer; nowadays, more and more test items are provided in laboratories, more and more experiment test platforms are built, the maintenance response efficiency is required to be higher and higher, and how to improve the test efficiency is a problem to be solved at present.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides the test system and the test method for quickly recovering the test program, so that the operating system can be restarted in time and the test program can be recovered to the initial state when the test program has problems, and the test efficiency is improved.
The invention provides a test system for rapidly recovering a test program, which comprises:
the generating module is used for creating a virtual system, configuring the virtual system and starting a test program after the configuration is finished;
the running state judging module is used for monitoring the running state of the test program after the test program is started, and when the running state is normal, the test program starts a test task; sending a restart command when the running state of the test program is abnormal;
the restarting module is used for restarting the system when receiving a restarting command sent by the running state judging module;
and the initialization module is used for automatically restarting the test program after restarting the system and carrying out initialization operation on the test parameters of the test program.
Further, the generating module is further configured to determine an operation mode of the test program after the test program is restarted, and execute a corresponding operation according to a determination result.
Further, the operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, changing data in the test program; and when the mode is the user mode, entering a test program to perform a test task.
Further, the changes include modification of initial test parameters, addition or modification of program application files in the absence of files, and configuration files.
Further, the running state judgment module is further configured to send a file missing signal to the generation module when the running state of the test program is that a file is missing; and the generating module switches the operation mode into the administrator mode after receiving the file missing signal.
Further, the generating module is specifically configured to establish a disk copy when the virtual system is configured; marking a system disk as read-only; redirecting operations to the established disk copy; and (4) refreshing the disk copy operation.
The invention also provides a test method for rapidly recovering the test program, which comprises the following steps:
creating a virtual system, configuring, and starting a test program after configuration is completed;
monitoring the running state of the test program after the test program is started, and starting a test task by the test program when the running state is normal; sending a restart command when the running state of the test program is abnormal;
restarting the system upon receiving the transmitted restart command;
and automatically restarting the test program after restarting the system and carrying out initialization operation on the test parameters of the test program.
Further, after the test program is restarted, the operation mode of the test program is judged, and corresponding operation is executed according to the judgment result.
Further, the operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, changing data in the test program; when the mode is the user mode, entering a test program to perform a test task;
wherein the changes include modification of initial test parameters, addition or modification of program application files in the absence of files, and configuration files.
Further, the step of creating and configuring a virtual system specifically includes:
establishing a disk copy;
marking a system disk as read-only;
redirecting operations to the established disk copy; and (4) refreshing the disk copy operation.
Compared with the prior art, the test program is operated under the virtual system, the test program in the virtual system is monitored, and the operating system can be automatically restarted and the test program can be initialized when the test program has problems, so that the problem that the test program needs to be reconfigured when the same test is performed again every time is reduced, the problem that the test program needs to be manually maintained when the test program is crashed is also avoided, the time for configuring the test program by a tester is reduced, the test time is greatly shortened, and the working efficiency is improved.
Drawings
FIG. 1 is a block diagram of the architecture of the test system of the present invention;
FIG. 2 is a flow chart of a test method of the present invention;
FIG. 3 is a flow chart of the virtual system configuration of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples.
The invention relates to a test system for rapidly recovering a test program, which comprises:
the generating module is used for creating a virtual system, configuring the virtual system and starting a test program after the configuration is finished;
the running state judging module is used for monitoring the running state of the test program after the test program is started, and when the running state is normal, the test program starts a test task; sending a restart command when the running state of the test program is abnormal;
the restarting module is used for restarting the system when receiving a restarting command sent by the running state judging module;
and the initialization module is used for automatically restarting the test program after restarting the system and carrying out initialization operation on the test parameters of the test program.
The generating module is also used for judging the running mode of the test program after the test program is restarted and executing corresponding operation according to the judgment result.
The operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, changing data in the test program; and when the mode is the user mode, entering a test program to perform a test task.
The changes include modification of initial test parameters, addition or modification of program application files in the absence of files, and configuration files.
The running state judging module is also used for sending a file missing signal to the generating module when the running state of the test program is file missing; and the generating module switches the operation mode into the administrator mode after receiving the file missing signal.
The generating module is specifically used for establishing a disk copy when the virtual system is configured; marking a system disk as read-only; redirecting operations to the established disk copy; and (4) refreshing the disk copy operation.
As shown in fig. 1, as an embodiment of the test system for rapidly recovering a test program according to the present invention, the test system is built to run in a virtual system (i.e. a virtual operating system), and the test system includes:
the generating module is used for creating and configuring a virtual system after the Windows operating system is started, and starting a test program after the configuration is finished;
the running state judging module is used for monitoring the running state of the test program after the test program is started, and when the running state is normal, the test program starts a test task; sending a restart command to a restart module when the running state of the test program is abnormal;
the restarting module is used for restarting the Windows operating system after receiving the restarting command sent by the running state judging module;
and the initialization module is used for initializing the test parameters of the test program after the test program is started.
The generating module is also used for judging the running mode of the test program after the test program is started and executing corresponding operation according to the judgment result.
The operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, a user changes data in the test program, wherein the change comprises modification of initial test parameters, addition or modification of a program application file and a configuration file when the file is missing, after the change is completed, a generation module sends the changed data to an initialization module, the initialization module replaces or adds the changed data and the initial data, after the replacement or addition, a replacement completion signal is sent to the generation module, and the generation module receives the replacement completion signal and then switches to the user mode;
when the mode is the user mode, the user enters a test program to perform a test task. Therefore, the data can be prevented from being manually restored when the next test is carried out due to the fact that the data are randomly modified in the test program, the test effect is improved, and the time for debugging the test program is shortened. Typically, the user mode is the test system default start-up item.
When the change is the modification of the initial test parameters, after the administrator finishes the modification of the test parameters, the generation module sends the modified test parameters to the output module, and the initialization module replaces the modified test parameters with the initial test parameters.
The running state judging module is further used for sending a file missing signal to the generating module when the running state of the test program is file missing, and the generating module switches the operation mode to the administrator mode after receiving the file missing signal.
When the change is a file loss, an administrator adds or modifies a program application file or a configuration file to data in the test program, after the operation is completed, the generation module sends the changed data to the initialization module, and the initialization module writes or replaces the changed data into the test program to complete the repair of the test program, so that the test program can perform a test task.
And the administrator mode is logged in by means of a user name and a password, and a maintenance management entry is provided for an administrator.
The invention relates to a test method for quickly recovering a test program, which comprises the following steps:
creating a virtual system, configuring, and starting a test program after configuration is completed;
monitoring the running state of the test program after the test program is started, and starting a test task by the test program when the running state is normal; sending a restart command when the running state of the test program is abnormal;
restarting the system upon receiving the transmitted restart command;
and automatically restarting the test program after restarting the system and carrying out initialization operation on the test parameters of the test program.
And judging the running mode of the test program after the test program is restarted, and executing corresponding operation according to the judgment result.
The operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, changing data in the test program; when the mode is the user mode, entering a test program to perform a test task;
wherein the changes include modification of initial test parameters, addition or modification of program application files in the absence of files, and configuration files.
The step of creating and configuring a virtual system specifically includes:
establishing a disk copy;
marking a system disk as read-only;
redirecting operations to the established disk copy; and (4) refreshing the disk copy operation.
As shown in fig. 2, an embodiment of the test method for quickly recovering a test program according to the present invention includes the following steps:
step one, S01, after the Windows operating system is started, creating a virtual system and configuring, and after the configuration is finished, starting a test program;
step two, S02, initializing a test program;
step three, S03, judging the running mode of the test program, and if the running mode is the administrator mode, entering the step S06; if the mode is the user mode, go to step S04;
step four S04, judging the running state of the test program, if normal, entering step five S05; if the abnormal condition is determined, J enters a step seven S07; if the file is missing, step S06 is performed;
step five S05, starting a test task by the test program;
step six S06, the administrator changes the data in the test program, and the original data is replaced after the change is finished, and the step four S04 is returned; the modification comprises modification of initial test parameters, addition or modification of program application files and configuration files when files are missing; when the initial test parameters are modified, the administrator modifies the initial test parameters, and returns to step S04 after replacing the initial test parameters after the modification is completed; when the file is missing, the administrator adds or modifies the program application file or configuration file to the test program, and after the modification is completed, writes or replaces the modified data into the test program and returns to step S04.
Step S07, restarting the Windows operating system and returning to the step one S01.
The configuration of the virtual system in the invention can be carried out by adopting a configuration method of the virtual system in the prior art, and can also adopt the following method. As shown in fig. 3, the steps of configuring the virtual system by the generating module and configuring the virtual system in the recovery method both include:
step one, S101, establishing a disk copy, establishing a disk under a virtual system, and isolating the disk from a system disk of a Windows operating system, so as to avoid damaging, mistakenly deleting or tampering a system file in the system disk of the Windows operating system;
step two, S102, marking a system disk of the original Windows operating system as read-only, and limiting any modification operation in a user operating mode;
step three, S103, redirecting operation to the established disk copy; any operation on the system disk of the Windows operating system points to the disk created under the virtual system;
step S104, refreshing the disk copy operation to enable the disk created by the virtual system to be capable of reading, writing and modifying.
The following describes the present invention in detail with reference to the test system and test method of the present invention:
step one, after a Windows operating system is started, a generating module creates a virtual system and configures, and after configuration is completed, a test program is started and an initialization instruction is sent to an initialization module;
step two, the initialization module initializes the test program after receiving the initialization instruction and returns completion information to the generation module after completing initialization;
step three, after receiving the completion information, the generation module judges the running mode of the test program, and if the running mode is the administrator mode, the generation module enters step six; if the mode is the user mode, entering a step four;
step four, the running state judging module judges the running state of the test program, and if the running state is normal, the step five is carried out; the file missing operation state judgment module sends a file missing signal to the generation module and enters the sixth step; entering the seventh step if the abnormality occurs;
step five, starting a test task by the test program;
step six, the generation module enters an administrator mode, an administrator modifies the data in the test program, the generation module sends the modified data to an initialization module, the initialization module replaces or increases the modified data and the initial data, a replacement completion signal is sent to the generation module after replacement or increase, and the generation module returns to the step four after receiving the replacement completion signal;
and step seven, the running state judgment module sends a restart command to the restart module, and the restart module restarts the Windows operating system after receiving the restart command and returns to the step one.
The modification comprises modification of initial test parameters, addition or modification of program application files and configuration files when files are missing;
in the sixth step, when the generation module receives the file missing signal, the generation module switches the operation mode into an administrator mode, an administrator adds or modifies a program application file or a configuration file to the test program, after the operation is completed, the generation module sends the modified data to the initialization module, and the initialization module writes or replaces the modified data into the test program to complete the repair of the test program, so that the test program can perform a test task.
When the mode is the user mode, the user enters a test program to perform a test task. Therefore, the data can be prevented from being manually restored when the next test is carried out due to random data modification in the test city, the test effect is improved, and the time for debugging the test program is shortened. Typically, the user mode is the test system default start-up item.
The test program is a default starting program in the virtual system, and the test program is a corresponding test program required to be tested in a laboratory, and is not particularly limited herein.
While the invention has been shown and described with reference to certain embodiments, those skilled in the art will understand that: various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.

Claims (4)

1. A test system for fast recovery of a test program, the test system comprising:
the generating module is used for creating a virtual system, configuring the virtual system and starting a test program after the configuration is finished;
the running state judging module is used for monitoring the running state of the test program after the test program is started, and when the running state is normal, the test program starts a test task; sending a restart command when the running state of the test program is abnormal;
the restarting module is used for restarting the system when receiving a restarting command sent by the running state judging module;
an initialization module for automatically restarting the test program after restarting the system and performing initialization operation on the test parameters of the test program,
the generating module is also used for judging the running mode of the test program after the test program is restarted and executing corresponding operation according to the judgment result,
the operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, changing data in the test program; when the mode is the user mode, entering a test program to perform a test task,
the running state judging module is also used for sending a file missing signal to the generating module when the running state of the test program is file missing; the generation module switches the operation mode into the administrator mode after receiving the file missing signal,
the changes include modification of initial test parameters, addition or modification of program application files in the absence of files, and configuration files,
when the change is a file loss, the administrator adds or modifies a program application file or a configuration file to the data in the test program, after the operation is completed, the generation module sends the changed data to the initialization module, and the initialization module writes or replaces the changed data into the test program so as to complete the repair of the test program.
2. The test system for rapidly resuming a test procedure of claim 1, wherein: the generating module is specifically used for establishing a disk copy when the virtual system is configured; marking a system disk as read-only; redirecting operations to the established disk copy; and (4) refreshing the disk copy operation.
3. A test method for quickly recovering a test program is characterized by comprising the following steps:
creating a virtual system, configuring, and starting a test program after configuration is completed;
monitoring the running state of the test program after the test program is started, and starting a test task by the test program when the running state is normal; sending a restart command when the running state of the test program is abnormal;
restarting the system upon receiving the transmitted restart command;
automatically restarting the test program after restarting the system and carrying out initialization operation on the test parameters of the test program,
judging the running mode of the test program after the test program is restarted and executing corresponding operation according to the judgment result,
the operation mode comprises an administrator mode and a user mode; when the test program is in the administrator mode, changing data in the test program; when the mode is the user mode, entering a test program to perform a test task;
when the running state of the test program is file missing, generating a file missing signal;
wherein the changes include modification of initial test parameters, addition or modification of program application files in the absence of files, and configuration files,
when a file missing signal is generated, the operation mode is switched to an administrator mode, an administrator adds or modifies a program application file or a configuration file to the test program, and after the operation is completed, the changed data is written or replaced into the test program so as to complete the repair of the test program.
4. The method for testing quick recovery test programs according to claim 3, wherein the step of creating and configuring the virtual system specifically comprises:
establishing a disk copy;
marking a system disk as read-only;
redirecting operations to the established disk copy;
and (4) refreshing the disk copy operation.
CN201611151630.4A 2016-12-14 2016-12-14 Test system and method for rapidly recovering test program Active CN106598594B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611151630.4A CN106598594B (en) 2016-12-14 2016-12-14 Test system and method for rapidly recovering test program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611151630.4A CN106598594B (en) 2016-12-14 2016-12-14 Test system and method for rapidly recovering test program

Publications (2)

Publication Number Publication Date
CN106598594A CN106598594A (en) 2017-04-26
CN106598594B true CN106598594B (en) 2020-09-01

Family

ID=58802120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611151630.4A Active CN106598594B (en) 2016-12-14 2016-12-14 Test system and method for rapidly recovering test program

Country Status (1)

Country Link
CN (1) CN106598594B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402844A (en) * 2017-07-14 2017-11-28 深圳市沃特沃德股份有限公司 Operating system method for restarting, device and accessory system
CN108255576B (en) * 2017-12-08 2021-02-26 未鲲(上海)科技服务有限公司 Virtual machine live migration exception handling method and device and storage medium
CN108563529A (en) * 2018-04-11 2018-09-21 郑州云海信息技术有限公司 A kind of method and system of automation re-launching applications
CN108647141B (en) * 2018-04-26 2022-09-09 腾讯科技(深圳)有限公司 Automatic test method, device, computer readable medium and electronic equipment
CN111198911B (en) * 2018-11-19 2021-05-25 珠海格力电器股份有限公司 Data extraction method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779094A (en) * 2012-08-21 2012-11-14 深圳中兴网信科技有限公司 Terminal and software exception test method
CN104750537A (en) * 2013-12-31 2015-07-01 腾讯科技(深圳)有限公司 Test case execution method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779094A (en) * 2012-08-21 2012-11-14 深圳中兴网信科技有限公司 Terminal and software exception test method
CN104750537A (en) * 2013-12-31 2015-07-01 腾讯科技(深圳)有限公司 Test case execution method and device

Also Published As

Publication number Publication date
CN106598594A (en) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106598594B (en) Test system and method for rapidly recovering test program
US8910172B2 (en) Application resource switchover systems and methods
JP5665188B2 (en) System for inspecting information processing equipment to which software update is applied
TWI548987B (en) Method, system, and computer readable storage device for deploying environments for testing by providing instantaneous availability of prebuilt environments
US7174265B2 (en) Heterogeneous multipath path network test system
JP5657475B2 (en) Operation management apparatus and method
US20140372989A1 (en) Identification of a failed code change
CN102810073B (en) Background real-time monitoring processing method for data
US11556409B2 (en) Firmware failure reason prediction using machine learning techniques
US9280453B1 (en) Method and system for test automation framework for backup and recovery applications
CN114902192A (en) Verification and prediction of cloud readiness
US10929261B1 (en) Device diagnosis
CN101706752A (en) Method and device for in-situ software error positioning
KR20150116020A (en) Apparatus for computer diagnostics and recovery using wireless network and method thereof
US20190327302A1 (en) Method, device and computer program product for migrating data
US20190147164A1 (en) Novel methodology, process and program for the repair of disabled, badly infected or slow windows computers
US20220066917A1 (en) Candidate program release evaluation
JP6818654B2 (en) Test automation equipment, test methods, and programs
CN111090458B (en) Gray release system and application release method based on gray release system
JP7047054B2 (en) Test automation equipment, test methods, and programs
WO2015072078A1 (en) Service resumption sequence generating device, service resumption sequence generating method, and service resumption sequence generating program
US7779242B2 (en) Data processing system component startup mode controls
US10678645B2 (en) Dynamic rerouting of the execution for automated server builds
JP7363164B2 (en) Information processing device, information processing method, and information processing program
CN115756914A (en) Test method, test system, test platform and test machine

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
TR01 Transfer of patent right

Effective date of registration: 20230821

Address after: Room 1203, No. 2 Houkenanli, Haicang District, Xiamen City, Fujian Province, 361000

Patentee after: Xiamen Luan Chuang Technology Co.,Ltd.

Address before: 518057 16th floor, block B, TCL building, South 1st Road, Gaoxin, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: JRD COMMUNICATION (SHENZHEN) Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231109

Address after: Room 606-609, Compound Office Complex Building, No. 757, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong Province, 510699

Patentee after: China Southern Power Grid Internet Service Co.,Ltd.

Address before: Room 1203, No. 2 Houkenanli, Haicang District, Xiamen City, Fujian Province, 361000

Patentee before: Xiamen Luan Chuang Technology Co.,Ltd.

TR01 Transfer of patent right