ABSTRACT The performance of an E-commerce application relies on various aspects. Apart from the quality of the E-commerce application itself, the factors which determine the performance of an E-commerce appplication are, system configuration, client configuration, network configuration, system load and database load. Performance testing of E-commerce applications is the discipline concerned with determining and reporting the current performance of an E-commerce application under various parameters. Performance testing covers various types of testing to provide information on the quality of the E-commerce application under test with regard to speed, scalability and stability characteristics. This research focuses only on the load testing of web servers which host E-commerce applications, mainly due to time and resource limitations. A study was done on existing web load test tools and OpenWebLoad was found suitable for this research because of its simplicity and also because it is an open source tool and it is free. Some simple forms were developed to set the test parameters and run the test. Additional features such as viewing of log information of tests and comparing the web servers which has been tested has been incorporated into OpenWebLoad. The new comparison feature of the tool would enable a developer to do a simple and straight forward real time load test on the web servers which is to host their E-commerce applications. A simulation of the real-life use of an E-commerce application is performed to assess how the application will work under actual conditions of use. The result of the test shows the amount of requests, response time and transactions per second of the web servers under various loads. As this is only a prototype tool, the scalability results of only two web servers can be compared. i
ACKNOWLEDGMENTS Firstly I would like to thank God for making me finish my prolonged dissertation. I would like to express my gratitude to my supervisor Assoc. Prof. Raja Noor Ainon Zabariah Raja Zainal Abidin, whose expertise, understanding, and patience, added considerably to my graduate experience. I would also like to thank my family for the support they have provided me throughout my entire life and in particular, I must acknowledge my husband Mr. Kishor Kumar, my father Mr.Thirumalai, mother Mrs.Rajamani and mother in law Mdm. Muthulakshmi, without whose love, encouragement and editing assistance, I would not have finished this dissertation. Lastly I would like to dedicate this dissertation to my wonderful kids Saillesh, Sharannya and to my, to be born baby who have been my inspiration to finish this dissertation amidst all the obstacles. ii
TABLE OF CONTENTS ABSTRACT i ACKNOWLEDGEMENTS ii TABLE OF CONTENTS iii LIST OF FIGURES vii LIST OF TABLES viii CHAPTER 1 : INTRODUCTION 1 1.1 RESEARCH MOTIVATION 2 1.2 RESEARCH OBJECTIVE 3 1.3 RESEARCH METHODOLOGY 4 1.3.1 DATA GATHERING AND ANALYSIS 4 1.3.2 DESIGN 5 1.3.3 DEVELOPMENT 5 1.3.4 EVALUATION 6 1.4 SIGNIFICANCE OF RESEARCH 6 1.5 SCOPE OF STUDY 7 1.6 ORGANIZATION OF THE DISSERTATION 7 CHAPTER 2 : LITERATURE REVIEW 10 2.1 E-COMMERCE 10 2.1.1 DIFFERENCE BETWEEN A WEB SITE AND AN E-COMMERCE SITE 11 2.2 IMPORTANCE OF E-COMMERCE 12 iii
2.3 UNDERSTANDING THE ARCHITECTURE OF E-COMMERCE APPLICATIONS 18 2.3.1 MULTI-TIERED ARCHITECTURE 21 2.4 PERFORMANCE TESTING FOR E-COMMERCE APPLICATION 23 2.4.1 LOAD AND SCALABILITY TESTING 25 2.4.2 STRESS TESTING 26 2.4.3 TEST PLAN FOR PERFORMANCE TESTING 28 2.5 PERFORMANCE TESTING TOOL FOR E-COMMERCE APPLICATIONS 30 2.6 WEB SERVER TESTING 32 2.7 WEB HOSTING SELECTION 34 2.8 CONCLUSION 36 CHAPTER 3 : REQUIREMENTS ANALYSIS AND SPECIFICATION 37 3.1 INTRODUCTION 37 3.2 LOAD TESTING TOOL FOR WEB SERVERS HOSTING E-COMMERCE APPLICATIONS 38 3.2.1 EXISTING WEB SERVER LOAD TEST TOOLS 39 3.2.1.1 OPENSTA 39 3.2.1.2 OPENWEBLOAD 42 3.2.1.3 WAPT 4.0 44 3.2.1.4 CONCLUSION 47 3.3 REQUIREMENTS FOR THE NEW TOOL 50 3.3.1 LOAD SIMULATION 50 3.3.2 REAL TIME TEST 51 3.3.3 WEB SERVER RESPONSE TIME AND TRANSACTIONS 51 3.3.4 RECORD INTO DATABASE 52 3.3.5 COMPARE TWO WEB SERVERS 52 3.3.5.1 DISPLAY LOG 52 3.3.5.2 DISPLAY GRAPH 52 3.4 REQUIREMENTS SPECIFICATION 53 iv
3.4.1 FUNCTIONAL SPECIFICATION 53 3.4.1.1 TEST LOAD 54 3.4.1.2 LOG INFORMATION 57 3.4.1.3 ANALYSIS GRAPH 58 3.4.2 NON FUNCTIONAL SPECIFICATION 60 CHAPTER 4 : SYSTEM DESIGN 61 4.1 LOAD TEST DESIGN 61 4.1.1 OPENWEBLOAD 61 4.2 GRAPHICAL USER INTERFACE DESIGN 69 4.3 DATABASE DESIGN 71 CHAPTER 5 : IMPLEMENTATION 72 5.1 IMPLEMENTATION LANGUAGE 72 5.2 IMPLEMENTATION OF WEB LOAD TEST TOOL 74 5.2.1 TEST LOAD 75 5.2.1.1 INTERGRATION OF THE NEW FEATURES WITH OPENWEBLOAD 77 5.2.2 LOG INFO 82 5.2.3 ANALYSIS GRAPH 83 CHAPTER 6 : TESTING AND EVALUATION 85 6.1 SYSTEM TESTING AND VALIDATION 86 6.1.1 TEST RESULTS 88 6.1.1.1 GLOBAT.COM 89 6.1.1.2 MAYBANK2U.COM.MY 91 6.1.1.3 EXABYTES.COM.MY 92 6.1.1.4 MERCUMAYA.NET 94 6.1.1.5 HILEYTECH.COM 96 6.1.1.6 WEBHOSTING.COM.MY 97 v
6.1.1.7 COMPARISON OF ALL THE WEBSITES TESTED 99 6.1.2 CONCLUSION 102 6.2 USER ACCEPTANCE 103 6.2.1 USER ACCEPTANCE TEST 104 6.2.1.1 STATISTIC DESCRIPTION OF THE RESULT 104 6.3 OBJECTIVES AND RESULT 108 CHAPTER 7 : CONCLUSION AND FUTURE FRAMEWORK 110 7.1 CONTRIBUTIONS 110 7.2 CRITICAL EVALUATION OF METHODS 111 7.3 FUTURE FRAMEWORK 111 APPENDIX A 113 APPENDIX B 121 REFERENCES 128 vi
LIST OF FIGURES Figure Title Page 2.1 Architecture of E-commerce Application 18 2.2 Multi-tiered architecture of an E-commerce application 21 3.1 User interface for OpenWebLoad 42 3.2 Client web server request and response 50 3.3 Data flow diagram for test load module 55 3.4 Use case diagram for Test Load component 56 3.5 Typical internet environment 57 3.6 Use case diagram for Log Information component 58 3.7 Use case diagram for Analysis Graph component 59 4.1 Top level components in OpenWebLoad 62 4.2 GUI design for test load module 69 4.3 GUI design for log information module 70 4.4 GUI design for log information module 70 5.1 WebLoad form 74 5.2 Parameters form 75 5.3 VB code for test load module 81 5.4 Log form 83 5.5 Load graph form 84 6.1 TTPS for globat.com 89 6.2 Average response time for globat.com 90 6.3 TTPS for maybank2u.com.my 91 6.4 Average response time for maybank2u.com.my 91 6.5 TTPS for exabytes.com.my 90 6.6 Average response time for exabytes.com.my 91 6.7 TTPS for mercumaya.net 94 6.8 Average response time for mercumaya.net 95 6.9 TTPS for hileytech.com 96 6.10 Average response time for hileytech.com 96 6.11 TTPS for webhosting.com.my 98 6.12 Average response time for webhosting.com.my 98 6.13 Comparison of TTPS 100 6.14 Comparison of Average response time 101 6.15 Users answer on the user friendliness of the tool 105 6.16 Users answer on the effectiveness of the tool 106 1 WebLoad form 115 2 Parameters form 116 3 Log form 119 4 Load graph form 120 vii
LIST OF TABLES Table Title Page 3.1 Comparison of opensta, OpenWebLoad and WAPT 4.0 48 4.1 List of fields for table history 71 5.1 Recommended duration for the amount of users 76 6.1 Configuration of machine used for the testing 88 6.2 Average TTPS and Average response time for globat.com 90 6.3 Average TTPS and Average response time for maybank2u.com.my 92 6.4 Average TTPS and Average response time for exabytes. com.my 94 6.5 Average TTPS and Average response time for mercumaya.net 95 6.6 Average TTPS and Average response time for hileytech.com 97 6.7 Average TTPS and Average response time for webhosting.com.my 99 6.8 Users suggestion to improve the tool 107 1 Recommended duration for the amount of users 117 viii