Pairwise structural testing of object and aspect-oriented Java programs


ABSTRACT Resumo. Em um trabalho recente, explorou-se o teste estrutural de unidade – tanto de métodos quanto de adendos – de programas Java orientados a obje-tos (OO) e a aspectos (OA). Um problema não tratado pelo teste de unidadé e a intera ao entre as unidades, no que diz respeitò a corretude das interfaces. Neste artigó e apresentada uma abordagem de teste de integra ao que estende a abordagem de teste de unidade apresentada anteriormente. Para que a ativi-dade de teste seja factível, em vez de considerar níveis arbitrários de chamadas de uma só vez, trata-se do teste de cada par de unidades. Um modelo para rep-resentar o fluxo de controle e de dados de pares de unidades de programas Java OO e OA chamado grafo PWDU (PairWise Def-Use e proposto juntamente com três critérios de teste. Uma implementa ao da abordagem utilizando como base a família de ferramentas de teste JaBUTi (Java Bytecode Understanding and Testing) juntamente com um exemplo de uso também são apresentados. Abstract. Most structural testing approaches are targeted at units of implemen-tation (i.e., unit testing). A problem that is not addressed by unit testing is the interaction among units, with respect to the correctness of their interfaces. We present a structural integration testing approach for object-oriented (OO) and aspect-oriented (AO) Java programs as an extension of a unit testing approach we have developed before. To make the activity feasible, instead of consider-ing arbitrary call depths, we address the testing of pairs of units. We propose a model called PWDU (PairWise Def-Use) graph to represent the control and data-flow of pairs of units. Based on the PWDU, three testing criteria are defined: all-pairwise-integrated-nodes, all-pairwise-integrated-edges (control-flow based criteria), and all-pairwise-integrated-uses (a data-flow based crite-rion). We also present the implementation of our approach as an extension to the Java Bytecode Understanding and Testing (JaBUTi) family of testing tools along with an example of usage.

1 Bookmark
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Web services are an emerging Service-Oriented Architecture technology to integrate applications using open standards based on XML. Software Engineering tools integration is a promising area since companies adopt different software processes and need different tools on each activity. Software engineers could take advantage of software engineering tools available as web services and create their own workflow for integrating the required tools. In this paper, we propose the development of testing tools designed as web services and discuss the pros and cons of this idea. We developed a web service for structural testing of Java programs called JaBUTiService, which is based on the stand-alone tool JaBUTi. We also present an usage example of this service with the support of a desktop front-end and pre prepared scripts. A set of 62 classes of the library Apache-Commons-BeanUtils was used for this test and the results are discussed.
    33rd Annual IEEE Software Engineering Workshop, SEW 2009, Skövde, TBD, Sweden, 13-14 October, 2009; 01/2009
  • [Show abstract] [Hide abstract]
    ABSTRACT: Over the past 25 years the Brazilian Symposium on Software Engineering (SBES) has evolved to become the most important event on software engineering in Brazil. Throughout these years, SBES has gathered a large body of studies in software testing. Aimed at providing an insightful understanding of what has already been published in such event, we synthesized its rich 25-year history of research on software testing. Using information drawn from this overview we attempted to highlight which types of study have been the most applied for conveying software testing efforts. We also devised a co-authorship network to obtain a bird's-eye view of which research groups and scholars have been the most prolific ones. Moreover, by performing a citation analysis of the selected studies we set out to ascertain the importance of SBES in a wider scenario. Finally, borne out by the information extracted from the studies, we shed some light on the state-of-the-art of software testing in Brazil and provide an outlook on its foreseeable future.
    Software Engineering (SBES), 2011 25th Brazilian Symposium on; 10/2011
  • [Show abstract] [Hide abstract]
    ABSTRACT: Several testing approaches focus on finding faults in software units of implementation. A problem not addressed by unit testing is the interaction among units, with respect to the correctness of their interfaces. In this paper a structural integration testing approach for Object-Oriented (OO) and Aspect-Oriented (AO) Java programs is presented. To make the activity more feasible, we address the testing of pairs of units (i.e., methods and pieces of advice). A model called PWDU (PairWise Def-Use) graph to represent the flow of control and data between pairs of units is proposed. Based on the PWDU, the following family of testing criteria is defined: all-pairwise-integrated-nodes (control-flow based), all-pairwise-integrated-edges (control-flow based), and all-pairwise-integrated-uses (data-flow based). To evaluate the proposed approach, an implementation of the criteria in a testing tool is presented along with an example of usage and an exploratory study. The study with 7 AO programs that are also OO was conducted to investigate the cost of application and usefulness of the approach. Results provided evidence that the criteria are practical and useful for integration testing of OO and AO programs.
    Science of Computer Programming 01/2009; · 0.57 Impact Factor

Full-text (2 Sources)

Available from
May 27, 2014