| US 7,499,405 B2 | ||
| Method for testing branch execution and state transition logic in session initiation protocol application modular components | ||
| Michael A. Gilfix, Austin, Tex. (US); and Rhys D. Ulerich, Austin, Tex. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Jun. 28, 2005, as Appl. No. 11/168,719. | ||
| Prior Publication US 2007/0008892 A1, Jan. 11, 2007 | ||
| Int. Cl. H04L 12/26 (2006.01); H04L 9/00 (2006.01); G06F 15/16 (2006.01); G06F 17/50 (2006.01) | ||
| U.S. Cl. 370—241 [703/13; 709/224; 709/227; 713/201] | 1 Claim |

| 1. A computer implemented method for testing branch execution and state transition logic in session initiation protocol application
modular components, the method comprising:
initializing the artificial session initiation protocol runtime environment, wherein the artificial session initiation protocol
runtime environment is created by a session initiation protocol application developer, and wherein the artificial session
initiation protocol runtime environment creates and initializes a selected session initiation protocol application destination
state;
sending an artificial session initiation protocol runtime environment constructed by a test harness to a session initiation
protocol application to test the session initiation protocol application modular components, wherein the session initiation
protocol application modular components load the artificial session initiation protocol runtime environment and send responses
to the test harness, and wherein the session initiation protocol application modular components comprise application data,
precondition handlers, transition handlers, and postcondition handlers;
responsive to sending the artificial session initiation protocol runtime environment, loading the transition handlers;
transferring control from the artificial session initiation protocol runtime environment to a first transition handler along
a selected execution pathway;
simulating a session initiation protocol message, wherein the artificial session initiation protocol runtime environment sends
the session initiation protocol message;
determining whether an appropriate session initiation protocol state occurs in response to the simulated session initiation
protocol message, wherein the appropriate session initiation protocol state comprises at least one of a particular session
initiation protocol application state and a particular session initiation protocol application transition handler;
responsive to an absence of the appropriate session initiation protocol occurring in response to simulating the session initiation
protocol message, sending a test failure result to the test harness;
generating a report by the test harness with the test failure result;
responsive to the appropriate session initiation protocol occurring in response to simulating the session initiation protocol
message, determining whether another transition handler exists along the selected execution pathway;
responsive to the another transition handler existing along the selected execution pathway, transferring control from the
artificial session initiation protocol runtime environment to the another transition handler, wherein transferring control
from the artificial session initiation protocol runtime environment to the another transition handler further comprises:
determining whether a second appropriate session initiation protocol state occurs in response to simulating the session initiation
protocol message for the another transition handler;
responsive to an absence of the transition handler existing along the selected execution pathway, determining whether an appropriate
final execution state is achieved, wherein determining whether an appropriate final execution state is achieved further comprises;
responsive to an absence of the appropriate final execution state, sending for the another transition handler the test failure
result to the test harness;
generating the report by the test harness of the test failure result for the another transition handler;
responsive to the appropriate final execution state being achieved, sending a test success result to the test harness; and
generating the report by the test harness containing the test success result.
|