FIELD OF THE INVENTION
- Top of Page
The present invention relates to networked computers and in particular to a system and method for effecting control of remote computers in a networked computer environment. The system more particularly relates to a methodology that can be utilised in the running or execution of the same computer application on one or more remote computers concurrently so as to enable an evaluation and testing of the performance of that program on each of the remote computers.
- Top of Page
Within a networked architecture it is known that individual computers can communicate with one another using distinct network protocols such as TCP/IP. Using these protocols it is possible for a person running a software application on a first computer to utilise data that is stored on another computer such as a file server or the like.
It is also known in the art to provide software applications that enable a remote user to effectively take control of another computer so as to run computer applications that reside on the remote computer from their own local computer. Such applications include that provided by Microsoft™ under their Remote Desktop brand and an open source software application called VNC (Virtual Network Computing). These applications make it possible to view and fully-interact with one computer from any other computer or mobile device anywhere on the Internet. VNC software is a cross-platform application which is advantageous in that it allows remote control between different types of computer, but has the restriction that only that the end user can only control one remote machine at a time; for each end user it is a 1-1 arrangement.
AnyplaceControl™ is a product that allows the user to connect to multiple machines simultaneously. However, although the user can connect to the multiple machines, he is restricted in that he can control one machine at a time, but cannot control multiple machines by passing the same action to many machines simultaneously. Therefore, although it is different to VNC in that it enables a 1-many connection, it does not allow 1-many control.
Uses of these remote desktop software applications include system administration, IT support and helpdesk applications where the technical support provider can log into the computer that is causing the difficulty and interrogate it without having to be physically present at the computer. These systems allow several connections to the same desktop thereby enabling collaborative or shared working, but with only one computer acting as the controller at a time. The remote desktop application can also be used for training purposes, whereby the instructor can view a single pupil's machine or several pupils' machines, however heretofore simultaneous control of multiple machines by the teacher is not possible.
Such control of a remote computer by a local computer can be used in the realm of software testing. Software testing involves the operation of a system or application under controlled conditions and an evaluation of the results. The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they should happen and more importantly if things happen when they should not happen. The requirements for good software testing are reasonably well defined to ensure that it is a process of quality control using group of well defined methods and evaluation criteria, together with guidelines for their use, to ensure that the software products or modules are of sufficiently high quality. The testing that is required for good software testing has to be rigorous and as such it will be apparent that it adds to the cost of development.
It can be applied to all or some of the following activities:
Robustness, Reliability, and Security Testing
Ensuring that the software provides fault-free service under specific hardware and software environments.
Logo Compliance and Certification Testing
Ensuring the application under test meets standards to compliant with a standard such as Sun “JavaVerified” or Microsoft “Designed for Windows”.
Application and hardware compatibility testing for new versions of platform and system software.
Ensuring that various components of the system work well together in selected scenarios.
Testing to ensure that a product meets well defined globalisation standards.
As the application of software testing is pervasive within a computer software architecture, it would therefore be advantageous if certain portions of the test strategy could be automated. Despite the benefits in cost and time, automated testing to date has not been perfect. Some examples have been deployed in what is called user interface automated testing where one or more of the following actions are used:
Acquiring data from controls.
In capturing controls it is necessary to know what you are looking for. For example in an Windows™ environment there are three types of controls: