230 likes | 412 Views
Final Year project - 2013. PTMA(Project Test Monkey Application) Test and deliver in a batter way. Word “ Client ” will refer to android module of PTMA. Word “ Downloader ” will refer to human/device who downloads, under development android’s application.
E N D
Final Year project - 2013 PTMA(Project Test Monkey Application) Test and deliver in a batter way.
Word “Client” will refer to android module of PTMA. Word “Downloader” will refer to human/device who downloads, under development android’s application. Word “Beta” will refer to beta release/application/version of under development android app “Front End” will refer to web module.
Team members This project carried out by following three members • YahyaArshad • MirzaBabar Baig • ZainAkhtar
What is project about? • This project is about test & deliver under development android’s application (Beta Releases) to Client/Tester/Downloader and defect tracking and logging and force downloader to fulfill pre-requirement of installation or defect logging. This project contains three major module. • Application Client for Android(For Downloaders) • Web Module (For Developers) • Backend (For Web and Android Module)
Application Client for Android(For Downloaders) • Downloader will install our software’s client to his android mobile, when he will open our Android’s client after successful authorization and authentication , A list of applications entitled to him will be displayed on his mobile from where he could select a version of particular application and install it. After installation his download status for that particular version of application will be updated to server, and will be visible to Developer that , particular downloader had installed this version of beta application. • After installing latest version of beta application downloader would able to log defect or comment about that version of beta application.
What problem it will solve • When developers/software houses want to deliver a beta release to tester/client they uploads installation file to some server and emails link to that file to client, Client downloads that application and give his/her response by email. • In all above process there is no way to track on which version of application he/she is reporting defect. • There is no way to track which version of beta release is running on client’s android mobile. • It is very insecure method to deliver beta release to client, any one can access that URL and download that beta release.
It requires client to first read email that new beta release is arrived than open his/her mobile browser and navigate to that URL. What if it was required to uninstall previous release before installing new release, there is no way to force him/her to uninstall previous version of beta release.
System/Hardware requirement • Internet • OS Windows/Linux/Mac OSX 10.7-10.8 • Hardware • 3GBRAM • 2GHZ Processor • 100GB Hard Disk
Web Module (For Developers) • Using front end of application a developer would able to upload beta application to server, after successful upload of beta application developer will be redirected to send notification page send notification page will display list of downloaders/group of downloaders which are entitled to download that particular application, developer will select downloaders using checkboxes and press send notification, After pressing send notification a push notification to “Client” will be sent using GCM. • Client will receive that push notification and will indicate Downloader that new beta release for an beta application is arrived that he/she could download.
Features of front end • Add entitled downloaders for particular application • Create groups of Downloaders • Upload new application • Send notification. • Status of downloads of beta release for any particular Downloader. • List of defects for any particular version of application • Submit response against any comment of Downloader. • Set pre-conditions for beta release(right now uninstall previous version is only condition)
Technology we used for front end • We used Java server pages for front end. • Used CSS for styling layouts.
Technology we used • Hibernate • Spring • Maven • Google Cloud Messaging Service • MySQL Server • Jetty Web Server • Android Asset Packaging Tool
Hibernate • Hibernate is an Object Relational Mapping Technology instead of thinking about table schema, we think about classes and relationship between classes. • Hibernate makes our application DBMS independent tool, in future if we want to switch our database to some other vendor we can switch with minimal changes.
Spring • Spring MVC a web technology framework we used it to implement web-end and security for our application, • Authorization and authentication for a user and URL access management is responsibility of Spring
Maven • Maven is project management tool, used to create architecture of application and compilation and downloading of dependent libraries from internet.
Google cloud messaging (GCM) • Well it is heart of our application which makes it unique from other application of similar types exist on internet. • When developer uploads new beta release to server she will send a notification to android client running on downloader’s android mobile that new data is available.