Article

Pairwise structural testing of object and aspect-oriented Java programs

XXI SBES 01/2007;

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.

Download full-text

Full-text

Available from: Paulo Masiero, May 13, 2014
    • "Its main focus is on structural and mutation testing. Regarding structural testing, the group has published studies on testing criteria based on source code for procedural languages (Chaim et al., 1989; Maldonado et al., 1992; Vergilio et al., 1992 Vergilio et al., , 1993 Vergilio et al., , 1994 Crespo et al., 1997; Vilela et al., 1999; Spoto et al., 2000; Hausen et al., 2006), aspect-oriented (Lemos et al., 2004; Masiero, 2005, 2007; Delamaro et al., 2007; Franchin et al., 2007; Lemos and Masiero, 2008; Ré et al., 2008), services (Eler et al., 2010), models (da Silva Simão et al., , 2007), test data generation (Vergilio et al., 1995; Nakazato et al., 1995; Bueno and Jino, 1999; Candolo et al., 2001; Araujo and Delamaro, 2008) and testing tools (Júnior et al., 1992; Borges et al., 1995; Chaim et al., 1998; Vilela et al., 1998; Li et al., 1999; dos Santos Domingues et al., 2002; Vincenzi et al., 2003; Nardi et al., 2005; Simão et al., 2005 ). As for mutation testing , this research group focus on devising testing criteria based on source code (Delamaro et al., 1993Delamaro et al., , 2001a Wong et al., 1994; Barbosa et al., 1998; Nakagawa and Maldonado, 1999; Vincenzi et al., 1999; da Silva Simão and Maldonado, 2001; Simão et al., 2002; Yano et al., 2003; Campanha et al., 2010) and models (Fabbri et al., 1994aFabbri et al., , 1995aFabbri et al., , 1997 do Rocio Senger de Souza and Maldonado, 1997; de Carvalho et al., 1999; Sugeta et al., 1999), Simão and Maldonado, 2000a,b, (da Silva Souza et al., 2001). "
    [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 have synthesized its 25-year history of research on software testing. Using information drawn from this overview we highlighted which software testing topics have been the most extensively surveyed in SBES literature. We have also devised a co-authorship network to depict the most prolific research groups and researchers. Moreover, by performing a citation analysis of the selected studies we have tried to ascertain the importance of SBES in a wider scenario. Finally, using the information extracted from the studies, we have shed light on the state-of-the-art of software testing in Brazil and provided an outlook on its foreseeable future.
    No preview · Article · Apr 2013 · Journal of Systems and Software
  • Source
    • "One of these tools is JaBUTi (Java Bytecode Understanding and Testing) [23]. Initially it was developed as a stand-alone to support structural unit and integration testing of Java and AspectJ programs [11] [16]. "
    [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.
    Full-text · Conference Paper · Oct 2009
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Resumo. Várias abordagens de teste focam o descobrimento de falhas em implementa oes de unidades de software. Um problema não tratado pelo teste de unidadé e a intera ao entre unidades, no que diz respeitò a corretude das interfaces. Em Programa ao Orientada a Aspectos, esse problemá e dificul-tado por mecanismos de conjuntos de jun ao, que definem interfaces implícitas no programa base. Neste trabalhó e apresentada uma abordagem de teste de integra ao estrutural baseada no mecanismo de conjuntos de jun ao para pro-gramas AspectJ. Um modelo chamado PCCF G (Pointcut-based Control Flow Graph e definido para representar regiões de execu ao afetadas por conjuntos de jun ao. Baseado nesse modelo, dois critérios de fluxo de controle para uma medida de cobertura transversal são propostos: todos-nós-de-adendo e todas-arestas-de-adendo. Como avalia ao preliminar da aplicabilidade e efetividade da abordagem proposta, os critérios são implementados em uma ferramenta de teste chamada JaBUTi/PC-AJ é e apresentado um exemplo de aplica ao. O exemplo mostra evidências da efetividade dos critérios quando comparados com critérios de teste de unidade. Abstract. Several testing approaches focus on finding faults in software units of implementation (i.e., unit testing). A problem not addressed by unit testing is the interaction among units, with respect to the correctness of their interfaces. With the use of Aspect-Oriented Programming this problem is further compli-cated by pointcut mechanisms that cut new interfaces in the base program. In this paper a structural integration testing approach for AspectJ programs is presented. A model called PCCF G (Pointcut-based Control Flow Graph) to represent the flow of control between base units and pieces of advice is defined. Based on the PCCF G, two control-flow criteria for a crosscutting coverage measure are defined: all-pointcut-based-advice-nodes and all-pointcut-based-advice-edges. As a preliminary evaluation of the feasibility and effectiveness of the proposed approach, an implementation of the criteria in an AspectJ testing tool (JaBUTi/PC-AJ) is presented along with an application example. The ex-ample shows evidence of the effectiveness of the pointcut-based criteria to find AO related faults compared to unit testing criteria.
    Full-text · Article · Jan 2008
Show more