• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Tese de Doutorado
DOI
https://doi.org/10.11606/T.55.2023.tde-19122023-151021
Documento
Autor
Nome completo
João Choma Neto
E-mail
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Carlos, 2023
Orientador
Banca examinadora
Souza, Simone do Rocio Senger de (Presidente)
Eler, Marcelo Medeiros
Endo, André Takeshi
Simão, Adenilso da Silva
Título em português
Uma abordagem para apoiar a identificação de não executabilidade no teste estrutural de software
Palavras-chave em português
Problema da não executabilidade
Programas concorrentes
Teste de software
Teste estrutural
Resumo em português
A atividade de teste de software é fundamental para garantir a qualidade de um produto de software. No entanto, encontrar um conjunto de casos de teste que satisfaça um determinado critério de teste não é uma tarefa simples, pois o domínio de entrada em geral é vasto e diferentes conjuntos de teste podem ser derivados, com eficácia diferente. No contexto de testes estruturais, a não executabilidade (ou requisitos de teste não executáveis) é uma característica presente na maioria dos programas, o que aumenta o custo e o esforço da atividade de teste. Quando programas concorrentes são testados, novos desafios são enfrentados, principalmente relacionados ao não-determinismo. O não-determinismo pode resultar em diferentes saídas de teste possíveis para a mesma entrada de teste, tornando importante testar todas as situações possíveis. No entanto, a não executabilidade torna-se ainda mais complexa nesse contexto. Para mitigar esse problema, foi desenvolvida uma abordagem chamada Nonexec, que permite a utilização automatizada de propriedades baseadas em código fonte capazes de revelar requisitos de teste não executáveis. Um dos primeiros resultados foi a definição de três conjuntos que classificam os requisitos em: requisitos possivelmente não executáveis, não executáveis e dificilmente executáveis. O processo de detecção das propriedades em código fonte ocorreu sem a utilização de dados de entrada. A abordagem obteve sucesso na identificação das propriedades e conseguiu relacionar a ocorrência de uma propriedade a como ela afeta os requisitos de teste requeridos por um critério de teste. Durante a avaliação experimental da abordagem, foi utilizado um benchmark de programas concorrentes. Foram utilizados os critérios Todos-usos e Todas-sincronizações. Os resultados indicaram que a abordagem auxiliou o testador na atividade de teste estrutural e, com base na taxa de cobertura do critério Todas-sincronizações, a abordagem conseguiu melhorias estatisticamente significativas. Em conclusão, a abordagem proposta auxilia os profissionais de teste na identificação de requisitos de teste que possam apresentar o problema da não executabilidade. As principais contribuições deste trabalho incluem a elaboração de um catálogo de propriedades, a definição da abordagem Nonexec, a implementação da ferramenta Fi-paths e a integração da ferramenta Valipar. Além disso, foram definidos novos termos relacionados ao problema da não executabilidade, tais como requisito de teste possivelmente não executável e requisito de teste dificilmente executável.
Título em inglês
An approach to support the identification of non-executability in structural software testing
Palavras-chave em inglês
Concurrent programs
Non-executability problem
Software testing
Structural testing
Resumo em inglês
Software testing activity is essential to ensure the quality of a software product. However, finding a set of test cases that satisfies a specific test criterion is not a simple task, as the input domain is generally vast, and different test sets can be derived with different effectiveness. In the context of structural testing, non-executability (or non-executable test requirements) is a feature present in most programs, increasing the testing activitys cost and effort. New challenges are faced when concurrent programs are tested, mainly related to non-determinism. Non-determinism can result in different possible test outputs for the same test input, making it important to test all possible situations, and, therefore, the non-executability becomes even more complex in this context. To mitigate this problem, an approach called Nonexec was developed, which allows for the automated use of source code-based properties capable of revealing non-executable test requirements. One of the first results was the definition of three sets that classify the requirements as possibly non-executable, non-executable, and hardly executable. The process of detecting source code properties occurred without the use of input data. The approach successfully identified the properties and related the occurrence of a property to how it affects the test requirements of each test criterion. During the experimental evaluation of the approach, a benchmark of concurrent programs was analyzed with the all-uses and all-sync testing criteria. The results indicated that the approach assisted the tester in the structural testing activity and, based on the coverage rate of the all-sync criterion, the approach achieved statistically significant improvements. In conclusion, the proposed approach collaborates testing professionals in identifying test requirements that may present the non-executability problem. The main contributions of this work include the development of a catalog of properties, the definition of the Nonexec approach, the Fi-paths tool, and the integration of the Valipar testing tool. In addition, new terms related to the non-executability problem were defined, such as "possibly non-executable test requirement" and "hardly executable test requirement".
 
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
Data de Publicação
2023-12-19
 
AVISO: Saiba o que são os trabalhos decorrentes clicando aqui.
Todos os direitos da tese/dissertação são de seus autores
CeTI-SC/STI
Biblioteca Digital de Teses e Dissertações da USP. Copyright © 2001-2024. Todos os direitos reservados.