22 research outputs found

    Relational Constraint Driven Test Case Synthesis for Web Applications

    Full text link
    This paper proposes a relational constraint driven technique that synthesizes test cases automatically for web applications. Using a static analysis, servlets can be modeled as relational transducers, which manipulate backend databases. We present a synthesis algorithm that generates a sequence of HTTP requests for simulating a user session. The algorithm relies on backward symbolic image computation for reaching a certain database state, given a code coverage objective. With a slight adaptation, the technique can be used for discovering workflow attacks on web applications.Comment: In Proceedings TAV-WEB 2010, arXiv:1009.330

    Metadata Extraction in Database Testing

    Get PDF
    The need for an automated testing tool to test the correctness of the database applications is crucial in our current day since databases play an important role in almost all organizations. Also, database’s behavior need to be verified in order to avoid costly errors and false information being extracted from them. The main aim of this paper was to create a component-based tester called DBSoft that tests the correctness of database application systems. The DBSoft toolkit consists of five tools as follows: information collection with the Parser tool, test case generation with the Input Generator tool, test case implementation with the Output Generator tool, test case validation with the Output Validator tool and report generation with the Report Generator tool

    A Unit Test Approach for Database Schema Evolution

    Get PDF
    Context: The constant changes in today’s business requirements demand continuous database revisions. Hence, database structures, not unlike software applications, deteriorate during their lifespan and thus require refactoring in order to achieve a longer life span. Although unit tests support changes to application programs and refactoring, there is currently a lack of testing strategies for database schema evolution. Objective: This work examines the challenges for database schema evolution and explores the possibility of using various testing strategies to assist with schema evolution. Specifically, the work proposes a novel unit test approach for the application code that accesses databases with the objective of proactively evaluating the code against the altered database. Method: The approach was validated through the implementation of a testing framework in conjunction with a sample application and a relatively simple database schema. Although the database schema in this study was simple, it was nevertheless able to demonstrate the advantages of the proposed approach. Results: After changes in the database schema, the proposed approach found all SELECT statements as well as the majority of other statements requiring modifications in the application code. Due to its efficiency with SELECT statements, the proposed approach is expected to be more successful with database warehouse applications where SELECT statements are dominant. Conclusion: The unit test approach that accesses databases has proven to be successful in evaluating the application code against the evolved database. In particular, the approach is simple and straightforward to implement, which makes it easily adoptable in practice

    Testing of Databases

    Get PDF

    SQLMutation: A tool to generate mutants of SQL database queries

    Full text link

    The test data challenge for database-driven applications

    Full text link
    Business applications rely typically on databases for storing and processing their data (database-driven applications, or DBAPs). Testing DBAPs requires testing the application logic plus the interaction between the application logic and the database. Thus, DBAP test cases consist of input and output parameter values, the function to be tested, and an initial database state (i.e., DBAP test data). Various test data provisioning methods exist, such as manual test data design, generators for synthetic test data, and live-system snapshots. Many criteria and factors influence which method is optimal for a given project setting, such as costs, quality, data privacy, etc. This paper presents our methodology for guiding software development projects towards the DBAP test data provisioning method best suited for them

    Multi-dimensional criteria for testing web services transactions

    Get PDF
    Web services (WS) transactions are important in order to reliably compose distributed and autonomous services into composite web services and to ensure that their execution is consistent and correct. But such transactions are generally complex and they require longer processing time, and manipulate critical data. Thus various techniques have been developed in order to perform quality assessment of WS transactions in terms of response time efficiency, failure recovery and throughput. This paper focuses on the testing aspect of WS transactions - another key quality issue that has not been examined in the literature. Accordingly it proposes multi-dimensional criteria for testing the WS transactions. The proposed criteria have the potential to capture the behaviour of WS transactions and to analyse and classify the possible (failure) situations that effect the execution of such transactions. These criteria are used to generate various test cases and to provide (WS transactions) ! tester with flexibility of adjusting the method in terms of test efforts and effectiveness. The proposed criteria have been designed, implemented and evaluated through a case study and a number of experiments have been performed. The evaluation shows that these criteria have the capability to effectively generate test cases for testing WS transactions as well as enable tester to decide on the trade-off between test efforts and the quality
    corecore