6 research outputs found
State aware test case regeneration for improving web application test suite coverage and fault detection
This paper introduces two test cases regeneration approaches for web applications, one uses standard Def-Use testing but for state variables, the other uses a novel value-aware dataflow approach. Our overall approach is to combine requests from a test suite to form client-side request sequences, based on dataflow analysis of server-side session variables and database tables. We implemented our approach as a tool SART (State Aware Regeneration Tool) and used it to evaluate our proposed approaches on 4 real world web applications. Our results show that for all 4 applications, both server-side coverage and fault detection were statistically significantly improved. Even on relatively high quality test suites our algorithms improve average coverage by 14.74% and fault detection by 9.19%. © 2012 ACM
Testing Data Transformations in MapReduce Programs
MapReduce is a parallel data processing paradigm oriented to process large volumes of information in data-intensive applications, such as Big Data environments. A characteristic of these applications is that they can have different data sources and data formats. For these reasons, the inputs could contain some poor quality data that could produce a failure if the program functionality does not handle properly the variety of input data. The output of these programs is obtained from a number of input transformations that represent the program logic. This paper proposes the testing technique called MRFlow that is based on data flow test criteria and oriented to transformations analysis between the input and the output in order to detect defects in MapReduce programs. MRFlow is applied over some MapReduce programs and detects several defect
ASSINATURA DO TESTE ESTRUTURAL (ATE) - MÉTRICA BASEADA EM TESTE FLUXO DE DADOS E ANÁLISE DE MUTANTES SIGNATURE OF THE STRUCTURAL TEST (SST) - METRIC BASED ON DATA FLOW TEST AND MUTANT ANALYSIS
The structural test makes it possible to guarantee the quality of the software by analyzing the source code. In this sense, this paper presents a new method of structural testing with the application of data flow testing and mutant analysis techniques. It is an arithmetic model called Signature of the Structural Test (SSt), which receives parameters such as variables, operands, operators and commands, determines a metric with the objective of detecting possible semantic and logical errors between the definitions of variables and their uses, such as also, reducing the test paths in the data graph and the mutants generated. The result was favorable to the continuation of the research with other testsand guidance for the construction of an appropriate tool.O teste estrutural possibilita garantir a qualidade do software pela análise do código fonte. Nesse sentido, este trabalho apresenta um novo método de teste estrutural com a aplicação das técnicas teste fluxo de dados e análise de mutantes. Trata-se de um modelo aritmético intitulado Assinatura do Teste Estrutural (AtE), que recebe parâmetros como variáveis, operandos, operadores e comandos, determina uma métrica com objetivos de detectar possíveis erros semânticos e lógicos entre as definições de variáveis e seus usos, como também, reduzir os caminhos de testes no grafo de dados e os mutantes gerados. O resultado mostrou-se favorável à continuação da pesquisa com outros ensaios edirecionamento para construção de ferramenta apropriada
A Study of Equivalent and Stubborn Mutation Operators using Human Analysis of Equivalence
Though mutation testing has been widely studied for more than thirty years, the prevalence and properties of equivalent mutants remain largely unknown. We report on the causes and prevalence of equivalent mutants and their relationship to stubborn mutants (those that remain undetected by a high quality test suite, yet are non-equivalent). Our results, based on manual analysis of 1,230 mutants from 18 programs, reveal a highly uneven distribution of equivalence and stubbornness. For example, the ABS class and half UOI class generate many equivalent and almost no stubborn mutants, while the LCR class generates many stubborn and few equivalent mutants. We conclude that previous test effectiveness studies based on fault seeding could be skewed, while developers of mutation testing tools should prioritise those operators that we found generate disproportionately many stubborn (and few equivalent) mutants
Utilizing Output in Web Application Server-Side Testing
This thesis investigates the utilization of web application output in enhancing automated server-side code testing. The server-side code is the main driving force of a web application generating client-side code, maintaining the state and communicating with back-end resources. The output observed in those elements provides a valuable resource that can potentially enhance the efficiency and effectiveness of automated testing. The thesis aims to explore the use of this output in test data generation, test sequence regeneration, augmentation and test case selection. This thesis also addresses the web-specific challenges faced when applying search based test data generation algorithms to web applications and dataflow analysis of state variables to test sequence regeneration. The thesis presents three tools and four empirical studies to implement and evaluate the proposed approaches: SWAT (Search based Web Application Tester) is a first application of search based test data generation algorithms for web applications. It uses values dynamically mined from the intermediate and the client-side output to enhance the search based algorithm. SART (State Aware Regeneration Tool) uses dataflow analysis of state variables, session state and database tables, and their values to regenerate new sequences from existing sequences. SWAT-U (SWAT-Uniqueness) augments test suites with test cases that produce outputs not observed in the original test suite’s output. Finally, the thesis presents an empirical study of the correlation between new output based test selection criteria and fault detection and structural coverage. The results confirm that using the output does indeed enhance the effectiveness and efficiency of search based test data generation and enhances test suites’ effectiveness for test sequence regeneration and augmentation. The results also report that output uniqueness criteria are strongly correlated with both fault detection and structural coverage and are complementary to structural coverage