| Systems and methods for embedded application test suites -> Monitor Keywords |
|
Systems and methods for embedded application test suitesRelated Patent Categories: Data Processing: Software Development, Installation, And Management, Software Program Development Tool (e.g., Integrated Case Tool Or Stand-alone Development Tool), Testing Or DebuggingSystems and methods for embedded application test suites description/claimsThe Patent Description & Claims data below is from USPTO Patent Application 20070028216, Systems and methods for embedded application test suites. Brief Patent Description - Full Patent Description - Patent Application Claims FIELD [0001] The present invention is in the field of computer program testing. More particularly, the invention relates to automated testing of application programs and operating system programs when a program installation or upgrade occurs. BACKGROUND [0002] Many different types of computing systems have attained widespread use around the world. These computing systems include personal computers, servers, mainframes and a wide variety of stand-alone and embedded computing devices. Sprawling client-server systems exist, with applications and information spread across many PC networks, mainframes and minicomputers. In a distributed system connected by networks, a user may access many application programs, databases, network systems, operating systems and mainframe applications. Computers provide individuals and businesses with a host of software applications including word processing, spreadsheet, accounting, e-mail, voice over Internet protocol telecommunications, and facsimile. [0003] Users of digital processors such as computers continue to demand greater and greater performance from such systems for handling increasingly complex and difficult tasks. In addition, processing speed has increased much more quickly than that of main memory accesses. As a result, cache memories, or caches, are often used in many such systems to increase performance in a relatively cost-effective manner. Many modern computers also support "multi-tasking" or "multi-threading" in which two or more programs, or threads of programs, are run in alternation in the execution pipeline of the digital processor. [0004] A common architecture for high performance, single-chip microprocessors is the reduced instruction set computer (RISC) architecture characterized by a small simplified set of frequently used instructions for rapid execution. Thus, in a RISC architecture, a complex instruction comprises a small set of simple instructions that are executed in steps very rapidly. These steps are performed in execution units adapted to execute specific simple instructions. In a superscalar architecture, these execution units typically comprise load/store units, integer Arithmetic/Logic Units, floating point Arithmetic/Logic Units, and Graphical Logic Units that operate in parallel. In a processor architecture, an operating system controls operation of the processor and components peripheral to the processor. Executable application programs are stored in a computer's hard drive. The computer's processor causes application programs to run in response to user inputs. [0005] System and application program reliability is an important concern, not only for users of computers, but for program developers as well. When an operating system is upgraded, one or more applications programs residing in the computer may lose functionality. This could occur because the upgraded operating system no longer supports certain functionality of older software. As another example, when an application program is upgraded, a different application that interacts with the upgraded application program may lose interactive functionality because the upgraded application no longer supports certain interactive functionality of the other program. [0006] With server consolidation efforts and function-rich applications becoming more prevalent in the IT world, the need for embedded application test methods which provide for meaningful interfaces with operating systems exists. Systems now may contain hundreds of disparate applications, where increasingly, modifications to a single application could disrupt other applications or, even worse, the entire system. Additionally, the requirement for application testing prior to and after an application or OS upgrade exists. Upon application upgrade or initial installation, some functions might not work correctly. Some of these functions might be critical to the application and affect those end users only; however, some of these functions might affect the entire system and cause critical system failures or corruption. Finally, application developers often do not have the resources of private IT companies, with regard to homogeneous systems running a myriad of software at the same time. In these cases, customers have to discover errors in the applications and provide feedback to the application developers, so fixes can be generated. [0007] Functional testing software exists to test software functionality. However, applications are generally not tested after initial development or initial installation. Typically, the functional testing software is not shipped with the software it tests. There is a need for embedded software to perform tests of application programs and operating system programs when a program upgrade or installation occurs. SUMMARY [0008] The problems identified above are in large part addressed by systems, methods and media for testing application programs and operating system programs. One embodiment is a system for testing application programs, comprising a detection mechanism to detect an installation event comprising installation or upgrade of an application program on a computer system. The system also comprises a test initiator to initiate a test sequence of at least one of the application programs if a new installation or upgrade is detected by the detection mechanism. Further, the system comprises an error detection component to detect if an error occurs during execution of an initiated test sequence. [0009] Embodiments include a computer with self-testing functionality; comprising a test control component to detect an installation event comprising an upgrade of an application program. The computer also comprises a test initiation component responsive to detection of an installation event to initiate a test sequence to test an application program for which an installation event has occurred. The computer also comprises an error detection component to detect if an error occurs during execution of an initiated test sequence. [0010] Another embodiment of the invention provides a machine-accessible medium containing instructions effective, when executing in a data processing system, to cause the system to perform a series of operations for testing one or more programs upon the occurrence of an installation event. The series of operations generally include detecting an installation event comprising an upgrade of an application program, initiating a test sequence in response to detection of an installation event to test one or more applications, and detecting if an error occurs during execution of an initiated test sequence. BRIEF DESCRIPTION OF THE DRAWINGS [0011] Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which, like references may indicate similar elements: [0012] FIG. 1 depicts an embodiment of a digital system within a network; within the digital system is a processor. [0013] FIG. 2 depicts an embodiment of an embedded test suite for testing application programs and operating systems. [0014] FIG. 3 depicts another embodiment of an embedded test suite for testing application programs and operating systems. [0015] FIG. 4 depicts a flowchart of an embodiment for installed or upgraded programs and programs that interact with them. DETAILED DESCRIPTION OF EMBODIMENTS [0016] The following is a detailed description of example embodiments of the invention depicted in the accompanying drawings. The example embodiments are in such detail as to clearly communicate the invention. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; but, on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. The detailed descriptions below are designed to make such embodiments obvious to a person of ordinary skill in the art. [0017] Systems, methods and media for testing computer programs in response to a program upgrade or installation are disclosed. In one embodiment, a computer executes software to detect when an upgrade or an installation occurs. When an upgrade or installation occurs the computer initiates a test of one or more applications and/or operating systems. The results of these tests are logged in one or more error logs that can be displayed to a program developer or operating system administrator for diagnosis. [0018] FIG. 1 shows a digital system 116 such as a computer or server implemented according to one embodiment of the present invention. Digital system 116 comprises a processor 100 that can operate according to BIOS (Basis Input/Output System) Code 104 and Operating System (OS) Code 106. The BIOS and OS code is stored in memory 108. The BIOS code is typically stored on Read-Only Memory (ROM) and the OS code is typically stored on the hard drive of computer system 116. Memory 108 also stores other programs for execution by processor 100 and stores data 109. Digital system 116 comprises a level =b 2 (L2) cache 102 located physically close to multi-threading processor 100. [0019] Processor 100 comprises an on-chip level one (L1) cache 190, an instruction buffer 130, control circuitry 160, and execution units 150. Level 1 cache 190 receives and stores instructions that are near to time of execution. Instruction buffer 130 forms an instruction queue and enables control over the order of instructions issued to the execution units. Execution units 150 perform the operations called for by the instructions. Execution units 150 may comprise load/store units, integer Arithmetic/Logic Units, floating point Arithmetic/Logic Units, and Graphical Logic Units. Each execution unit comprises stages to perform steps in the execution of the instructions received from instruction buffer 130. Control circuitry 160 controls instruction buffer 130 and execution units 150. Control circuitry 160 also receives information relevant to control decisions from execution units 150. For example, control circuitry 160 is notified in the event of a data cache miss in the execution pipeline. Continue reading about Systems and methods for embedded application test suites... Full patent description for Systems and methods for embedded application test suites Brief Patent Description - Full Patent Description - Patent Application Claims Click on the above for other options relating to this Systems and methods for embedded application test suites patent application. ### 1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Systems and methods for embedded application test suites or other areas of interest. ### Previous Patent Application: Method and system for anomaly detection Next Patent Application: Testing software using verification data defined independently of the testing code Industry Class: Data processing: software development, installation, and management ### FreshPatents.com Support Thank you for viewing the Systems and methods for embedded application test suites patent info. IP-related news and info Results in 0.6375 seconds Other interesting Feshpatents.com categories: Software: Finance , AI , Databases , Development , Document , Navigation , Error 174 |
* Protect your Inventions * US Patent Office filing
PATENT INFO |
|