Font Size: a A A

The Design And Implementation Of The Performance Test Data Management System PerfHub

Posted on:2015-07-03Degree:MasterType:Thesis
Country:ChinaCandidate:Y GongFull Text:PDF
GTID:2308330461958363Subject:Engineering
Abstract/Summary:PDF Full Text Request
High quality of software has to be guaranteed by normal and continuous tests. As an important step in tests which is not allowed to ignore, performance tests need to be repeated during the iterative software development process in most cases to check whether adding or modifying functions influences the performance of products. In Stubhub of eBay Inc., results data of tests, such as page load time, usually has a fixed format. Comparing results of each iteration cycle manually may cause low efficiency and mistakes. An intelligent data platform is needed to help testers manage results of performance tests uniformly.This project is named as the PerfHub. The system is aimed at providing a data platform to store all kinds of performance tests results which are achieved by performance testers of Stubhub in different phases. Those results will be located after classifying. Data trend is presented by drawing charts, in which way showing performance level changes intuitively. The main functions of the system include collection and presentation of test results. Data collection is based on the classification of different tests. It mainly comes from manual uploading through ordinary pages, providing REST services and the instant PPT performance test. Data presentation mainly includes data tables, drawing charts, online reports and the editable experience summary section.This paper is organized around the implementation of the PerfHub system. It firstly introduces the background of the project as well as technologies and theories used in the development process of the project, including the Sinatra framework, the Highcharts library, REST Service, the PostgreSQL database, the Page Phase Time algorithm and the Play framework. Then it uses use case diagrams and related descriptions to analyze the system’s requirements. It also describes function design with the system function diagram. Based on that, this paper introduces the architectural design of the system. It is divided into 3 parts, including the Sinatra part, the Play part and the data storage part. For the Sinatra part, the View part uses Haml, while the chart drawing part uses the Highcharts, which is a JavaScript library, to achieve it. The Model part uses the toolkit Sequel to complete Object-Relation Mapping with tables in the database. The Controller part is declared as HTTP methods. They handle normal requests and provide REST services as well. However, considering that the Ruby can’t meet the high demand of screenshots frequency in the instant performance test, the PPT part is pulled out from the Sinatra. While the Highcharts is still used to draw charts, the rest part is implemented with the Play Framework in Java. The Sinatra part and the PPT part are combined together only on the front end.In the detailed design part, this paper mainly introduces design plan of data collection and presentation modules in the Sinatra part, as well as the PPT module of the Play part. It also describes changes made to the Page Phase Time algorithm and the design of table structures in the database. Finally, with example code and effect pictures, this paper explains the deployment and implementation of the system, including configuration of the Nginx server, the Sinatra and the Play framework, the structure of the file system, and the implementation of data collection and presentation in kinds of ways. Its description focuses on the parsing process of the uploading data, writing REST services, implementing adjusted PPT algorithm, drawing charts by invoking Highcharts APIs, and using the Editable components of Bootstrap to implement the effect of what you see is what you get.After the practical application, the system makes it convenient for performance testers to manage results of performance tests uniformly. It also provides a platform for colleagues in other teams to get in touch with performance tests. They can find out how their changes to the project influence the product’s performance. They can also use it to study performance tests related theory and technology. At the same time, the system integrates other performance test tools in the navigation way. It performs the duties as the Enterprise Dashboard, which simplifies performance testers’daily work.
Keywords/Search Tags:performance test, data platform, Sinatra, Play, Highcharts, Page Phase Time
PDF Full Text Request
Related items