
Using Django and JavaScript to implement Model-Based Performance Testing as a Service with the MBPeT tool Joana Martini Master of Science Thesis Supervisors: Adj. Prof. Dragos Truscan MSc. Tanwir Ahmad Software Engineering Laboratory Faculty of Science and Engineering Department of Information Technologies Åbo Akademi University May 2019 I ACKNOWLEDGMENTS I am deeply grateful to my supervisor Dragos Truscan for all your invaluable help with the project implementation and the writing process. Your feedback was always priceless and fundamental for achieving a successful thesis work. I would also like to thank Tanwir Ahmad for your assistance and guidance on all the questions I had. I must express my profound gratitude to my parents and my sister who have always been there for me. Without your endless love, support and encouragement, this achievement would not have been possible. You taught me everything, especially how to never give up. Thank you for guiding and inspiring me in life. My only wish is to make you as proud as possible. I love and miss you! I am also grateful to my boyfriend Olsi, for walking with me during the university path. Thank you for always being there and believing in me when I did not. Your overwhelming support and presence allowed me to overcome every difficulty I encountered during these years. I want to thank you for never losing hope and for bearing with me in my worst days. I love you every day more! Finally, I am thankful to my best friend Nino. You have always been the brother I never had. Thank you for listening and showing interest in everything I do, even without understanding much. Our conversations have been the nicest distractions from the thesis. I ABSTRACT The work behind the thesis consists of the implementation of Model-Based Performance Testing as a Service using an existing tool, named MBPeT. The current tool’s usage is achieved by the local installation and execution. The new system dismisses the user from this requirement and provides an online version where only Internet connection is demanded. The solution is also enriched with an interactive web application used to provide the data for executing the tests. We will mostly concentrate on the technologies behind the system, since using them is the key leading to a successful project. Three different fields are correlated together in the system implementation. Model-Based Performance Testing is an approach used for testing the performance of a given web application, thus software testing is one of the studied concepts. Web application and the technologies used for their development is the second theoretical notion. Deployment on the cloud is required for achieving the online availability of Model-Based Performance Testing. Therefore, cloud computing is the last field we will focus on. The practical section can be divided into two steps which can also be referred as the system’s goals. The first one relates to the implementation of the web application for the test data. Django is the technology used for the back-end side, while JavaScript is the focus in the front-end part. The second step affects the deployment on the cloud and the communication between the web application and the existing MBPeT tool. Its distributed architecture eases and benefits the cloud deployment. Among all cloud providers, Amazon Web Services was chosen for the implementation. The reasoning behind every choice is explained through the thesis with features and characteristics of the chosen technologies. To evaluate the fulfillment of the system’s requirements, the last step is to run experiments on a specific test case and validate how well they are accomplished. From the results, it can be determined what was successfully implemented and if the right choices were made. It can also be comprehended what needs to be improved as a future work and what changes are required to provide a better solution. Keywords: software testing, Model-Based Testing, performance testing, web application, JavaScript, Django, cloud computing, Software as a Service. II TABLE OF CONTENTS ACKNOWLEDGMENTS ........................................................................................................................... I ABSTRACT ................................................................................................................................................. II TABLE OF CONTENTS .......................................................................................................................... III LIST OF FIGURES .................................................................................................................................... V LIST OF TABLES ...................................................................................................................................... V LIST OF ABBREVIATIONS ................................................................................................................... VI 1. Introduction ......................................................................................................................................... 1 1.1 Problem Description ........................................................................................................................... 1 1.2 Goals ................................................................................................................................................... 2 1.3 Related Work ...................................................................................................................................... 3 1.4 Thesis Structure .................................................................................................................................. 3 2. Web applications ................................................................................................................................. 5 2.1 What is a Web Application? ............................................................................................................... 5 2.2 Principles of Web Applications .......................................................................................................... 5 2.3 Client-Server Architecture .................................................................................................................. 7 2.3.1 Client-Side Programming ............................................................................................................ 8 2.3.1.1 JavaScript .............................................................................................................................. 9 2.3.1.2 jQuery and AJAX.................................................................................................................. 9 2.3.2 Server-Side Programming .......................................................................................................... 10 2.3.3 MVC Architecture...................................................................................................................... 10 2.3.3.1 Django, a Python Web Framework ..................................................................................... 11 3. Cloud Computing .............................................................................................................................. 13 3.1 What is Cloud Computing? ............................................................................................................... 13 3.1.1 Features of Cloud Computing .................................................................................................... 14 3.1.2 Cloud as a Service ...................................................................................................................... 15 3.2 What does SaaS offer more than on-premises?................................................................................. 17 4. Software Testing ................................................................................................................................ 19 4.1 What is Software Testing? ................................................................................................................ 19 4.1.1 Why is it important to test the software? ................................................................................... 19 4.1.2 Testing at each Development Phase ........................................................................................... 20 III 4.2 Functional and Non-Functional testing ............................................................................................. 21 4.3 Model-Based Performance Testing ................................................................................................... 21 4.4 MBPeT Tool ..................................................................................................................................... 23 4.4.1 Tool Architecture ....................................................................................................................... 24 4.4.2 Implementation of tool’s functionalities .................................................................................... 27 5. Requirements for MBPeT as a Service ........................................................................................... 29 5.1 Project Requirements Specification .................................................................................................. 29 5.2 Functional Requirements .................................................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages81 Page
-
File Size-