Exjobbsförslag från företag

Detta är ett uppsatsförslag hämtat från Nationella Exjobb-poolen. Klicka här för att komma tillbaka till samtliga exjobbsförslag.

Förslaget inkom 2010-02-23

Web Application Build Management & Quality Assurance

JavaScript has become increasingly popular with the rise of web 2.0. Many of the largest sites in the world, such as Facebook, Amazon and Google, rely on it to provide a dynamic user experience. JavaScript is a dynamically typed scripting language which provides a very flexible environment for software developers. This flexibility, however, creates a dire need for a rigorous and fine-grained testing processes.
Accedo relies on Continuous Integration (CI) in the development of server-side modules. Vital parts of the CI process are to have the code base regularly built and to have it thoroughly tested using unit testing. This ensures the quality and general health of an application. Additionally, CI is often carried out in an automated manor in order to be able to detect any abnormalities as early on as possible. Today, there exists a wide range of tools supporting CI and related process for statically typed and compiled languages such as Java and .NET. These tools do, however, often neither support dynamic scripting languages, such as JavaScript, or mark-up, such as HTML, out of the box.
Additionally, Accedo works in a heterogeneous environment where a vast amount of IPTV STB platforms, browser implementations and versions paint a complex picture. An application may run fine in one environment but fail in another, even though these being seemingly identical. This creates the need to also be able to run tests on actual target platforms. In order to be able to do this in a cost-effective manor, this should be carried out as autonomously as possible.

The purpose of this thesis is three-folded:
* Investigate and implement a HTML/JavaScript dependency mechanism in order to be able to cater to a modular, re-usable code base
* Investigate and add HTML/JavaScript capabilities to the CI process deployed at Accedo. This involves general QA such as unit tests, estimation of test coverage, generation of documentation from source code and the estimation of source code quality
* Investigate and implement a distributed testing environment, where tests are additionally run on arbitrary clients. This will ensure that the QA process is able to assess code quality on a range of devices and browser implementations

A hypothetical build and test flow:
1.Dependencies are copied to the scope of the application to test
2.Code quality is measured
3.Unit tests are executed
4.A simulation of the application is executed in order to detect any obvious abnormalities
5.Test coverage is assessed
6.The application is submitted as a job to the master server of the distributed testing environment
7.The job is enqueued
8.When the job is due to execute, it is distributed among all connected clients
9.The clients report the result of the test run back to the master server
10.The master server aggregate a report and sends it back to the build and testing process
11.Documentation is generated from the source
12.A final build is created containing all necessary assets

If any of the steps fail from any reason, the build is to be aborted and the reason reported back to the operator.
Accedo is using standard open source tools such as Apache Maven for dependency management and build management, and Apache Continuum as continuous build server. The outcome of the thesis should be compatible with these tools.
The project is suitable for 1-2 thesis workers for 30 credits. Size can be adjusted to provide a suitable scope.

A person should be technically curious and driven to feel comfortable at Accedo Broadband. Additionally, a personal interest and drive for the technical development of consumer electronics and TV is greatly appreciated.
Applicants should be comfortable working with Java and using general software development techniques. Knowledge in JavaScript and HTML is meriting. If you have worked with Maven previously, that is of course also meriting.

About Accedo Broadband
Accedo Broadband is the leading provider of applications for IPTV and Connected TV. Accedo Broadband provides the largest available application store for IPTV and Connected TV containing, for example, IPTV games, quizzes, puzzles, video art, comics, karaoke, lifestyle, niche sports, weather, social media and communication services. Accedo's Funspot gaming service is the most widely deployed IPTV gaming service in the world.
Accedo is a privately held company founded by telecom and media entrepreneurs Michael Lantz and Fredrik Andersson primarily backed by Swedish VC Industrifonden. Accedo Broadband is head quartered in Stockholm, Sweden with branch offices in London, San Francisco and Hong Kong.
Accedo Broadband was named a winner of the Red Herring 100 Europe 2009, an award given to the top 100 private technology companies based in the EMEA (Europe, Middle East and Africa) region each year.


Informationen om uppsatsförslag är hämtad från Nationella Exjobb-poolen.