Patent Document

PRIORITY CLAIM 
       [0001]    In accordance with 37 C.F.R. 1.76, a claim of priority is included in an Application Data Sheet filed concurrently herewith. Accordingly, the present invention claims priority under 35 U.S.C.§119(e), 120, 121, and/or 365(c) to U.S. provisional application No. 61/539,804 entitled “END TO END APPLICATION TESTING IN LIVE AND AUTOMATED MODE” filed on Sep. 27, 2011. The contents of which the above referenced application are incorporated herein by reference in its entirety. 
     
    
     FIELD OF INVENTION 
       [0002]    The present invention relates to mobile wireless communication devices and in particular to an end to end application automatic testing in live or emulated networks. 
       BACKGROUND OF THE INVENTION 
       [0003]    Traditionally mobile application tests are constrained to the higher level tests to understand application behavior on live or emulated networks. These tests gather the application functional behavior and results when they get exposed to different network conditions. 
         [0004]    What is lacking in the art is a method of end to end application automatic testing in live or emulated networks to understand the interactions between the application, device and network across all layers and analyze the root cause of failures or abnormal behaviors 
       SUMMARY OF THE INVENTION 
       [0005]    This invention describes remote management of end to end automated mobile application tests to be executed on the mobile devices that may be connected to network emulators or on live (real time) networks. This invention primarily relates to mobile data applications that need to connect to the packet data network over the radio network, and associated automated test systems and methods. 
         [0006]    The current invention is to have a method of having an end to end extraction of user actions, application behaviors, device state, and IP and radio layer messaging that can be centrally analyzed to understand the application impact on the network and device, as well as the application behavior for different network conditions. The application impact on the network could, for example, include excessive signaling level messages, high frequency connect and disconnect requests, transmitting duplicate information while there is no change of state, and others. 
         [0007]    The focus of this invention is to understand the interactions between the application, device and network across all layers automatically to further automatically analyze the root cause of failures or abnormal behaviors, as well as the impact of the application on the device and network. The application behaviors combined with message recordings can also be used by the automatic test execution platform to manage the emulated environment to replicate the real network and device conditions for remote automated testing. 
         [0008]    An objective of this invention is to understand the end to end mobile application behavior and its impact on the network by gathering detailed radio and packet level messaging information between the mobile device and the network. 
         [0009]    Yet still another objective of this invention is to include a presence feature which will enable the user to connect to multiple phones connected at different locations. The presence feature provides upon signup a tool to show all the connected users, and debug logs shall capture information about the users who are CONNECTED/DISCONNECTED states. 
         [0010]    Another objective of this invention is to support Peer to Peer communication and provide a tool that will automatically determine device type and location for further communication. 
         [0011]    Another objective of this invention is to provide a tool that will display if the phone is connected to the laptop displaying information about the remote phone/PC details, and capture the device screen and display on the tool. 
         [0012]    Yet another objective of this invention is to provide a macro editor with the ability to list macros, create new macros, edit current macros and delete unwanted macros. 
         [0013]    Other objectives, benefits and advantages of this invention will become apparent from the following description taken in conjunction with any accompanying drawings wherein are set forth, by way of illustration and example, certain embodiments of this invention. Any drawings contained herein constitute a part of this specification and include exemplary embodiments of the present invention and illustrate various objectives and features thereof. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0014]      FIG. 1  is block diagram of an automated end to end application test environment; 
           [0015]      FIG. 2  is a block diagram of the workflow controller; 
           [0016]      FIG. 3  is a block schematic of the server architecture; 
           [0017]      FIG. 4  is a block schematic of the toolbox module; 
           [0018]      FIG. 5  is a block schematic of the adapters module; 
           [0019]      FIG. 6  is a block schematic of the sync module; 
           [0020]      FIG. 7  is a block schematic of the workflow management system; and 
           [0021]      FIG. 8  is a block schematic of the scripting engine. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0022]    The disclosed invention requires a mobile device to be connected to live (real time) network or to an emulated network environment, tethered to a PC hosting the automated test executive platform, and preloaded with remote access control software (see  FIG. 1 ). The latter component enables the data gathering on the device and the remote access to the device to control the automated tests to be executed. The block diagram depicts an exemplary system of an Automated End-to-End Application Test environment to initiate and control tests, as well as collect the test results. The system consists of Test Management software  10 , Mobile Device under test  20 , Test Control Mobile Client  21 , Network Emulator  30  and the Internet  40 . 
         [0023]    The Test Control Mobile Client  21  is responsible to receive the requests from Test Management system and act on the requests locally on the mobile device. These requests may include initiation of a specific mobile application on the device, injection of key or user interface events on the Mobile Device  20 , and collection of device data or screen captures, etc. The Test Control Mobile Client  21  also transmits the data collected during the test to the Test Management system  10 . The interfaces between system components include: Device Control  11 —the interface to control test initiation and completion, and collection of results between the Test Management system  10  and the Mobile Device Under Test  20 . Emulator Control  12 —the interface from the Test Management system  10  to Network Emulator to control the test initiation and completion as well as collection of the test results. RF Link  22 —the radio interface between the Mobile Device  20  and the Network Emulator  30  where the RF conditions are controlled, and the radio and IP layer messages transported. IP Link  31 —the interface between the Network Emulator  30  and the Internet  40  where the IP traffic is transported. 
         [0024]    Referring to  FIGS. 2 and 3 , depicted is an exemplary system of an Automated End-to-End Application Test environment to initiate and control tests as well as collect the test results dynamically. The Test Management Software can be scaled to act like a Client Server Model or Standalone Model. In the client server model the server and client communicate via peer-to-peer connection. The server can communicate with any number of clients and sync. This model can be extended to control multiple devices at different locations based upon a workflow controller, sync and database.  FIG. 3  sets forth the server architecture  48  having three primary components: Adapters  50 , Toolbox  70  and Sync  90 . Workflow Management System  110  forms the core engine and constitutes a Scripting Engine  130 , Execution  140  and Report Generator  160 . 
         [0025]    Adapters  50  provide the right automation that is required to perform the task. There are two modes Live  52  and Emulated  54 . From Emulated  54 , a subset of Agilent  56 , Aeroflex  58 , R&amp;S  60  or Spirent  62  is selected. 
         [0026]    The Toolbox  70  contains the necessary tools to communicate and execute a function. It encompasses two libraries: Device driver library  72  and tool library  80 . The libraries are a collection of device drivers for different OS type used to communicate with the device. From the device driver library, a driver for the Android  74 , Window  76 , iPhone  78  or xyz  80  can be chosen. The tool library  80  is a collection of tools used to execute a command/function on the device. From the tool library  80 , voice call  82 , SMS  84 , Stress  86  or KPis  88  is selected. 
         [0027]    Sync module  90  configures the system for three different modes of operation. This module provides timing reference to the system when configured in Generator-Listener modes. Generator  92 , only the Server can be a generator for timing reference. Listener  94 , client listens to the Server Generator for timing reference. Standalone  96 , the system will be fully functional without any Server. 
         [0028]    Workflow Management System  110  forms the core engine and constitutes of a Scripting Engine  130 , Execution  140  and Report Generator  150 . The scripting engine  130  provides the framework for the user to perform a structured or non-structured script execution. It consists of two modules. A templates module  132  is a collection of pre-defined scripts  134  which will be executed as part of structured testing. An editor template  136  provides the user interface for creating/editing custom scripts. Consists of editor commands  138  to create/modify scripts. In execution, it simply executes the scripts/commands sent by the scripting engine. A report generator pulls the result from the execution engine and produces a report. 
         [0029]    The following steps are executed during automated application testing:
   1. Start Test   2. Establish Connection to Mobile Device and Test Control Mobile Application.   3. Establish Connection to Emulator and Initialize Settings.   4. Upon successful device connection, send request from Test Management to Mobile Device to initiate an application with user entry information.   5. Upon successful network emulator connection, send radio condition settings to Network Emulator.   6. Test Control Mobile Application initiates specific application requested and generates the user entry based on the information received from Test Management.   7. If application fails to start, Test Control captures the failure condition and reports back the information to the Test Management   8. Upon successful start of the Mobile Application, the internet connection is initiated.   9. The Network Emulator opens the internet connection for the mobile device.   10. If internet connection fails, then the failure condition is captured by the Test Control and reported back to the Test Management.   11. If the internet connection is successful, then the specific application request (e.g. file upload, video viewing, etc.) is executed through the Mobile Control.   12. During the Mobile Application execution, the snapshots of the data transfer size, device state (e.g. battery level, current draw, Signal strength, network information, etc.) are captured both on the mobile device and the network emulator.   13. During the execution of the automated application test the network and radio conditions are changed by the Test Management.   14. Upon submission of the device and emulator captured data, the Test Management computes the test specific key performance indicators, such as, application start success/failure, IP throughput distribution versus radio conditions, comparison of results against test thresholds to determine the overall test success and failure.   
 
         [0044]    Benefits of this invention are applicable across the mobile industry, specifically the testing groups across the mobile operators, device manufacturers, application developers, testing services, and content providers. These benefits include: 1) Accelerating root cause identification of performance issues and failures; 2) Isolating issue identification to network, device or application; 3 Identifying mobile applications or device conditions that are causing excessive network load; 4) Ability to emulate the observed behavior including the lower level network message transactions in automated environment to significantly reduce the troubleshooting time; 5) In a network emulated environment apply the Operator and Network constraints to measure the device and application behaviors and performance; 6) Manage the end to end test execution process from a single graphical user interface that manages the target mobile device, the applications on the device, the emulated radio network conditions, the simulated mobile services (e.g. IP Multi Media Services), and the connectivity to external internet; 7) Measure application impact on network where some of the measurements would include: connect and disconnect requests, data transmission frequency with no user interactions; upload and download payload traffic; duplicate data transmission, and background device application data transmission characteristics. 
         [0045]    It is to be understood that while a certain form of the invention is illustrated, it is not to be limited to the specific form or arrangement herein described and shown. It will be apparent to those skilled in the art that various changes may be made without departing from the scope of the invention and the invention is not to be considered limited to what is shown and described in the specification and any drawings/figures included herein. 
         [0046]    One skilled in the art will readily appreciate that the present invention is well adapted to carry out the objectives and obtain the ends and advantages mentioned, as well as those inherent therein. The embodiments, methods, procedures and techniques described herein are presently representative of the preferred embodiments, are intended to be exemplary and are not intended as limitations on the scope. Changes therein and other uses will occur to those skilled in the art which are encompassed within the spirit of the invention and are defined by the scope of the appended claims. Although the invention has been described in connection with specific preferred embodiments, it should be understood that the invention as claimed should not be unduly limited to such specific embodiments. Indeed, various modifications of the described modes for carrying out the invention which are obvious to those skilled in the art are intended to be within the scope of the following claims.

Technology Category: 5