Patents In Software Testing

By Anand Ramdeo on May 3, 2011 Comments

According to the Wikipedia, A patent is a set of exclusive rights granted by a government to a person for a fixed period of time in exchange for the regulated, public disclosure of certain details of an invention. The person applying for a patent does not need to be the inventor who created or authored the invention.

You will be amazed to know that almost all the organizations small or big put immense emphasis on creating Intellectual Property rights or patents. This gives them competitive advantage in the market and they earn billions of dollars using these Intellectual Property rights.

Software Testing is relatively new field and there is a lot of scope for you to get patents for whatever you are doing. There are enough reasons for you to start looking at this opportunity, of filing Patents. Some of the benefits of filing Patents are

  • In most cases, organization reward people who file patents in their respective field.
  • You create value for organization and for yourself. You can add inventor in your name.
  • It shows, how serious you are about the software testing.

Biggest bottleneck in filing patents is to convince yourself. If you are not convinced probably you will not research the subject and will think it is so obvious people must have thought about this and implemented this. Sometime we do not even realize what can be patented and what can not be. In order to help you in identifying what can be patented, TestingGeek has tried to compile list of patents related to software testing. This should give you an idea of what can be patented in software testing. On this page you will find five patents related to software testing. TestingGeek will update this page every month and older patents will be available to you in the archive section of this website. You can also search for existing patents in US Patent office website and India Patent office website.

If you have filed any Patent/Disclosure or know of any interesting Patent/Disclosure filed in the software testing field, do let us know.

Risk metric for testing software

A computer-implemented system and method for improving the efficiency of testing a process by focusing the testing in the highest risk areas of the process. One application of this computer implemented system and method is in software testing to improve the effectiveness of software testing by focusing the testing efforts on the parts of the software that have a highest risk of failure and also by focusing the testing on the types of tests needed to reduce the risk.

Software-testing automation system

A software-testing automation system for tests a plurality of deployed images that are spread across multiple software platforms. Each deployed image includes a test component configured to accept a connection on a known testing port, and the test component for a deployed image is inserted in a development environment and is then integrated into the image upon deployment. The system includes a test engine configured to run a plurality of tests on the plurality of deployed images. The test engine runs a test on an image under test by requesting a connection to the corresponding test component on the known testing port and sending commands over the connection. A user interface connected to the test engine allows a user to control the test engine and to view test results. An alternative embodiment utilizes a well-known test engine interface and a plurality of adaption layers to connect to external test tools.

Monitoring and testing middleware based application software

A method for on-line monitoring and testing the behavior of middleware based, distributed application software during run-time of such software is disclosed. In order to automatize the monitoring of the behavior of the application software, the monitoring method comprises: defining events capturing the behavior of the software execution, the events being based on an abstraction of the application software, the abstraction being provided by middleware; using code generating means and an instrumentation technique for automatically adding code to the implementation of the software code suitable for generating traces suitable to be sent to an observer, the information carried by the added code including information on the order of occurrence of the events and on the application software part location where each event occurs; and using a monitoring mechanism based on sending of trace reports to the observer, which ensures or takes into account the time order of the reported traces. In order to automatize testing of the behavior of the application software, the testing method comprises monitoring the behavior of the software during run-time thereof by the above mentioned method, and using a checking mechanism using the information monitored at runtime for checking whether the behavior is violating or has violated predefined properties or constraints.

Method for determining software reliability

A method for determining the reliability of software includes determining a total number of software input combinations, and then determining a matrix of test input combinations that is a subset of the total number. The software is tested for each test input combination, and the ratio of the number of successful tests to the number of test input combinations, coupled with an effectiveness ratio that is determined by the number of test input combinations divided by the total number of input combinations, represents the efficacy of the software testing. Future software errors are predicted based on the testing, and a decision whether to continue software modification and testing is made in response to the prediction of future software errors and the indicated efficacy of the software testing.

Testing tool for diagnosing defective computer system devices

A flexible software testing tool provides fast and efficient diagnosis of defective computer system devices. The software testing tool includes an action string command qualifier that enables dynamic exercising of target computer devices by specifying certain operations involving those devices. Additional command qualifiers are provided to define the operating conditions of the device interaction paths. The operations specified by the qualifiers typically require interactions between a plurality of devices, thereby creating combinations of device interaction paths within the system to detect intermittent device failures.

blog comments powered by Disqus
Finished reading? Browse all posts »