Flash Project Background Reminder The Company Flash Networks
Flash Project Background (Reminder)
The Company Flash Networks § Flash Networks enables mobile operators to deliver the best possible user experience for mobile data over advanced cellular networks. § Flash Networks focuses on Quality of Experience and Maximizes Profitability for Mobile Data Carriers § Company Site: www. flashnetworks. com
Nett. Gain™: Qo. E Enhancement GPRS/EDGE/UMTS/HSDPA Enterprise File Server Intranet Exchange Server GGSN Content Providers (Gateway) GW PDSN Video Nett. Gain Mobile Carrier Games Internet Public Sites 1 x. RTT/1 x. EVDO/EVDO rev A ACCELERATING THE ADOPTION OF MOBILE DATA proprietary & confidential 4
Background The Problem While processing internet data, Nett. Gain causes irreversible changes to data before it reaches mobile device. Those changes sometimes cause quality & reliability issues and deteriorate surfing experience instead of improving it. Therefore, there is a need for a robust system that will perform variety tests in order to map all above issues and inform the results to development and QA teams.
Flash Project System Requirements Brief overview
System Requirements Main Goal § Analyze Internet surfing performance using mobile devices over cellular network that uses Nett. Gain. § Examine internet sites content that were manipulated by Nett. Gain.
System Requirements Mobile Component § Bandwidth and network identification • Communication Initialization § Task Acquisition • Acquires the task file for the mobile to perform § Task Execution • Executes all subtasks in the task that was acquired § Task Results Delivery • Delivers the results back to the PC component
System Requirements PC Component § Task Builder • Constructs task templates and stores them § Task Control Center • Assignment of tasks and management of designated tasks. § Analysis & Statistics • Presents graphical statistical results based on data gathered from mobile devices.
Flash Project System Architecture
System Architecture
System Architecture and Technologies: ACCELERATING THE ADOPTION OF MOBILE DATA proprietary & confidential 12
System Architecture Definitions
System Architecture PC Component Access to the PC component is done via the web (web application). Includes 2 major parts : § § Web Application - composed of sub components: • Task & result handling – enables retrieval of tasks by mobile devices and receiving result files from them. • User Interaction – By using the internet and regular web browser the user can enable/disable working tasks, create new template tasks and designating them, View statistics and control the system Database – stores the data for future usage and restore purposes.
System Architecture Mobile Component This component will: 1. Retrieve tasks 2. Execute them 3. Deliver the results to the PC Component. In order to obtain the task goal, the PC component will need to compare data that will be collected by the Mobile with and without Nett. Gain. The mobile components divided into two types: • Nokia Cellular (Symbian OS) • PDA (Windows Mobile OS).
Components Responsibilities – PDA - Nati B. , Ilya M. – Nokia - Ronen B. , Roy K – PC - All
Flash Project Main Classes & Relationships
Main Classes PC Component
Main Classes PDA Component
Main Classes Symbian Component
Flash Project User Interface Overview
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PC Component U I Ov e r v i e w
PDA Component U I Ov e r v i e w
Symbian Component U I Ov e r v i e w
Flash Project Testing Brief Overview
Testing overview Unit Testing (PDA) § PDATest. Executor • A predefined task with (partially) known results based on previous calculations will be given to the ‘execute. Task’ method • Test executor will execute all subtasks within it. • The collected results will be compared to known correct results
Testing overview Unit Testing (PDA) § PDAXMLhandler • A predefined result chunk will be given to the XML handler. • It will parse it into XML format. • Parse result will be compared to expected parse format of the given result chunk.
Testing overview Unit Testing (PDA) § PDACommunicator • A task will be put in web server’s task queue, designated to that specific mobile. • Task will be pulled by communicator. • Downloaded task will be compared with original task that was in the queue.
Testing overview Unit Testing (PC) § DBFacade • A task template will be given to ‘save. Task’ method. • DB façade will save the task template in the DB. • Task template will be pulled from the DB and will be compared to initially given one
Testing overview Unit Testing (PC) § Task. Manager • A predefined task will be sent as an argument to ‘enqueue. Designated. Task’ method. • Task will be enqueued to the task queue. • Task queue size has been increased by one, and the last task on queue is the given task.
Testing overview Unit Testing (Symbian) § XMLParser - Test. Get. Next. Sub. Task • A predefined Task file will be available for parsing, and will be given as input to the method. • An expected Sub. Task class will be compared to the output of the method • If they are equal test passes. Else – test fails.
Testing overview Unit Testing (Symbian) § XMLParser - Test. Make. Result. Chunk • A predefined Result. Chunk will be given as input to the method • An expected Result. Chunk file (as XML string) will be compared to the output of the method • If they are equal , test passes – else – test fails.
Testing overview Unit Testing (Symbian) § XMLParser - Test. HTMLDoc • A predefined HTML document will be given as input to the method • The expected result of links and images will be given for comparison • If they are equal , test passes – else – test fails.
Testing overview Unit Testing (Symbian) Communicator - request. Task • A predefined link for retrieval of the task file will be given. • The communicator should retrieve the result file from the link. • An expected Task will be compared to the output of the method. • If they are equal , test passes – else – test fails.
Testing overview Unit Testing (Symbian) Communicator - send. Result. Chunk • A predefined Result. Chunk will be given to the method. • The communicator will be configured to a predefined address. • The test passes if the method returns "true".
Testing overview Unit Testing (Symbian) Communicator - Http. Get • A predefined link with known errors (or known number of links and images) will be given to the method. • The result will be matched against a the known parameters (in a file).
Testing overview Unit Testing (Symbian) CBr. Ctl. Sample. App. Load. Event. Observer Test. Handle. Browser. Load. Event. L • A few premade "sites" will be given to the browser to invoke an event for the observer. • The observer should create a relevant result file • The output result file will be compared to an expected result file. • If they are equal, test passes – else – test fails.
Testing overview Integration Testing (Mobile) § Tasks will be given to Mobile component to see how it handles them. § We’ll start with simple task files (few type of tests & few sub tasks), which are put inside the mobile device, let it parse each, and perform the execution of the sub tasks. § We’ll examine the results, to see if they are logical, and fit the given sub tasks. § Gradually we’ll give the mobile more & more complicated tasks with more types of tests.
Testing overview Integration Testing (PC) § Task template will be created, mobile devices will be registered. § Templates and mobile devices will be pulled from db in order to see if they were stored correctly. They will be combined together into designated tasks, and put in the queue. § We’ll examine if the queue handles all enqueued tasks correctly.
Testing overview Integration Testing (All) § Designated Task will be put in the Task queue in the PC component targeted to a specific mobile device that is included in out test. § The mobile device should pull the given task file, execute it, and send back the results to the PC component. § After all results have arrived to the PC component we’ll examine them to their correctness. § We’ll perform this test several times, then use statistics engine to check if they it computes & analyze them correctly.
Flash Project Task List Brief Overview
Tasks List Task ID 1 Task Name Browsers Research Estimated Start Date 16/10/2006 Actual Start Date 16/10/2006 Estimated End Date 31/10/2006 Actual End Date 31/10/2006 Brief Description Research of Open Source / Free browsers for supported platforms. Sub Tasks 1. 1. Symbian OS browsers research 1. 2. Windows Mobile browsers research
Tasks List Task ID 2 Task Name Proof of Concept Estimated Start Date 31/10/2006 Actual Start Date 05/11/2006 Estimated End Date 05/12/2006 Actual End Date 05/12/2006 Brief Description Implement small program proving it is possible to take control over the browser and “catch” its events per need Sub Tasks 2. 1. Symbian OS platform. 2. 2. Windows Mobile platform.
Tasks List Task ID 3 Task Name My. SQL Database Design and Implementation Estimated Start Date 06/12/2006 Actual Start Date 06/12/2006 Estimated End Date 09/12/2006 Actual End Date 10/12/2006 Brief Description Design database scheme according to the application needs. Sub Tasks N/A
Tasks List Task ID 4 Task Name PC Component Data Layer Design & Implementation Estimated Start Date 10/12/2006 Actual Start Date 12/12/2006 Estimated End Date 20/12/2006 Actual End Date 21/12/2006 Brief Description Design of basic data classes ( e. g. Sub. Task, Test, Result. Chunk etc. ) Sub Tasks N/A
Tasks List Task ID 5 Task Name Defining Tests Estimated Start Date 20/12/2006 Actual Start Date 20/12/2006 Estimated End Date 30/12/2006 Actual End Date 30/12/2006 Brief Description Define tests that should be implemented ( e. g. measuring website loading time, bytes received/transmitted, links count etc. ) Sub Tasks N/A
Tasks List Task ID Task Name 6 Mobile Component Prototype implementation Estimated Start Date 30/12/2006 Actual Start Date 03/01/2007 Estimated End Date 12/03/2007 Actual End Date - Brief Description Design and implement mobile-side application that should be able to perform most of functional requirements. Sub Tasks 6. 1. Symbian OS ( Nokia ) component implementation - XMLHandler implementation - Communicator implementation - Test Execution implementation 6. 2. Windows Mobile component implementation - XMLHandler implementation - Communicator implementation - Test Execution implementation
Tasks List Task ID 7 Task Name Web Server Prototype Estimated Start Date 15/02/2007 Actual Start Date 20/02/2007 Estimated End Date 02/03/2007 Actual End Date 07/03/2007 Brief Description Sub Tasks Design and implement web server that should accept connections, upload/download results/tasks to/from Mobile devices. 7. 1. Install and configure working environment ( Apache web server with PHP & My. SQL support ). 7. 2. Implement functionality.
Tasks List Task ID 8 Task Name Web Server GUI Design & Implementation Estimated Start Date 13/03/2007 Actual Start Date - Estimated End Date 15/04/2007 Actual End Date - Brief Description Web server complete implementation. Sub Tasks N/A
Tasks List Task ID 9 Task Name System Integration Estimated Start Date 15/04/2007 Actual Start Date - Estimated End Date 15/05/2007 Actual End Date - Brief Description Integration of the mobile components with PC component + database integration. Sub Tasks 9. 1. Symbian Component integration. 9. 2. Windows Mobile Component integration.
Tasks List Task ID 10 Task Name System Testing/Debugging Estimated Start Date 15/05/2007 Actual Start Date - Estimated End Date 06/06/2007 Actual End Date - Brief Description Integration of the mobile components with PC component + database integration. Sub Tasks 9. 1. Symbian Component integration. 9. 2. Windows Mobile Component integration.
Flash Project
Flash Project BACKUP
Complete Task. List
PC Component – Main Classes Description DB Facade • Acts like a gate to all accesses to PC component DB. • Use to perform queries on DB, as well as to store new data into it. Task Manager • Handles all missions related to designating new tasks & taking care of existing ‘live’ task • Taking care of creating new task templates. • Contains tasks queue in which it enqueues new designated tasks to be dequeued later • Manages all task statuses: enqueue, pause, cancel, etc. • Communicates with the mobile devices, sends tasks, receives acknowledges for sent ite Result Manager • Handles the result chunks received from the mobile devices. • Gathers result chunks to task result and save that result to the DB • Sends acknowledgment for each received chunk back to the mobile device. Task Designation GUI • Receives inputs from the user regarding the content of the new designated task. • Sends the received information to the business logic layer in order to process the request • Previews the new designated task
PDA Component – Main Classes Description PDAXMLHandler • Should parse Task file and create tests to execute • Should encode to progress file to be sent to PC component PDATest. Executor • Within given tests list, should execute them one by one using Web. Control. Operator • and save progress/final results to xml result file. PDAWeb. Control • Internet Explorer Mobile Browser Control used to navigate and fire events. PDACommunicator • Will handle all network related missions: dial up, hang up, file transmissions, task puller, etc. PDAWeb. Control. Operator • Uses Web. Control (via IEMobile API) in order to perform navigation to requested • URLs, catches Web. Controls fired events and reacts accordingly. PDApp. GUI • GUI for representation
Symbian Classes CBr. Ctl. Sample. App. Container § Contains all the web browser observers § Embeds the web browser view into the GUI. CBr. Ctl. Sample. App. Load. Event. Observer § Observer that handles load events of the web browser. § Handles: • start of URL loading • end of loading a URL
Symbian Classes Browser. Bridge § Bridges (Bridge Design pattern) between the browser control and the outer application. XMLParser § Parses the task files that are received from the PC component. § Parses HTML documents. § Manipulates and creates result files.
Symbian Classes Communicator § uses HTTP Request commands. • Retrieves the task files. • Sends result files • Performs many of the tests of the given tasks – Such as: error detection, number of images, links, etc…
System Requirements Non Functional Requirements § Application Language • English § Two types of mobile components • Symbian and Windows mobile 5 based § Test Results • Graphically displayed
PDA Component U I Ov e r v i e w
Testing overview Testing Non-Functional Req. § Speed – We’ll put heavy tasks in the task queue, and see if there’s a time out of 5 minutes for task running period. § Capacity • Connection will be made to the web server simultaneously from 2 different clients, to see if it reacts properly. • We’ll use up to 10 different mobile devices, put tasks for all of them, and see if the web server can handle all of them successfully. § Availability & Stability – We’ll operate our system for 72 hours continuously to verfiy it’s stability.
- Slides: 74