740 likes | 931 Views
Flash Project Surfing analyzing for mobile devices. הקדמה. משחקים ומשחקי תכנות. ADD. משחקים כמבחן לבינה מלאכותית התמודדות מול שחקנים אנושיים התמודדות מול יריבים ממוחשבים משחקי תכנות (Programming Games) השחקן - אנושי או ממוחשב? מקרה מבחן מעניין Robocode. Flash Project. Background
E N D
Flash Project Surfing analyzing for mobile devices הקדמה משחקים ומשחקי תכנות ADD • משחקים כמבחן לבינה מלאכותית • התמודדות מול שחקנים אנושיים • התמודדות מול יריבים ממוחשבים • משחקי תכנות (Programming Games) • השחקן - אנושי או ממוחשב? • מקרה מבחן מעניין • Robocode
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
NettGain™: QoE Enhancement NettGain Mobile Carrier GPRS/EDGE/UMTS/HSDPA Enterprise File Server Intranet Exchange Server GGSN (Gateway) Content Providers GW Video Games PDSN Internet Public Sites 1xRTT/1xEVDO/EVDO rev A
Background The Problem While processing internet data, NettGain 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 NettGain. • Examine internet sites content that were manipulated by NettGain.
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 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: • Retrieve tasks • Execute them • 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 NettGain. 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 UI Overview
PC Component UI Overview
PC Component UI Overview
PC Component UI Overview
PC Component UI Overview
PC Component UI Overview
PC Component UI Overview
PC Component UI Overview
PC Component UI Overview
PDA Component UI Overview
Symbian Component UI Overview
Flash Project Testing Brief Overview
Testing overview Unit Testing (PDA) • PDATestExecutor • A predefined task with (partially) known results based on previous calculations will be given to the ‘executeTask’ 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 ‘saveTask’ 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) • TaskManager • A predefined task will be sent as an argument to ‘enqueueDesignatedTask’ 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 - TestGetNextSubTask • A predefined Task file will be available for parsing, and will be given as input to the method. • An expected SubTask 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 - TestMakeResultChunk • A predefined ResultChunk will be given as input to the method • An expected ResultChunk 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 - TestHTMLDoc • 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 - requestTask • 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 - sendResultChunk • A predefined ResultChunk 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 -HttpGet • 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) CBrCtlSampleAppLoadEventObserver - TestHandleBrowserLoadEventL • 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.