Spelling suggestions: "subject:"deste dde programas"" "subject:"deste dee programas""
1 |
Contribuindo para a avaliação do teste de programas concorrentes: uma abordagem usando benchmarks / Evaluating the testing of concurrent programs: an approach using benchmarksDourado, George Gabriel Mendes 18 November 2015 (has links)
O teste de programas concorrentes é uma atividade que envolve diferentes perspectivas. Uma das mais conhecidas refere-se ao desenvolvimento de novos conhecimentos sobre critérios, modelos e ferramentas de teste que auxiliem o testador nessa atividade. Outra perspectiva, igualmente importante, porém, ainda incipiente, é a avaliação da atividade de teste de programas concorrentes com relação à sua eficiência e eficácia para revelar defeitos de difícil detecção. O projeto TestPar em desenvolvimento no ICMC/USP tem abordado essas duas perspectivas ao longo dos últimos anos, onde novas tecnologias de teste vêm sendo desenvolvidas e avaliadas sistematicamente. Este trabalho inseriu-se no contexto do projeto TestPar e teve por objetivo principal contribuir para melhorar a avaliação da atividade de teste de programas concorrentes, através do desenvolvimento de benchmarks específicos para este contexto. Essa avaliação representa um desafio para a área de teste, sendo essencial a existência de benchmarks simples o bastante para serem validados manualmente, se necessário, e complexos o bastante para exercitar aspectos não triviais de comunicação e sincronização, encontrados de fato nos programas concorrentes. Assim, neste trabalho de mestrado foram desenvolvidos benchmarks livres de defeitos conhecidos e algumas versões de benchmarks com defeitos intencionalmente inseridos, baseados em taxonomias de defeitos. Esses benchmarks seguiram uma série de características bem definidas, contando ainda com uma documentação padronizada e completa. Os benchmarks foram validados através da condução de estudos experimentais, do uso em diferentes projetos de pesquisa e também com a verificação da sua aplicabilidade para fins educacionais. Os resultados obtidos demonstram que os benchmarks atingiram os objetivos para os quais foram propostos, gerando uma demanda controlada e qualificada sobre modelo, critérios e a ferramenta de teste desenvolvidos no projeto TestPar. Os experimentos realizados permitiram destacar pontos positivos e limitações desses artefatos. Outra aplicação dos benchmarks foi como recurso educacional para o ensino em disciplinas como programação concorrente. / The testing of concurrent programs is an activity that involves distinct perspectives. One of the most known refers to the development of new knowledge about criteria, models and testing tools to support this activity. Other perspective, as important as the first one and still incipient, is the evaluation of the testing activity of concurrent programs with respect to its efficiency and effectiveness in revealing errors hard to detect. The TestPar project under development at ICMC/USP has addressed both these two perspectives over the past years, where new testing technologies are being proposed and evaluated systematically. This project belongs to the context of the TestPar project, aiming to improve the evaluation of the testing activity of concurrent programs through the development of benchmarks specific for this context. This evaluation represents a challenge to the testing area, which must consider benchmarks simple enough to be validated manually, if necessary, but also complex enough to exercise not trivial aspects of communication/synchronization, found in programs used indeed. Thus, in this work it were developed bug-free benchmarks and some versions of faulty benchmarks with bugs inserted, based on error taxonomies. These benchmarks followed a series of well-defined features, including also a standardized and complete documentation. Benchmarks were validated by means of diferent scenarios: experimental studies, their use by different on-going research projects and also with the verification of their applicability for educational aims. The results obtained show that our benchmarks have achieved their objectives, generating a controlled and qualified demand on model, criteria and the tool developed under TestPar project. The experiments reveal strengths and limitations of these artifacts. Benchmarks have been also used as educational resources for the teaching of concurrent programs.
|
2 |
Estudo sobre adaptação de critérios de teste de programas concorrentes para o teste de integração de sistemas robóticos móveis / Study about adaptation of the concurrent programs testing criteria for integration testing of mobile robotic systemsSantos, Marcos Pereira dos 23 March 2016 (has links)
A definição de abordagens de teste de software no contexto de sistemas embarcados críticos é de fundamental importância para a melhoria de qualidade desses sistemas. Este projeto de mestrado concentra-se essencialmente na área de robôs móveis que são sistemas críticos. O mapeamento das técnicas de teste dos programas tradicionais para sistemas robóticos móveis não é trivial, pois é necessário considerar as características inerentes a esses sistemas, as quais incluem comunicação, sincronização, não determinismo e paralelismo. Esses sistemas são formados por diferentes componentes, como sensores, atuadores e softwares de controle, os quais se comunicam, em geral, por meio de troca de mensagens. Nesse sentido, este projeto visa aproveitar a experiência adquirida pelo grupo de pesquisa do ICMC/USP com a proposição de critérios e ferramentas de teste para programas concorrentes, para o contexto de teste de integração de sistemas robóticos móveis. Assim, neste estudo é apresentado um comparativo sobre as similaridades e diferenças presentes em programas concorrentes e sistemas robóticos móveis com objetivo de auxiliar na adaptação dos critérios de teste. Dois estudos de caso foram conduzidos nos quais os critérios propostos para programas concorrentes foram aplicados a sistemas robóticos desenvolvidos em ROS. Como resultados, observou-se os critérios de teste são capazes de testar adequadamente aspectos de comunicação e sincronização de sistemas robóticos, contribuindo com a qualidade desses sistemas. / The definition of software testing approaches for the context of critical embedded systems is of fundamental importance for the quality improvement of these systems. This masters project focuses primarily in mobile robot area that are critical systems. The mapping of traditional testing techniques for robotic mobile systems is not trivial, because it is necessary to consider the characteristics of these systems, which include communication, synchronization, non-determinism and parallelism. These systems present different components such as sensors, actuators and control software, which communicate, usually by exchanging messages. In this sense, this project aims to use on the experience gained by the research group of the ICMC/USP with the of the concurrent program testing criteria for the integration testing of the mobile robotic systems. In this study we present a comparison of the similarities and differences present in concurrent programs and mobile robotic systems in order to assist in adapting the testing criteria. Two case studies were conducted in which the proposed concurrent program testing criteri were applied to robotic systems developed in ROS. As a result, there was the testing criteria are able to properly testing aspects of communication and synchronization of robotic systems, contributing to the quality of these systems.
|
3 |
Estudo e definição de mecanismos para redução do custo de aplicação do teste de programas concorrentes / Study and design of mechanisms to reduce the cost of appying the test of concurrent programsMachado, Mario Cesar da Cunha 13 April 2011 (has links)
Programas concorrentes possuem características que os diferenciam de programas sequenciais, tornando a atividade de teste mais complexa. Questões como definição e uso de variáveis por diferentes processos, comunicação, sincronização e comportamento não-determinístico precisam ser consideradas. Apesar dos avanços obtidos nesse contexto, um problema que ainda persiste é o custo da atividade de teste, relacionado principalmente ao número excessivo de elementos requeridos a serem testados. Neste contexto, este trabalho apresenta duas propostas: a primeira estática, focando na detecção automática de elementos requeridos não-executáveis, para os critérios relacionados a sincronizações; e a segunda dinâmica, aplicando-se o teste de alcançabilidade para apoiar a avaliação da cobertura de sequências de sincronizações, desse modo, usando informações dinâmicas para apoiar o teste de cobertura. Estas propostas foram implementadas na ferramenta ValiMPI e um experimento foi realizado a fim de verificar a eficácia da proposta. Os resultados indicam que as duas propostas implementadas neste trabalho são promissoras e auxiliam a reduzir o custo da atividade de teste / Concurrent programs present new features, such as: nondeterminism, concurrency, synchronization and communication. These features need to be considered during testing activity, making this activity more complex. Despite the results achieved in this context, a problem that still remains is the application cost of the testing, especially the cost related to the high number of required elements generated by the test criteria proposed to concurrent programs. In this context, this work presents two contributions: the first one using a static approach, automatically detecting non-executable elements related to synchronization between process; and the second one using a dynamic approach, applying reachability testing to support the coverage evaluation of the executed sequences, reducing the number of executed sequences and the number of test cases. These contributions were implemented in the ValiMPI tool and experiments were conducted to evaluate them. The results indicate that these contributions can improve the concurrent program testing, reducing the application cost of the testing activity
|
4 |
Contribuindo para a avaliação do teste de programas concorrentes: uma abordagem usando benchmarks / Evaluating the testing of concurrent programs: an approach using benchmarksGeorge Gabriel Mendes Dourado 18 November 2015 (has links)
O teste de programas concorrentes é uma atividade que envolve diferentes perspectivas. Uma das mais conhecidas refere-se ao desenvolvimento de novos conhecimentos sobre critérios, modelos e ferramentas de teste que auxiliem o testador nessa atividade. Outra perspectiva, igualmente importante, porém, ainda incipiente, é a avaliação da atividade de teste de programas concorrentes com relação à sua eficiência e eficácia para revelar defeitos de difícil detecção. O projeto TestPar em desenvolvimento no ICMC/USP tem abordado essas duas perspectivas ao longo dos últimos anos, onde novas tecnologias de teste vêm sendo desenvolvidas e avaliadas sistematicamente. Este trabalho inseriu-se no contexto do projeto TestPar e teve por objetivo principal contribuir para melhorar a avaliação da atividade de teste de programas concorrentes, através do desenvolvimento de benchmarks específicos para este contexto. Essa avaliação representa um desafio para a área de teste, sendo essencial a existência de benchmarks simples o bastante para serem validados manualmente, se necessário, e complexos o bastante para exercitar aspectos não triviais de comunicação e sincronização, encontrados de fato nos programas concorrentes. Assim, neste trabalho de mestrado foram desenvolvidos benchmarks livres de defeitos conhecidos e algumas versões de benchmarks com defeitos intencionalmente inseridos, baseados em taxonomias de defeitos. Esses benchmarks seguiram uma série de características bem definidas, contando ainda com uma documentação padronizada e completa. Os benchmarks foram validados através da condução de estudos experimentais, do uso em diferentes projetos de pesquisa e também com a verificação da sua aplicabilidade para fins educacionais. Os resultados obtidos demonstram que os benchmarks atingiram os objetivos para os quais foram propostos, gerando uma demanda controlada e qualificada sobre modelo, critérios e a ferramenta de teste desenvolvidos no projeto TestPar. Os experimentos realizados permitiram destacar pontos positivos e limitações desses artefatos. Outra aplicação dos benchmarks foi como recurso educacional para o ensino em disciplinas como programação concorrente. / The testing of concurrent programs is an activity that involves distinct perspectives. One of the most known refers to the development of new knowledge about criteria, models and testing tools to support this activity. Other perspective, as important as the first one and still incipient, is the evaluation of the testing activity of concurrent programs with respect to its efficiency and effectiveness in revealing errors hard to detect. The TestPar project under development at ICMC/USP has addressed both these two perspectives over the past years, where new testing technologies are being proposed and evaluated systematically. This project belongs to the context of the TestPar project, aiming to improve the evaluation of the testing activity of concurrent programs through the development of benchmarks specific for this context. This evaluation represents a challenge to the testing area, which must consider benchmarks simple enough to be validated manually, if necessary, but also complex enough to exercise not trivial aspects of communication/synchronization, found in programs used indeed. Thus, in this work it were developed bug-free benchmarks and some versions of faulty benchmarks with bugs inserted, based on error taxonomies. These benchmarks followed a series of well-defined features, including also a standardized and complete documentation. Benchmarks were validated by means of diferent scenarios: experimental studies, their use by different on-going research projects and also with the verification of their applicability for educational aims. The results obtained show that our benchmarks have achieved their objectives, generating a controlled and qualified demand on model, criteria and the tool developed under TestPar project. The experiments reveal strengths and limitations of these artifacts. Benchmarks have been also used as educational resources for the teaching of concurrent programs.
|
5 |
Estudo sobre adaptação de critérios de teste de programas concorrentes para o teste de integração de sistemas robóticos móveis / Study about adaptation of the concurrent programs testing criteria for integration testing of mobile robotic systemsMarcos Pereira dos Santos 23 March 2016 (has links)
A definição de abordagens de teste de software no contexto de sistemas embarcados críticos é de fundamental importância para a melhoria de qualidade desses sistemas. Este projeto de mestrado concentra-se essencialmente na área de robôs móveis que são sistemas críticos. O mapeamento das técnicas de teste dos programas tradicionais para sistemas robóticos móveis não é trivial, pois é necessário considerar as características inerentes a esses sistemas, as quais incluem comunicação, sincronização, não determinismo e paralelismo. Esses sistemas são formados por diferentes componentes, como sensores, atuadores e softwares de controle, os quais se comunicam, em geral, por meio de troca de mensagens. Nesse sentido, este projeto visa aproveitar a experiência adquirida pelo grupo de pesquisa do ICMC/USP com a proposição de critérios e ferramentas de teste para programas concorrentes, para o contexto de teste de integração de sistemas robóticos móveis. Assim, neste estudo é apresentado um comparativo sobre as similaridades e diferenças presentes em programas concorrentes e sistemas robóticos móveis com objetivo de auxiliar na adaptação dos critérios de teste. Dois estudos de caso foram conduzidos nos quais os critérios propostos para programas concorrentes foram aplicados a sistemas robóticos desenvolvidos em ROS. Como resultados, observou-se os critérios de teste são capazes de testar adequadamente aspectos de comunicação e sincronização de sistemas robóticos, contribuindo com a qualidade desses sistemas. / The definition of software testing approaches for the context of critical embedded systems is of fundamental importance for the quality improvement of these systems. This masters project focuses primarily in mobile robot area that are critical systems. The mapping of traditional testing techniques for robotic mobile systems is not trivial, because it is necessary to consider the characteristics of these systems, which include communication, synchronization, non-determinism and parallelism. These systems present different components such as sensors, actuators and control software, which communicate, usually by exchanging messages. In this sense, this project aims to use on the experience gained by the research group of the ICMC/USP with the of the concurrent program testing criteria for the integration testing of the mobile robotic systems. In this study we present a comparison of the similarities and differences present in concurrent programs and mobile robotic systems in order to assist in adapting the testing criteria. Two case studies were conducted in which the proposed concurrent program testing criteri were applied to robotic systems developed in ROS. As a result, there was the testing criteria are able to properly testing aspects of communication and synchronization of robotic systems, contributing to the quality of these systems.
|
6 |
Estudo e definição de mecanismos para redução do custo de aplicação do teste de programas concorrentes / Study and design of mechanisms to reduce the cost of appying the test of concurrent programsMario Cesar da Cunha Machado 13 April 2011 (has links)
Programas concorrentes possuem características que os diferenciam de programas sequenciais, tornando a atividade de teste mais complexa. Questões como definição e uso de variáveis por diferentes processos, comunicação, sincronização e comportamento não-determinístico precisam ser consideradas. Apesar dos avanços obtidos nesse contexto, um problema que ainda persiste é o custo da atividade de teste, relacionado principalmente ao número excessivo de elementos requeridos a serem testados. Neste contexto, este trabalho apresenta duas propostas: a primeira estática, focando na detecção automática de elementos requeridos não-executáveis, para os critérios relacionados a sincronizações; e a segunda dinâmica, aplicando-se o teste de alcançabilidade para apoiar a avaliação da cobertura de sequências de sincronizações, desse modo, usando informações dinâmicas para apoiar o teste de cobertura. Estas propostas foram implementadas na ferramenta ValiMPI e um experimento foi realizado a fim de verificar a eficácia da proposta. Os resultados indicam que as duas propostas implementadas neste trabalho são promissoras e auxiliam a reduzir o custo da atividade de teste / Concurrent programs present new features, such as: nondeterminism, concurrency, synchronization and communication. These features need to be considered during testing activity, making this activity more complex. Despite the results achieved in this context, a problem that still remains is the application cost of the testing, especially the cost related to the high number of required elements generated by the test criteria proposed to concurrent programs. In this context, this work presents two contributions: the first one using a static approach, automatically detecting non-executable elements related to synchronization between process; and the second one using a dynamic approach, applying reachability testing to support the coverage evaluation of the executed sequences, reducing the number of executed sequences and the number of test cases. These contributions were implemented in the ValiMPI tool and experiments were conducted to evaluate them. The results indicate that these contributions can improve the concurrent program testing, reducing the application cost of the testing activity
|
7 |
Teste estrutural de integração par-a-par de programas orientados a objetos e a aspectos: critérios e automatização / Pairwise integration structural testing of object- and aspect-oriented programs: criteria and automationFranchin, Ivan Gustavo 19 April 2007 (has links)
Uma abordagem de teste estrutural de integração par-a-par para programas OO e OA escritos em Java e AspectJ é apresentada. A finalidade dessa abordagem é descobrir defeitos que possam existir na interface entre os pares de unidades que se relacionam em um programa. Para programas OO este tipo de teste envolve testar a interação entre os pares de métodos. Já para programas OA, o teste estrutural de integração par-a-par envolve testar a interação entre os seguintes pares de unidades: método-método, método-adendo, adendo-método e adendo-adendo. Para efetuar o teste estrutural de integração par-a-par deve-se considerar todo o fluxo de execução (fluxo de controle e de dados) que ocorre entre a unidade chamadora e a unidade chamada. Para isso é definido o grafo Def-Uso Par-a-Par (PWDU) que é uma abstração formada pela integração dos grafos Def-Uso Orientado a Aspectos (AODU) da unidade chamadora e da unidade chamada. Além disso, são propostos três critérios para derivar requisitos de teste para pares de unidades. Dentre eles, dois critérios são baseados em fluxo de controle: todos-nós-integrados e todas-arestas-integradas; e um critério é baseado em fluxo de dados: todos-usos-integrados. Uma ferramenta que apóia o teste estrutural de unidade de programas OO e OA escritos em Java e AspectJ, chamada JaBUTi/AJ, foi estendida para dar apoio à abordagem de teste de integração proposta. Exemplos de usos são discutidos para explicar a aplicação da abordagem / A pairwise integration structural testing approach for OO and AO programs implemented with Java and AspectJ is presented. The purpose of this approach is to find faults that may exist in the interface between the pairs of units that relate in a program. For OO programs this type of testing involves testing the interaction among pair of methods. For AO programs, the pairwise integration structural testing involves testing the interaction among the following pairs of units: method-method, method-advice, advice-method and advice-advice. To perform the pairwise integration structural testing, all the execution flow (control and data flow) that happens between the caller and the called unit must be considered. For this, it is defined the PairWise Def-Use graph (PWDU) that is an abstraction formed by the integration of the Aspect-Oriented Def-Use (AODU) graphs of the caller and called unit. Additionally, three new criteria to derive test requirements for pairs of units are proposed. Amongst them, two criteria are based on control flow: all-integrated-nodes and all-integrated-edges; and one criterion is based on data flow: all-integrated-uses. A tool that supports unit structural testing of OO and AO programs implemented with Java and AspectJ, called JaBUTi/AJ, was extended in order to support the proposed integration testing approach. Examples are discussed in order to explain the application of the approach
|
8 |
Teste de integração contextual de programas orientados a objetos e a aspectos: critérios e automação / Contextual integration testing of object and aspect-oriented programs: criteria ans automationNeves, Vânia de Oliveira 25 January 2010 (has links)
Uma abordagem de teste estrutural de integração contextual para programas OO e OA escritos em Java e AspectJ é apresentada. A finalidade dessa abordagem é descobrir defeitos que possam existir nas interfaces entre uma determinada unidade (método ou adendo) e todas as outras que interagem diretamente com ela, bem como descobrir defeitos que possam ocorrer na hierarquia de chamadas dessas unidades. Para programas OO, esse tipo de teste envolve testar a interação entre métodos; já para programas OA, o teste estrutural de integração nível um (como também pode ser chamado) deve considerar as interações método-método, método-adendo, adendo-adendo e adendo-método. Para efetuar o teste estrutural de integração nível um deve-se considerar todo o fluxo de execução (fluxo de controle e de dados) que ocorre entre uma unidade chamadora e as unidades que interagem diretamente com ela. Para isso é definido o grafo Def-Uso IN1P, que é uma abstração formada pela integração dos grafos Def-Uso Orientado a Aspectos (AODU) da unidade chamadora e das unidades que ela chama ou que a afeta. Além disso, são propostos três critérios para derivar os requisitos de teste, dois baseados em fluxo de controle (todos-nós-integrados-N1 e todas-arestas-integradas-N1) e um baseado em fluxo de dados (todos-usos-integrados-N1). A ferramenta JaBUTi/AJ foi estendida para dar apoio à abordagem de teste de integração proposta. Exemplos são apresentados para ilustrar o uso da ferramenta para o teste de profundidade um e também seu uso no contexto de uma abordagem que leva em consideração também o teste de unidades e o teste baseado em conjuntos de junção / A Contextual structural integration testing for OO and OA programs written in Java and AspectJ is presented. The purpose of this approach is to discover faults that may exist in the interfaces between a particular unit (method or advice) and all others that interact directly with it, as well as to discover defects that may occur in the call hierarchy of these units. In OO programs, this type of test involves testing the interaction among methods. For OA programs, the structural integration testing at the depth of one (as it can also be called) should consider the method-method, method-advice, advice-advice and advice-method interactions. To perform structural integration testing at the depth of one level the whole execution flow (control and data flow) that occurs among a caller unit and the units that interact directly with it it must be considered. The IN1P Def-Use graph has been defined as an abstraction formed by the integration of the Aspect-Oriented Def-Use (AODU) graphs of the caller unit and of the units that it calls or affects it. Also, three criteria to derive test requirements are proposed, two of which are based on control flow all-integrated-nodes-N1 and all-integrated-edges-N1 and one is based on data flowall-integrated-uses-N1. The tool JaBUTi/AJ was extended to support the proposed integration testing approach. Examples are presented to illustrate the use of the tool for depth 1 testing as well as its use in the context of an approach that also takes into account unit testing and pointcut-based testing
|
9 |
Teste de integração contextual de programas orientados a objetos e a aspectos: critérios e automação / Contextual integration testing of object and aspect-oriented programs: criteria ans automationVânia de Oliveira Neves 25 January 2010 (has links)
Uma abordagem de teste estrutural de integração contextual para programas OO e OA escritos em Java e AspectJ é apresentada. A finalidade dessa abordagem é descobrir defeitos que possam existir nas interfaces entre uma determinada unidade (método ou adendo) e todas as outras que interagem diretamente com ela, bem como descobrir defeitos que possam ocorrer na hierarquia de chamadas dessas unidades. Para programas OO, esse tipo de teste envolve testar a interação entre métodos; já para programas OA, o teste estrutural de integração nível um (como também pode ser chamado) deve considerar as interações método-método, método-adendo, adendo-adendo e adendo-método. Para efetuar o teste estrutural de integração nível um deve-se considerar todo o fluxo de execução (fluxo de controle e de dados) que ocorre entre uma unidade chamadora e as unidades que interagem diretamente com ela. Para isso é definido o grafo Def-Uso IN1P, que é uma abstração formada pela integração dos grafos Def-Uso Orientado a Aspectos (AODU) da unidade chamadora e das unidades que ela chama ou que a afeta. Além disso, são propostos três critérios para derivar os requisitos de teste, dois baseados em fluxo de controle (todos-nós-integrados-N1 e todas-arestas-integradas-N1) e um baseado em fluxo de dados (todos-usos-integrados-N1). A ferramenta JaBUTi/AJ foi estendida para dar apoio à abordagem de teste de integração proposta. Exemplos são apresentados para ilustrar o uso da ferramenta para o teste de profundidade um e também seu uso no contexto de uma abordagem que leva em consideração também o teste de unidades e o teste baseado em conjuntos de junção / A Contextual structural integration testing for OO and OA programs written in Java and AspectJ is presented. The purpose of this approach is to discover faults that may exist in the interfaces between a particular unit (method or advice) and all others that interact directly with it, as well as to discover defects that may occur in the call hierarchy of these units. In OO programs, this type of test involves testing the interaction among methods. For OA programs, the structural integration testing at the depth of one (as it can also be called) should consider the method-method, method-advice, advice-advice and advice-method interactions. To perform structural integration testing at the depth of one level the whole execution flow (control and data flow) that occurs among a caller unit and the units that interact directly with it it must be considered. The IN1P Def-Use graph has been defined as an abstraction formed by the integration of the Aspect-Oriented Def-Use (AODU) graphs of the caller unit and of the units that it calls or affects it. Also, three criteria to derive test requirements are proposed, two of which are based on control flow all-integrated-nodes-N1 and all-integrated-edges-N1 and one is based on data flowall-integrated-uses-N1. The tool JaBUTi/AJ was extended to support the proposed integration testing approach. Examples are presented to illustrate the use of the tool for depth 1 testing as well as its use in the context of an approach that also takes into account unit testing and pointcut-based testing
|
10 |
Teste estrutural de integração par-a-par de programas orientados a objetos e a aspectos: critérios e automatização / Pairwise integration structural testing of object- and aspect-oriented programs: criteria and automationIvan Gustavo Franchin 19 April 2007 (has links)
Uma abordagem de teste estrutural de integração par-a-par para programas OO e OA escritos em Java e AspectJ é apresentada. A finalidade dessa abordagem é descobrir defeitos que possam existir na interface entre os pares de unidades que se relacionam em um programa. Para programas OO este tipo de teste envolve testar a interação entre os pares de métodos. Já para programas OA, o teste estrutural de integração par-a-par envolve testar a interação entre os seguintes pares de unidades: método-método, método-adendo, adendo-método e adendo-adendo. Para efetuar o teste estrutural de integração par-a-par deve-se considerar todo o fluxo de execução (fluxo de controle e de dados) que ocorre entre a unidade chamadora e a unidade chamada. Para isso é definido o grafo Def-Uso Par-a-Par (PWDU) que é uma abstração formada pela integração dos grafos Def-Uso Orientado a Aspectos (AODU) da unidade chamadora e da unidade chamada. Além disso, são propostos três critérios para derivar requisitos de teste para pares de unidades. Dentre eles, dois critérios são baseados em fluxo de controle: todos-nós-integrados e todas-arestas-integradas; e um critério é baseado em fluxo de dados: todos-usos-integrados. Uma ferramenta que apóia o teste estrutural de unidade de programas OO e OA escritos em Java e AspectJ, chamada JaBUTi/AJ, foi estendida para dar apoio à abordagem de teste de integração proposta. Exemplos de usos são discutidos para explicar a aplicação da abordagem / A pairwise integration structural testing approach for OO and AO programs implemented with Java and AspectJ is presented. The purpose of this approach is to find faults that may exist in the interface between the pairs of units that relate in a program. For OO programs this type of testing involves testing the interaction among pair of methods. For AO programs, the pairwise integration structural testing involves testing the interaction among the following pairs of units: method-method, method-advice, advice-method and advice-advice. To perform the pairwise integration structural testing, all the execution flow (control and data flow) that happens between the caller and the called unit must be considered. For this, it is defined the PairWise Def-Use graph (PWDU) that is an abstraction formed by the integration of the Aspect-Oriented Def-Use (AODU) graphs of the caller and called unit. Additionally, three new criteria to derive test requirements for pairs of units are proposed. Amongst them, two criteria are based on control flow: all-integrated-nodes and all-integrated-edges; and one criterion is based on data flow: all-integrated-uses. A tool that supports unit structural testing of OO and AO programs implemented with Java and AspectJ, called JaBUTi/AJ, was extended in order to support the proposed integration testing approach. Examples are discussed in order to explain the application of the approach
|
Page generated in 0.1079 seconds