4 research outputs found

    Validating Key-value Based Implementations of the Raft Consensus Algorithm for Distributed Systems

    Get PDF
    Distributed systems are a group of systems connected via a network, all working towards achieving a common goal. To achieve fault tolerance and reliability, all the systems should work towards achieving consensus. Paxos is the most widely used consensus algorithm since 2 or 3 decades, but the shift is now happening towards a new algorithm known as Raft. Raft is a consensus algorithm (paper published in the year 2014) which is easier to understand and works like Paxos in terms of fault tolerance and performance. Since Raft is new, there is a need for a tool that verifies systems built using the Raft algorithm. This project proposes the development of a tool that validates different key-value based implementations of Raft: Ckite, Libraft and Kayvee with each other, and compares the output to give a result if the implementations are correct or not. The validation is done based on various test cases that a distributed system is tested for

    Change Impact Analysis Based Regression Testing of Web Services

    Full text link
    Reducing the effort required to make changes in web services is one of the primary goals in web service projects maintenance and evolution. Normally, functional and non-functional testing of a web service is performed by testing the operations specified in its WSDL. The regression testing is performed by identifying the changes made thereafter to the web service code and the WSDL. In this thesis, we present a tool-supported approach to perform efficient regression testing of web services. By representing a web service as a directed graph of WSDL elements, we identify and gathers the changed portions of the graph and use this information to reduce regression testing efforts. Specifically, we identify, categorize, and capture the web service testing needs in two different ways, namely, Operationalized Regression Testing of Web Service (ORTWS) and Parameterized Regression Testing of Web Service (PRTWS). Both of the approach can be combined to reduce the regression testing efforts in the web service project. The proposed approach is prototyped as a tool, named as Automatic Web Service Change Management (AWSCM), which helps in selecting the relevant test cases to construct reduced test suite from the old test suite. We present few case studies on different web service projects to demonstrate the applicability of the proposed tool. The reduction in the effort for regression testing of web service is also estimated.Comment: Master of Technology Thesis, PDPM Indian Institute of Information Technology, Design and Manufacturing Jabalpur (2014

    Automating Regression Test Selection for Web Services

    Get PDF
    As Web services grow in maturity and use, so do the methods which are being used to test and maintain them. Regression Testing is a major component of most major testing systems but has only begun to be applied to Web services. The majority of the tools and techniques applying regression test to Web services are focused on test-case generation, thus ignoring the potential savings of regression test selection. Regression test selection optimizes the regression testing process by selecting a subset of all tests, while still maintaining some level of confidence about the system performing no worse than the unmodified system. A safe regression test selection technique implies that after selection, the level of confidence is as high as it would be if no tests were removed. Since safe regression test selection techniques generally involve code-based (white-box) testing, they cannot be directly applied to Web services due to their loosely-coupled, standards-based, and distributed nature. A framework which automates both the regression test selection and regression testing processes for Web services in a decentralized, end-to-end manner is proposed. As part of this approach, special consideration is given to the concurrency issues which may occur in an autonomous and decentralized system. The resulting synchronization method will be presented along with a set of algorithms which manage the regression testing and regression test selection processes throughout the system. A set of empirical results demonstrate the feasibility and benefit of the approach

    Scenario-Based Object-Oriented Test Frameworks for Testing Distributed Systems

    No full text
    Testing is difficult and expensive, and testing distributed system even more difficult due to issues such as interoperability, collaboration, synchronization, timing, and concurrency. A tester often needs to spend significant time in developing lengthy testing code to ensure that the System Under Test (SUT) is reasonably well tested. This paper proposes an Object-Oriented (OO) framework to test distributed system rapidly and adaptively by using scenario modeling, state modeling, verification patterns, design patterns, regression testing, ripple effect analysis, simulation, automated test execution, and remote testing using TCP/IP or SOAP. Finally, this paper uses a supply-chain example to illustrate the key concepts
    corecore