Current problems and tools support for testing distributed systems
Le, Anh Thu
Testing is a critical activity in designing and implementing software and computer systems, especially distributed systems (Eickelmann & Richardson, 1996). In addition, validating distributed systems is a complex process, and it requires the knowledge of “the communication taking place and the order of communication messages exchanged between the individual components to avoid deadlocks or livelocks during runtime” (Ulrich, Zimmerer, Chrobok-Diening, 1999, p.2). This dissertation attempts to briefly emphasise the role of testing in distributed systems. In addition, it addresses few common issues in building distributed systems together with a number of solutions to these issues. The main focus of this dissertation is on three main features of distributed systems that often challenge the programmers and testers, which are concurrency, scalability, and fault tolerance. For the first two features, a number of open source testing tools are chosen to compare and contrast the strengths and weaknesses of each tool. A number of testing techniques are applied to show the importance of the third feature, namely, the fault tolerance. Besides, the importance of each feature is highlighted by testing a number of sample distributed systems.
Degree Name: Bachelor of Applied Science with Honours
Degree Discipline: Information Science
Keywords: distributed systems; Testing; validating distributed systems; concurrency; scalability; and fault tolerance
Research Type: Dissertation