Texto completo
| |
| Autor(es): |
João Choma Neto
Número total de Autores: 1
|
| Tipo de documento: | Tese de Doutorado |
| Imprenta: | São Carlos. |
| Instituição: | Universidade de São Paulo (USP). Instituto de Ciências Matemáticas e de Computação (ICMC/SB) |
| Data de defesa: | 2023-08-24 |
| Membros da banca: |
Simone do Rocio Senger de Souza;
Marcelo Medeiros Eler;
André Takeshi Endo;
Adenilso da Silva Simão
|
| Orientador: | Simone do Rocio Senger de Souza; Thelma Elita Colanzi Lopes |
| Resumo | |
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. (AU) | |
| Processo FAPESP: | 18/25744-6 - Uma abordagem de busca para apoiar a identificação de sequências não executáveis em software concorrente |
| Beneficiário: | João Choma Neto |
| Modalidade de apoio: | Bolsas no Brasil - Doutorado |