Sign In to Follow Application
View All Documents & Correspondence

Method And System For Message Based Testing

Abstract: The present invention provides a method, test-bed and computer program product for testing an application installed on a wireless communication device. The wireless communication device communicates one or more messages wirelessly to a server through a test-bed. The test-bed is connected with the server. A tester, testing the application, selects at least one message of the one or more messages. Further, the tester provides one or more testing parameters associated with the selected message. Thereafter, the messages are re-communicated between the server and wireless communication device through the test-bed. Subsequently, the selected message is identified by the test-bed among the one or more messages, and on identification of the selected message, one or more wireless network conditions are emulated based on the testing parameters provided by the tester.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
11 April 2008
Publication Number
42/2009
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INFOSYS TECHNOLOGIES LIMITED
PLOT NO.44 & 97A ELECTRONICS CITY HOSUR ROAD, BANGALORE 560 100

Inventors

1. DHANAPAL, KARTHIKEYAN BALAJI
356, FIRST FLOOR 13TH MAIN, 18TH CROSS MALLESWARAM, BANGALORE 560055
2. GUPTA, PUNEET
248, LAKESHORE HOMES KASVANAHALLI, BELLANDUR PO OFF SARJAPUR ROAD BANGALORE 560037

Specification

CROSS REFERENCE TO RELATED APPLICATIONS
This patent application is related to the Indian Patent Application No. 539/CHE/2008 filed on March 4, 2008, entitled "System and Method for Testing an Application Installed on a Wireless Communication Device" and assigned to the assignee of the present application.
BACKGROUND
The present invention relates to testing an application installed on a wireless communication device. More specifically, it relates to testing a wireless communication device application based on messages.
With the exponential growth of wireless technology, various applications are being developed for wireless communication devices. Examples of such wireless communication devices include Personal Digital Assistants (PDAs), mobile phones, laptops, computers, navigational devices, etc. There are various applications that run on the wireless communication devices such as Internet browsers, applications that enable chatting, media players that stream live music through the Internet, etc. These applications are tested before they are launched in the market, to be used with the wireless communication devices.
Presently, the testing is performed by a tester with an expertise in the domain of testing. The tester tests the application using emulators by providing multiple testing parameters such as bandwidth, signal strength, packet delay, packet dropping, signal amplitude, and so forth. The combinations of such testing parameters for which the application can be tested are infinite and thus incur a considerable amount of time. Due to time limitations the tester may not be able to test the application for a finite set of testing parameters and therefore fails to test the application rigorously for various testing parameters.
Further, the tester has to decide a time-period for which the application has to be tested for a particular testing parameter. Presently, the tester tests the application from

few milliseconds to tens-of-seconds. Such a random selection of time period Increases complexity and the tester may not be able to test the application for the right set of time-periods.
In light of foregoing discussion there is a need of a method and system that reduces the complexity in testing the application. The method and system should enable the tester to select a set of testing parameters and simultaneously should also allow the tester to select right set of time-periods for testing the application.
SUMMARY
An object of the invention is to test an application installed on a wireless communication device communicating with a server over a wireless network.
Another object of the invention is to test an application installed on a wireless communication device for at least one message that is communicated to a server through a test-bed.
Yet another object of the invention is to test an application installed on a wireless communication device for a pre-defined period of time.
To achieve the objectives above, the invention provides a method, a test-bed and a computer program product to test an application installed on a wireless communication device. The wireless communication device communicates one or more messages wirelessly to a server through a test-bed. The test-bed is connected with the server. A tester testing the application selects at least one message of the one or more messages. Further, the tester provides one or more testing parameters associated with the selected message. Thereafter, the messages are re-communicated between the server and the wireless communication device through the test-bed. Subsequently, the selected message is identified by the test-bed among the one or more messages, and on identification of the selected message, one or more wireless network conditions are emulated based on the testing parameters provided by the tester. The tester then performs the testing of the application in the emulated wireless network conditions.

Further, to achieve the objectives above, the invention provides a test-bed to test an application installed on a wireless communication device. The test-bed establishes a wireless network with the wireless communication device. Further, the test-bed includes a memory module to store one or more messages that are communicated between an application installed on the wireless communication device and a server. The memory module communicates the messages to a user-interface in the test-bed. The user-interface enables a tester to select at least one message from the one or more messages that were communicated between the server and the application. Further, the user-interface enables the tester to provide one or more testing parameters associated with the selected message. Thereafter, the application installed on the wireless communication device re-communicates the messages to the server. A control module in the test-bed monitors the messages. The control module identifies the selected message among the one or more messages that are re-communicated. Subsequently, the control module emulates one or more wireless network conditions based on the testing parameters for the selected message. The tester, then tests the application in the emulated wireless network conditions.
The method and test-bed mentioned above have a number of advantages. The method enables the tester to select a message for which an application can be tested. Further, the method enables the tester to provide various testing parameters. For example, if a tester wants to test the application for the emulated wireless network conditions such as, loss of connectivity, then the tester would want to test the application either when a message is sent to the server or received from the server. Thereby, the tester can select such a message from the one or more messages that are communicated between the application installed on the wireless communication device and the server. Thereby, the loss of connectivity can be emulated in order to check the behavior of the application at the selected message. Hence, the method enables the tester to select a finite set of messages and a finite set of testing parameters for which the application can be tested.
Further, the method enables the tester to test the application in the emulated wireless network conditions for a pre-defined period of time. The pre-defined period of

time is based on the communication layers associated with the wireless communication device.
BRIEF DESCRIPTION OF THE DRAWINGS
The various embodiments of the invention will hereinafter be described in conjunction with the appended drawings, provided to illustrate and not to limit the invention, wherein like designations denote like elements, and in which:
FIG. 1 illustrates an environment in which various embodiments of the invention may be practiced;
FIG. 2 is a flowchart of a method for testing an application installed on a wireless communication device, in accordance with an embodiment of the invention;
FIG. 3A and 3B is a flowchart of a method for testing the application installed on the wireless communication device, in accordance with another embodiment of the invention;
FIG. 4 is a block diagram of a test-bed for testing an application installed on a wireless communication device, in accordance with an embodiment of the invention; and
FIG. 5 is a block diagram of the test-bed for testing the application installed on the wireless communication device, in accordance with another embodiment of the
invention.
DESCRIPTION OF VARIOUS EMBODIMENTS
The invention describes a method, test-bedand computer program product for testing an application installed on a wireless communication device. The wireless communication device communicates one or more messages to a server through a test-bed. A tester selects at least one message of the various messages communicated to the server. Further, the tester also provides one or more testing parameters associated with the selected message. Once the message is selected by the tester, various messages are re-communicated to the server through the test-bed. Thereafter, the test-bed identifies the selected message among the re-communicated various messages and

emulates one more wireless network conditions for a pre-defined period of time based on the testing parameters. The tester tests the application in the emulated wireless network conditions.
FIG. 1 illustrates an environment 100 in which various embodiments of the invention may be practiced. Environment 100 includes a wireless communication device 102, a server 104, a wireless network 106 and a test-bed 108. Wireless communication device 102 includes an application 110.
Wireless communication device 102 communicates with server 104 over wireless network 106. Wireless communication device 102 communicates with server 104 through test-bed 108. Thereafter, application 110 installed on wireless communication device 102 interacts with server 104 through test-bed 108.
It will be apparent to one skilled in the art that test-bed 108 acts as an access point for wireless communication device 102. In an embodiment of the invention, test-bed 108 and server 104 are connected by a wired connection.
Test-bed 108 establishes wireless network 106 with wireless communication device 102. Thereafter, wireless communication device 102 communicates with server 104 through test-bed 108 over wireless network 106. Subsequently, application 110 installed on wireless communication device 102 communicates with server 104 through one or more messages. These messages are monitored by test-bed 108. Further, these messages correspond to the actions that a tester performs through application 110, Various examples of the actions that the tester performs through application 110 include, but are not limited to, 'connect with server 104', login details', transact', and so forth. Each action has corresponding one or more messages, such as 'connect with server message', 'login details message*, 'transact message' and so forth, that are communicated to server 104. Server 104 communicates messages corresponding to the actions executed by server 104 to wireless communication device 102, such as, 'acknowledgment to connection message, 'authentication message'. Similarly, various messages are communicated between server 104 and application 110 installed on wireless communication 102 device through test-bed 108 over wireless network 106.

It may be apparent to one skilled in the art that various messages are packets communicated by wireless communication device 102 to server 104, Further, these messages/packets are communicated based on the IP address of wireless communication device 102, IP address of server 104, and so forth.
Thereafter, test-bed 108 enables the tester to select at least one message of the various messages communicated between wireless communication device 102 and server 104. Test-bed 108 also enables the tester to provide one or more testing parameters associated with wireless network 106 for the selected message. These testing parameters are explained in detail in conjunction with FIG. 3. Subsequently, the messages are re-communicated through test-bed 108 for which the tester performs same actions again through application 110. Test-bed 108 monitors the messages that are re-communicated between wireless communication device 102 and server 104. Further, test-bed 108 identifies the message selected by the tester among the re-communicated messages. Upon the identification of the selected message, test-bed 108 emulates one or more wireless network conditions for a pre-defined period of time based on the testing parameters associated with the selected message. Behavior and performance of application 110 is then tested in the emulated wireless network conditions by the tester. The pre-defined period of time is explained in detail in conjunction with FIG 3.
The details provided below explain an exemplary test case where the tester tests application 110, such as an Internet browser The Internet browser communicates with server 104, such as a bank server. The tester, using test-bed 108, initially monitors all the messages that application 110 communicates to server 104. Various examples of the messages include 'connect with server message', 'login details message', 'transact message', 'acknowledgment to connection message, 'authentication message', and so forth.
Thereafter, the tester selects a message such as 'transact message' and simultaneously provides a testing parameter such as 'weak signal strength'. After the tester selects the message and provides the testing parameter, wireless communication device 102 re-communicates the messages through test-bed 108. Test-bed 108

monitors the re-communicated messages for the occurrence of the 'transact message' and emulates 'weak signal strength' upon identification of the 'transact message'. The tester then observes the performance and behavior of application 110 in the emulated wireless network conditions associated with the 'weak signal strength'. The tester might observe that at 'transact message' when the weak signal strength is emulated by test-bed 108, application 110 might hang or might try to reconnect with server 104. Observing such behavior of application 110 facilitates the testing of application 110.
Similarly, application 110 can be tested for various messages and the associated testing parameters. In an embodiment of the invention, application 110 can be tested for more than one message simultaneously.
Various examples of wireless communication device 102 include, but are not limited to, a mobile device, a Personal Digital Assistant (PDA), a laptop, a computer, a navigational device, and the like. Similarly, various examples of wireless network 106 include, but are not limited to, a Bluetooth network, a General Packet Radio Service (GPRS), a Wireless Local Area Network (WLAN), 2.5G, 3G, and the like.
Various examples of application 110 include, but are not limited to, an Internet browser, a media-streaming player, an FM radio, a chatting application, and the like. In an embodiment of the invention, application 110 is a TCP/IP-based application. In another embodiment of the invention, application 110 can be a WAP-based application. In yet another embodiment of the invention, application 110 can be an OSI model based application.
FIG. 2 is a flowchart of a method for testing an application such as application 110 installed on a wireless communication device such as wireless communication device 102, in accordance with an embodiment of the invention.
In various embodiments of the invention, the wireless communication device communicates with a server such as server 104 over a wireless network such as wireless network 106 through a test-bed such as test-bed 108. The wireless network is established by the test-bed. Further, the test-bed is connected with the server. In an

embodiment of the invention, the connection between the server and the test-bed is a wired connection. In an embodiment of the invention, a tester can select the wireless network through the test-bed.
After the wireless network is established between the wireless communication device and the test-bed, the application Installed on the wireless communication device communicates one or more messages to the server at 202. The messages are communicated to the server through the test-bed. For example, if the application such as an internet browser Is communicating with the server such as a bank server in a GPRS network, then actions selected by a tester such as login details', 'transact' will correspond to respective messages such as 'login details message', 'transact message'. In various embodiments of the Invention, the wireless communication device exchanges various messages with the server for communication, such as messages corresponding to Initial connection, acknowledgment, and so forth. It may be apparent to one skilled in the art that the messages are constantly monitored by the test-bed.
Thereafter at 204, the test-bed enables the tester to select at least one message of the various messages that are communicated through the test-bed. For example, the tester may select the 'transact message'. Further at 206, the tester provides one or more testing parameters to the test-bed. The testing parameters correspond to the type of wireless network established between the wireless communication device and the test-bed. Furthermore, the testing parameters are associated with the selected message. For example, the tester may provide 'weak signal strength' as the testing parameter associated with the 'transact message'. Various examples of testing parameters include, but not limited to, bandwidth, packet delay, packet loss, packet re-ordering, packet rescheduling, signal strength, signal amplitude, and the like. Testing parameters are explained in detail in conjunction with FIG. 3.
In another embodiment of the invention, the testing parameters can be pre-set for a test case. For example, for a particular pre-set test-case, the number of testing parameters can be pre-set for the selected message in the test-bed. In an exemplary test-case, if the tester selects 'transact message', then the test-bed can automatically

select pre-set 'strong bandwidth' and pre-set 'strong signal strength' for emulating corresponding wireless network conditions.
After the tester has selected at least one message, the messages are then re-communicated to the server by the application installed on the wireless communication device, at 208. It may be apparent to one skilled in the art that the tester performs same actions as in step 202 in order to exchange the same messages. Thereafter, the test-bed monitors the messages that are re-communicated to the server. The test-bed emulates one or more wireless network conditions for a pre-defined period of time when the selected message is identified by the test-bed at 210, For example, if the testing parameter is provided as 'weak signal strength' for the 'transact message', then the test-bed emulates weak wireless network conditions for a pre-defined period of time, when 'transact message' is identified. The pre-defined period of time is explained in detail in conjunction with FIG.3. In an embodiment of the invention, the pre-defined period of time is provided by the tester through the test-bed.
Subsequently, at 212, the tester tests the application behavior at 'transact message' in the emulated weak wireless network conditions. For example, the tester tests the behavior of the application in weak signal strength when the 'transact message' is communicated to the server. The tester may note that, the application might hang or might try to reconnect with the server. Observing such behavior of the application at the selected message in the emulated wireless network conditions facilitates the testing of the application.
In another embodiment of the invention, the application can be tested for more than one message simultaneously by the test-bed.
FIG. 3A and FIG.3B is a flowchart of a method for testing the application, such as application 110, installed on the wireless communication device, such as wireless communication device 102, in accordance with another embodiment of the invention.
In various embodiments of the invention, the wireless communication device communicates with the server, such as server 104, over the wireless network, such as

wireless network 106, through the test-bed, such as test-bed 108. The wireless network is established by the test-bed. Further, the test-bed is connected with the server. In an embodiment of the invention, the connection between the server and the test-bed is a wired connection. In an embodiment of the invention, the wireless network, such as GPRS, can be selected through the test-bed by the tester.
As explained in FIG.2, the application installed on the wireless communication device communicates through various messages with the server at 302. These messages (Xj, {i=1, 2, 3...n}) are communicated between the server and the application through the test-bed. Examples of such messages are, Xi = 'connect message', X2 = 'acknowledgement from the server message', X3= login details message' X6= 'transact message' and so forth.
At 304, the test-bed enables the tester to select at least one message among the various messages communicated to the server. For example, the tester selects message X6= 'transact message'.
At 306, the tester provides one or more network parameters and one or more signal parameters to the test-bed for the selected message (Xe). The network parameters and signal parameters are associated with the wireless network. Various examples of the network parameters include, but are not limited to, bandwidth, packet delay, packet loss, packet rescheduling, packet reordering, and the like. Similarly, various examples of the signal parameters include, but are not limited to, signal strength, signal amplitude, and the like. In an exemplary test case the tester can provide bandwidth as the network parameter and signal strength as the signal parameter.
Further at 308, the tester provides one or more values that correspond to the network parameters and the signal parameters to the test-bed. For example, bandwidth of GPRS network can have a value of 40 kbps, packet delay can be set as 10 milliseconds, and so forth. Similarly, examples of signal strength can have values such as weak, strong, ON, OFF, and the like. In the exemplary test-case the tester may provide bandwidth as low (40kbps) and signal strength as 'weak' for a GPRS network.

In another embodiment of the invention, the values corresponding to the network parameters and the signal parameters can be predefined. For example, there may be pre-set profiles, such as a 'tunnel profile', a 'roaming profile*, a 'basement profile', and so forth, in the test-bed. If the tester wishes to test the application for the tunnel profile, the test-bed will automatically set a weak signal strength and low bandwidth in the tunnel profile. Similarly, there can be preset values for the various network and signal parameters associated with the corresponding profiles.
Furthermore at 310, the tester provides a pre-defined period of time to the test-bed. In an embodiment of the invention, the pre-defined period of time is experimentally determined. The pre-defined period of time is associated with time-out values of one or more communication layers of the wireless communication device. It may be apparent to one skilled in the art, that each layer, such as a link layer, an IP layer, a TCP layer and an application layer has a corresponding time-out value. For example, the IP layer can initiate a request for new IP address from the server after every 5 seconds in case of no network coverage. Hence, in the exemplary test-case, the tester can provide 5 seconds as the pre-defined period of time. Similarly, each layer has a corresponding time-out value. Further, in another embodiment of the Invention, the pre-defined period of time can be defined by the tester which is independent of the time-out value of the communication layers of the wireless communication device. In yet another embodiment of the invention, the pre-defined period of time may be pre-set for a particular test-case.
Thereafter at 312, the messages (Xj, {i=1, 2, 3...n}) are re-communicated to the server. As described earlier, the re-communicated messages are the same messages communicated at step 302. Therefore, the tester performs the same actions through the application to communicate the messages between the server and the wireless communication device through the test-bed. The test-bed monitors the messages that are re-communicated between the wireless communication device and the server.
At 314, the test-bed compares each message that is re-communicated to the server with the selected message (Xe). If the selected message is not identified, the test-bed compares the selected message with the next message in the one or more messages at 316. After the selected message (Xe) is identified in the one or more

messages, the test-bed at 318 configures the network parameters and the signal parameters based on the corresponding values received by the test-bed. For example, as discussed above, the test-bed on the identification of selected message will configure the bandwidth to be '40kbps' and signal strength to be 'weak'.
At 320, the test-bed emulates one or more wireless network conditions for the pre-defined period of time based on the configured network and signal parameters at 318. In the exemplary test case described above, the test-bed now emulates the wireless network conditions for 5 seconds corresponding to weak signal strength and bandwidth equivalent to 40 kbps upon the identification of the selected message (Xe).
Subsequently, at 322 the wireless communication device performs a check to determine whether the wireless network conditions emulated, based on the signal parameters, are in a pre-defined range. For example, if the tester wishes to test the application for a predefined range of signal strength, the wireless communication device constantly provides feedback on the signal strength. In an embodiment of the invention, the predefined range can be provided by the tester.
If the signal parameters are not found in the pre-defined range at 322, the test-bed reconfigures the signal parameters at 324, based on the feedback. Thereafter, the test-bed emulates the wireless network conditions, based on the reconfigured signal parameters.
If the emulated wireless network conditions are found in the pre-defined range based on the feedback at 322, the tester then tests the application in the emulated wireless network conditions at 326. For example, the tester either notes that the application, upon identification of selected message (Xe), in the emulated wireless network conditions either gets hung, or tries to reconnect to the server or requests for a new IP address after a period of time. Such observations made by the tester complete the testing of the application.
In one embodiment of the invention, testing can be performed for either the signal parameters or the network parameters, or a combination of both.

FIG, 4 is a block diagram of test-bed 108 for testing application 110 installed on wireless communication device 102, in accordance with an embodiment of the invention. Test-bed 108 includes a memory module 402, a user-interface 404 and a control module 406. Wireless communication device 102 includes application 110.
Test-bed 108 establishes wireless network 106 with wireless communication device 102. In an embodiment of the invention, wireless network 106 can be selected from user-interface 404. Application 110 installed on wireless communication device 102 communicates one or more messages with server 104 through test-bed 108 over wireless network 106. These messages have been explained in detail in conjunction with FIG.1
Control module 406 monitors the messages communicated between application 110 installed on wireless communication device 102 and server 104. These messages are stored in memory module 402. Further, memory module 402 communicates these messages to user-interface 404. The tester then selects at least one message of the various messages stored in memory module 402 through user-Interface 404. Further, the tester provides one or more testing parameters associated with wireless network 106 for the selected message through user-interface 404. The testing parameters and the selected message are communicated to control module 406.
Thereafter, the messages are re-communicated between wireless communication device 102 and server 104. Re-communication of the messages is explained in detail in conjunction with FIG.2 and FIG.3. Control module 406 monitors the messages that are re-communicated between server 104 and wireless communication device 102. Control module 406 identifies the message, selected through user-interface 404, among the messages that are re-communicated. Subsequently, on the identification of the selected message, control module 406 emulates one or more wireless network conditions for a pre-defined period of time based on the testing parameters received through user-interface 404. Finally, the tester tests application 110 in the emulated wireless network conditions.

In an exemplary test-case, the tester tests application 110 in a GPRS network. Application 110 and server 104 communicate various messages through test-bed 108 for the execution of an action performed by the tester. These messages are stored in memory module 402 and displayed to the tester through user-interface 404. The tester selects a message, such as 'transact message' through user-interface 404. Further, the tester provides various testing parameters such as, 'low bandwidth', 'weak signal strength'. Thereafter, user-interface 404 communicates the 'transact message' and the testing parameters to control module 406. Subsequently, the messages are re-communicated through test-bed 108. Control module 406 monitors the re-communicated messages and identifies the 'transact message' among the various messages that are re-communicated. Control module 406 then emulates the wireless network conditions for a pre-defined period of time based on 'low bandwidth' and 'weak signal strength'. The tester observes the behavior of application 110 on the identification of 'transact message', for example, application 110 may hang, or may try to reconnect with server 104, or might request for a new IP address, and so forth. Such observations help the tester to test application 110 in the emulated wireless network conditions.
Similarly, application 110 can be tested for various other messages that are communicated between server 104 and application 110 installed on wireless communication device 102. Further, application 110 can be tested for various testing parameters such as packet delay, packet loss, packet drop, and so forth simultaneously. In various embodiments of the invention, test-bed 108 includes a processor, which performs various computations to emulate various wireless network conditions.
Various examples of the testing parameters include, but are not limited to, bandwidth, packet delay, packet loss, packet reordering, packet rescheduling, signal strength, signal amplitude, and the like. In an embodiment of the invention, user-interface 404 may be a graphical user interface (GUI).
FIG. 5 Is a block diagram of test-bed 108 for testing application 110 installed on wireless communication device 102, in accordance with another embodiment of the invention. Test-bed 108 includes memory module 402, user-interface 404, control module 406 and a connector 502. Control module 406 includes a coordination module

504, a signal control module 506, a network control module 508 and a kernel network module 510. Further, wireless communication device 102 includes application 110 and a signal feedback module 512.
As explained in FIG. 4, wireless communication device 102 communicates various messages with server 104 over wireless network 106 through test-bed 108. In an embodiment of the invention, wireless network 106 is established by connector 502. Various examples of connector 502 include, but not limited to, a WLAN interface, a Wi-Fi interface, and the like. In another embodiment of the invention, there can be more than one connector in test-bed 108.
Kernel network module 510 monitors the messages that are communicated between application 110 installed on wireless communication device 102 and server 104. Further, these messages are stored in Memory module 402. Memory module 402 then communicates the messages to user-interface 404. A tester can then select a message through user-interface 404. Further, the tester provides various testing parameters associated with the selected message through user-interface 404. The testing parameters associated with wireless network 106 for the selected message, are communicated to coordination module 504. Thereafter, the messages are re-communicated between wireless communication device 102 and server 104. Kernel network module 510 monitors the messages that are re-communicated between server 104 and wireless communication device 102. Kernel network module 510 identifies the message that was earlier selected through user-interface 404. Kernel network module 510 then communicates the identification of the selected message to coordination module 504. Subsequently, coordination module 504 interacts with signal control module 506, network control module 508 and kernel network module 510, based on the testing parameters. Signal control module 506 and kernel network module 510 emulate various wireless network conditions on the basis of the communicated testing parameters.
In various embodiments of the invention, the testing parameters include network parameters and signal parameters. Various examples of the network parameters include, but not limited to, bandwidth, packet delay, packet loss, packet reordering.

packet rescheduling, and the like. Similarly, various examples of the signal parameters include, but not limited to, signal strength, signal amplitude, and the like.
In another embodiment of the invention, the testing parameters can be pre-set for a test case. For example, if the tester selects the 'transact message', then the test-bed will automatically select the testing parameters, such as, bandwidth, signal strength, and so forth for 'transact message'.
In addition to receiving the network parameters and the signal parameters, user-interface 404 receives values that correspond to each of the network parameters and the signal parameters. An example of the corresponding values of the network parameters may include, but may not be limited to, 40kbps for bandwidth, 2 milliseconds for delay of packets, and the like. Similarly, various examples of the values corresponding to the signal parameters may include, but are not limited to, weak signal strength, strong signal strength, and the like. In an embodiment of the invention, the values corresponding to the network parameters and signal parameters are provided by the tester.
In another embodiment of the invention, the values corresponding to the network parameters and signal parameters can be predefined. For example, there may be pre¬set profiles, such as a tunnel profile, a roaming profile, a basement profile, and the like, in test-bed 108. If the tester wishes to test application 110 for the 'selected message' for the tunnel profile, test-bed 108 will automatically set a weak signal strength and low bandwidth in the tunnel profile. Similarly, the values for the various network parameters and signal parameters associated with the corresponding profiles can also be pre-set.
User-interface 404 communicates the network parameters and the signal parameters and their corresponding values associated with the selected message to coordination module 504- Thereafter, the messages are re-communicated between server 104 and wireless communication device 102 through test-bed 108. Kernel network module 510 monitors the re-communicated messages. Thereafter, kernel network module 510 identifies the selected message among the re-communicated messages and communicates the identification to coordination module 504.

Subsequently, coordination module 504 configures the signal parameters based on the values received from the tester and communicates the configured signal parameters to signal control module 506. Similarly, coordination module 504 communicates the network parameters and their corresponding values to network control module 508. Thereafter, network control module 508 configures the network parameters based on the values and communicates the configured network parameters to kernel network module 510.
Thereafter, the wireless network conditions are emulated by signal control module 506 and kernel network module 510 based on the configured signal parameters and the configured network parameters respectively. It may apparent to one skilled in the art that, configuration of the network parameters involve packet rescheduling, packet dropping, and so forth. Further, the emulated wireless network conditions are communicated to wireless communication device 102 through connector 502. It will be apparent to one skilled in the art that connector 502 transmits the emulated wireless network conditions through a transmitter or a transceiver embedded in test-bed 108. Furthermore, control module 406 interacts with connector 502 through hardware drivers.
In an embodiment of the invention, coordination module 504 also receives feedback on the emulated wireless network conditions based on the signal parameters from signal feedback module 512 embedded in wireless communication device 102. For example, if the tester wishes to test application 110 for a selected message in a pre¬defined range of signal parameters, such as, signal strength, then signal feedback module 512 constantly monitors the signal strength and provides the feedback for the signal strength to coordination module 504. If the signal strength deviates from the pre¬defined range, then coordination module 504 reconfigures the signal parameters and communicates the reconfigured signal parameters to signal control module 506. It will be apparent to one skilled in the art that coordination module 504 receives feedback on the signal parameters from signal feedback module 512 that is embedded in wireless communication device 102 through a receiver or a transceiver embedded in test-bed 108.

In an exemplary test-case, the tester selects 'transact message', and provides testing parameters such as bandwidth and signal strength. Further, the tester provides values such as '40kbps' and 'low' corresponding to bandwidth and signal strength. Further, the messages are then re-communicated between server 104 and wireless communication device 102, Thereafter, kernel network module 510 monitors the messages that are re-communicated between server 104 and wireless communication device 102. Further, as soon as kernel network module 510 identifies 'transact message', kernel network module 510 communicates the identification of'transact message' to coordination module 504. Subsequently, coordination module 504 configures signal strength as 'weak'. Further, coordination module 504 communicates the network parameters (bandwidth) and their corresponding value (40 kbps) to network control module 508. Network control module 508 then configures the bandwidth for wireless network 106 as 40 kbps.
Thereafter, signal control module 506 receives the configured signal strength from coordination module 504 and kernel network module 510 receives the configured bandwidth from network control module 508. Subsequently, signal control module 506 and kernel network module 510 emulate the wireless network conditions based on the 'weak' signal strength and bandwidth equivalent to 40kbps respectively. The tester, then tests application 110 for the 'transact message' in the emulated wireless network conditions. The tester observes the behavior of application 110, wherein application 110 may hang, or tries to reconnect with server 104, or requests for a new IP address, and so forth in the emulated wireless network conditions. Such observations made by the tester facilitate testing of application 110.
In an embodiment of the invention, network control module 508 and kernel network module 510 function, based on the TCP/IP protocol In another embodiment of the invention, network control module 508 and kernel network module 510 can function, based on the WAP protocol. In yet another embodiment of the invention, network control module 508 and kernel network module 510 can function based on OS! model protocol.
In another embodiment of the invention, the tester can test performance and behavior of application 110 for a selected message such as 'transact message', when

application 110 is moving out a first network provided by a first access point to a second network provided by second access point. Test-bed 108 emulates such a network condition by decreasing network coverage of the first network and increasing network coverage of the second network. Replication of such wireless network conditions is explained in detail in Indian Patent Application No. 539/CHE/2008.
In yet another embodiment of the invention, the testing conditions mentioned above can also be achieved by using two test-beds. The two test-beds interact with each other and emulate wireless network conditions, based on the testing parameters provided by the user. Emulation of wireless network conditions using two test-beds is explained in detail in Indian Patent Application No. 539/CHE/2008.
In an embodiment of the invention, testing can be performed for either the signal parameters or the network parameters, or a combination of both.
In another embodiment of the invention, user-interface 404, control module 406, coordination module 504, signal control module 506, network control module 508, kernel network module 510 and signal feedback module 512 can be implemented as software programs.
The method and test-bed mentioned above have a number of advantages. The method enables the tester to select a message for which an application can be tested. Further, the method enables the tester to provide various testing parameters. For example, if a tester wants to test the application for the emulated wireless network conditions such as, loss of connectivity, then the tester would want to test the application either when a message is sent to the server or received from the server. Thereby, the tester can select such a message from the one or more messages that are communicated between the application installed on the wireless communication device and the server. Thereby, the loss of connectivity can be emulated in order to check the behavior of the application at the selected message. Hence, the method enables the tester to select a finite set of messages and a finite set of testing parameters for which the application can be tested.

Further, the method enables the tester to test the application in the emulated wireless network conditions for a pre-defined period of time. The pre-defined period of time is based on the communication layers associated with the wireless communication device. Hence, the tester can define a finite set of pre-defined periods-of-time for each communication layer with their corresponding time-out value.
The method and test-bed for testing an application installed on a wireless communication device, as described in the present invention or any of its components, may be embodied in the form of a computer system. Typical examples of a computer system includes a general-purpose computer, a programmed microprocessor, a micro¬controller, a peripheral integrated circuit element, and other devices or arrangements of devices that are capable of implementing the steps that constitute the method of the present invention.
The computer system comprises a computer, an input device, a display unit and the Internet. The computer further comprises a microprocessor. The microprocessor is connected to a communication bus. The computer also includes a memory. The memory may include Random Access Memory (RAM) and Read Only Memory (ROM). The computer system further comprises a storage device. The storage device can be a hard disk drive or a removable storage drive such as a floppy disk drive, optical disk drive, etc. The storage device can also be other similar means for loading computer programs or other instructions into the computer system. The computer system also includes a communication unit. The communication unit allows the computer to connect to other databases and the Internet through an I/O interface. The communication unit allows the transfer as well as reception of data from other databases. The communication unit may include a modem, an Ethernet card, or any similar device which enables the computer system to connect to databases and networks such as LAN, MAN. WAN and the Internet, The computer system facilitates inputs from a user through input device, accessible to the system through I/O interface.
The computer system executes a set of instructions that are stored in one or more storage elements, in order to process input data. The storage elements may also hold

data or other information as desired. The storage element may be in the form of an information source or a physical memory element present in the processing machine.
The set of instructions may include various commands that instruct the processing machine to perform specific tasks such as the steps that constitute the method of the present invention. The set of instructions may be in the form of a software program. Further, the software may be in the form of a collection of separate programs, a program module with a larger program or a portion of a program module, as in the present invention. The software may also include modular programming in the form of object-oriented programming. The processing of input data by the processing machine may be in response to user commands, results of previous processing or a request made by another processing machine.
While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the invention as described in the claims.

We Claim:
1. A method for testing an application installed on a wireless communication device, the
wireless communication device communicating one or more messages to a server
through a test-bed over a wireless network, the wireless network being established
by the test-bed, the test-bed being connected to the server, the method comprising:
a. selecting at least one message of the one or more messages, the at least one
message being selected by a tester;
b. providing one or more testing parameters for the at least one message, the one or
more testing parameters being provided through the test-bed by the tester;
c. re-communicating the one or more messages to the server through the test-bed,
the one or more messages being re-communicated by the wireless
communication device;
d. emulating one or more wireless network conditions for a pre-defined period of time
on the identification of the at least one message by the test-bed. wherein the one
or more wireless network conditions are emulated by the test-bed based on the
one or more testing parameters; and
e. testing the application in the emulated wireless network conditions, the testing
being performed by the tester,
2. The method according to claim 1 further comprising providing one or more values corresponding to each of the one or more testing parameters, the one or more values being provided by the tester.
3. The method according to claim 2 further comprising configuring the one or more testing parameters based on the one or more values.
4. The method according to claim 2, wherein the one or more testing parameters comprises one or more network parameters.

5. The method according to claim 2, wherein the one or more testing parameters comprises one or more signal parameters.
6. The method according to claim 5 further comprising receiving feedback for at least one of the one or more signal parameters at the test-bed. the feedback being provided by the wireless communication device.
7. The method according to claim 1, wherein the pre-defined period of time is based on a time-out value associated with each of one or more communication layers associated with the wireless communication device.
8. The method according to claim 1, wherein the pre-defined period of time is provided by the tester.
9. A test-bed for testing an application installed on a wireless communication device, the wireless communication device communicating one or more messages to a server through the test-bed over a wireless network, the test-bed being connected to the server, the test-bed comprising:
a. a memory module configured for storing the one or more messages;
b. a user interface configured for:
i. selecting at least one message of the one or more messages; and
ii. receiving one or more testing parameters associated with the at least one message of the one or more messages;
c. a control module configured for emulating one or more wireless network
conditions based on the one or more testing parameters for a pre-defined period
of time, the one or more wireless network conditions being emulated on the
identification of the at least one message, wherein the at least one message is
identified by the control module while the one or more messages are re-
communicated from the wireless communication device to the server.

lO.The test-bed according to claim 9, wherein the control module comprises a kernel network module configured for monitoring the one or more messages.
11 .The test-bed according to claim 10. wherein the kernel network module is further configured for identifying the at least one message.
12.The test-bed according to claim 9, wherein the user interface is further configured for receiving one or more values corresponding to each of the one or more testing parameters.
13.The test-bed according to claim 12, wherein the control module comprises a coordination module, the coordination module configured for receiving the one or more testing parameters from the user-interface.
14.The test-bed according to claim 13, wherein the control module further comprises at least one signal control module, the at least one signal control module configured for emulating the one or more wireless network conditions based on one or more signal parameters received from the coordination module, the one or more signal parameters being the one or more testing parameters.
15 .The test-bed according to claim 14, wherein the coordination module is further configured for configuring the one or more signal parameters for the at least one signal control module, the one or more signal parameters being configured when the at least one message is identified.
16.The test-bed according to claim 13, wherein the control module further comprises at least one network control module, the at least one network control module configured for configuring one or more network parameters, wherein the one or more network parameters are received from the coordination module when the at least one message is identified, the one or more network parameters being the one or more testing parameters.
17.The test-bed according to claim 16, wherein the control module further comprises a kernel network module, the kernel network module configured for emulating the one

or more wireless network conditions based on the one or more configured network parameters.
18.The test-bed according to claim 9, further comprises at least one connector
configured for establishing a wireless network between the test-bed and the wireless communication device.
19.A computer program product for use with a computer, the computer program product comprising a computer usable medium having a computer readable program code embodied therein for testing performance of an application installed on a wireless communication device, the wireless communication device communicating one or more messages to a server through a test-bed over a wireless network, the wireless network being established by the test-bed, the test-bed being connected to the server, the computer readable code performing:
a. selecting at least one message of the one or more messages, the at least one
message being selected by a tester;
b. receiving one or more testing parameters for the at least one message, the one or
more testing parameters being provided through the test-bed by the tester;
c. re-communicating the one or more messages to the server through the test-bed,
the one or more messages being re-communicated by the wireless
communication device;
d. emulating one or more wireless network conditions for a pre-defined period of time
on the identification of the at least one message at the test-bed, wherein the one
or more wireless network conditions are emulated by the test-bed based on the
one or more testing parameters; and
e. testing the application in the emulated wireless network conditions, the testing
being performed by the tester.

20.The computer program code according to claim 19 further comprising the computer readable code for receiving one or more values corresponding to each of the one or more testing parameters, the one or more values being provided by the tester.
21The computer program product according to claim 20 further comprising the
computer readable code for configuring the one or more testing parameters based on the one or more values.
22.The computer program product according to claim 20, wherein the computer
readable program code further performs receiving feedback for at least one of one or more signal parameters by the test-bed, the feedback being provided by the wireless communication device, the one or more signal parameters being at least one of the one or more testing parameters.
23.The computer program product according to claim 19 further comprising the computer readable code for receiving the pre-defined period of time.

Documents

Application Documents

# Name Date
1 904-CHE-2008-AbandonedLetter.pdf 2019-05-06
1 Form5_As Filed_11-04-2008.pdf 2008-04-11
2 904-CHE-2008-FER.pdf 2018-11-02
2 Form3_As Filed_11-04-2008.pdf 2008-04-11
3 Form2 Title Page_Complete_11-04-2008.pdf 2008-04-11
3 Abstract_As Filed_11-14-2008.pdf 2016-12-22
4 Form1_As Filed_11-04-2008.pdf 2008-04-11
4 Claims_As Filed_11-14-2008.pdf 2016-12-22
5 Description Complete_As Filed_11-04-2008.pdf 2008-04-11
5 Correspondence by Agent_Form13_03-06-2015.pdf 2015-06-03
6 Form-1_After Form13_03-06-2015.pdf 2015-06-03
6 Correspondence by Agent_As Filed_11-04-2008.pdf 2008-04-11
7 Form18_Normal Request_06-10-2009.pdf 2009-10-06
7 Form13_Name of Applicant Change_03-06-2015.pdf 2015-06-03
8 Form2_After Form13_03-06-2015.pdf 2015-06-03
8 Correspondence by Agent_Form18_06-10-2009.pdf 2009-10-06
9 Form13_Address of service Change_12-01-2011.pdf 2011-01-12
9 Form13_Address of service Change_28-10-2009.pdf 2009-10-28
10 Form1_After Filing_12-01-2011.pdf 2011-01-12
10 Form26_General Power of Attorney_12-01-2011.pdf 2011-01-12
11 Form1_After Filing_12-01-2011.pdf 2011-01-12
11 Form26_General Power of Attorney_12-01-2011.pdf 2011-01-12
12 Form13_Address of service Change_12-01-2011.pdf 2011-01-12
12 Form13_Address of service Change_28-10-2009.pdf 2009-10-28
13 Correspondence by Agent_Form18_06-10-2009.pdf 2009-10-06
13 Form2_After Form13_03-06-2015.pdf 2015-06-03
14 Form13_Name of Applicant Change_03-06-2015.pdf 2015-06-03
14 Form18_Normal Request_06-10-2009.pdf 2009-10-06
15 Correspondence by Agent_As Filed_11-04-2008.pdf 2008-04-11
15 Form-1_After Form13_03-06-2015.pdf 2015-06-03
16 Correspondence by Agent_Form13_03-06-2015.pdf 2015-06-03
16 Description Complete_As Filed_11-04-2008.pdf 2008-04-11
17 Claims_As Filed_11-14-2008.pdf 2016-12-22
17 Form1_As Filed_11-04-2008.pdf 2008-04-11
18 Form2 Title Page_Complete_11-04-2008.pdf 2008-04-11
18 Abstract_As Filed_11-14-2008.pdf 2016-12-22
19 Form3_As Filed_11-04-2008.pdf 2008-04-11
19 904-CHE-2008-FER.pdf 2018-11-02
20 Form5_As Filed_11-04-2008.pdf 2008-04-11
20 904-CHE-2008-AbandonedLetter.pdf 2019-05-06

Search Strategy

1 imagetopdf_01-11-2018.pdf