CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing.

Slides:



Advertisements
Similar presentations
Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
Advertisements

1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Version Control System (Sub)Version Control (SVN).
Implementation of an Android Phone Based Video Streamer 2010 IEEE/ACM International Conference on Green Computing and Communications 2010 IEEE/ACM International.
Chapter One The Essence of UNIX.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
Server-Side vs. Client-Side Scripting Languages
Remote Unit Testing Brian Pruitt-Goddard Alex Riordan.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Introduction to Web Database Processing
Background Info The UK Mirror Service provides mirror copies of data and programs from many sources all over the world. This enables users in the UK to.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Introduction to Web Interface Technology (CSE2030)
Milestone IV Brian Pruitt-Goddard Alex Riordan. Create, edit, open, execute small source files from your android phone against a remote server. Test Success!
SM3121 Software Technology Mark Green School of Creative Media.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Distributed Systems: Client/Server Computing
CGI Programming: Part 1. What is CGI? CGI = Common Gateway Interface Provides a standardized way for web browsers to: –Call programs on a server. –Pass.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Chapter 6: Hostile Code Guide to Computer Network Security.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
WebQuilt and Mobile Devices: A Web Usability Testing and Analysis Tool for the Mobile Internet Tara Matthews Seattle University April 5, 2001 Faculty Mentor:
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Web Based Applications
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Remote Unit Testing Milestone III Alex Riordan Brian Pruitt-Goddard.
Checking Network/Port Connectivity using Kaseya Agent Procedures Developed By: Emmanuel Giboyeaux Advisor : Dr. S. Masoud Sadjadi School of Computing and.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
What are Webservices?. Web Services  What are Web Services?  Examine important Web Services acronyms (UDDI, SOAP, XML and WSDL)  What are the benefits.
Android SMIL Messenger Presented By: Alex Povkov Brad Gardner Jeremy Spitzig Santiago Jamriska.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
1 Welcome to CSC 301 Web Programming Charles Frank.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Mtivity Client Support System Quick start guide. Mtivity Client Support System We are very pleased to announce the launch of a new Client Support System.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Technology Vocabulary By: Rakeysha Patterson. Search Engine  A computer program that searches documents, especially on the World Wide Web, for a specified.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Version Control and SVN ECE 297. Why Do We Need Version Control?
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
2/11/2007 NSL/SCS Development Jimmy Bonaiuto 2/26/2007.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
CSE 4939 Alex Riordan Brian Pruitt-Goddard. Design an interactive source control application that works between an android phone and a project located.
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Ben - Gurion University Department Of Communication Systems Engineering DNS For Cell Phones Yoav Peer, Eugene Volchek Instructor: Dr. Chen Avin.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Quick services Wala Amjad Faqeh. Computer engineering
Web Interface for Formatter
CA16R405 - Mobile Application Development (Theory)
Life Cycle Objectives By James Lee and Matt Higgins
Lab 2: Information Retrieval
CA16R405 - Mobile Application Development (Theory)
Presentation transcript:

CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing

Objective Development and implementation of an interactive mobile source control application, based on the Google Android development platform. Submit request Receive results This is where the magic happens! Send results back Get request Internet

Personal Motivations A chance to further familiarize ourselves with the Eclipse platform. A chance to analyze, understand, and implement a new program based on a framework we have never worked with before (Android SDK). Phone applications are becoming increasing popular as cell phones computing powers have drastically increased over the past few years. Interested in developing a client-server based program on our own.

Overview Features o Edit, upload, and execute small programs and files remotely from your phone. o Produce and send program's results back to your phone. o Allow more complex results to be saved to a log on the remote central server. Why? o Sometimes it is more convenient to write a small program from what you are carrying with you, rather than having to find a computer to run and execute it. o There already is an iPhone-exclusive SVN application. Android deserves something as useful.

Benefits The application will be appealing to unit testers – small programs with simple results (did test A pass/fail?) Have you ever been traveling in a car or train, or perhaps even in class, and suddenly the solution to a problem comes to your head? Simply take out your phone, write your program, and execute it. Or simply upload that file to your project's central repository if you do not want to execute it quite yet.

Development Platform Development environment: Eclipse 3.5 Platform/framework: Android 2.2 SDK Coded in: Java (We're sorry, C++) Android Emulator

Preliminary Design Client-side o Should be able to create, edit, open, and save small source files, as well as issue other common source- control commands such as commits and diffs acting on those files. o Should be able to configure server's address and other options such as preferred version control system, as well as logging options.

Preliminary Design (cont.) Server-side o Should be able to process requests from the client and send the desired results back: did the unit test pass or fail? Was there a difference in the last 2 versions of a file? o Should be able to run the programs stored on your computer, given a directory and file structure input from the client. o More complex results not suitable for a phone screen can optionally be saved to a log file for later viewing. You should also be able to view these on your phone if you don't mind scrolling through pages of output.

User Interface Client-side o Should be clean, simple, and responsive. o Will try to implement certain features such as syntax highlighting when editing programs, if time allows. Server-side o Simple window-based interface that allows you to set options and get the server running. o Creates a folder storing the test and its output to reference back to during future development

Timeline September-October o Define types of messages that will need to be sent; essentially mapping out a basic application-level protocol. o Develop the client and server back-ends. o Essentially get the client and server communicating with each other, with simple generic messages to be sent between each other. o Develop a preliminary testing strategy.

Timeline (cont.) October-November o Start implementing more complex parts of the protocol, the more complicated messages that will need to be sent. o Integrate other external requirements – hooking up software like your SVN system to the server-side program. o Begin working on the client and server front-ends. o Continue work on the testing strategy.

Timeline (cont.) November-December o Finish the back-ends and front-ends. o Finish the testing platform. o Tweak the program for efficiency and bugs. o Write the documentation for the program.

Questions/Comments? Well?