Busca avançada
Ano de início
Entree

Construção e evolução de base de conhecimento em teste de software enfatizando automatização e experimentação

Processo: 14/15514-2
Linha de fomento:Auxílio à Pesquisa - Pesquisador Visitante - Brasil
Vigência: 01 de outubro de 2014 - 31 de março de 2015
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Metodologia e Técnicas da Computação
Pesquisador responsável:Jose Carlos Maldonado
Beneficiário:Jose Carlos Maldonado
Pesquisador visitante: Auri Marcelo Rizzo Vincenzi
Inst. do pesquisador visitante: Universidade Federal de Goiás (UFG). Instituto de Informática, Brasil
Instituição-sede: Instituto de Ciências Matemáticas e de Computação (ICMC). Universidade de São Paulo (USP). São Carlos , SP, Brasil
Assunto(s):Engenharia de software  Softwares  Intercâmbio de pesquisadores 

Resumo

A Engenharia de Software é uma área em constante evolução e diferentes métodos, técnicas, critérios e ferramentas são desenvolvidos constantemente visando aprimorar a forma como produtos de software são criados, acima de tudo, contribuindo com a melhoria da qualidade de tais produtos. Especificamente em relação a teste de software, metodologias ágeis com ênfase em testes unitários e programação em pares, desenvolvimento dirigido a testes priorizando a criação dos testes antes da codificação, e o próprio aumento da maturidade das empresas desenvolvedoras de software, fazem com que o interesse por melhoria no processo de teste aumente gradativamente. Entretanto, tal evolução e interesse podem ser frustrados caso decisões errôneas sejam tomadas no ato de se decidir quais técnicas, critérios e ferramentas devem ser empregados num processo de teste coerente para determinado contexto. Assim sendo, embora se acredite que exista uma quantidade significativa de opções, a decisão sobre quais dessas inúmeras técnicas, critérios e ferramentas de teste utilizar ou até mesmo como combiná-las em um processo de teste coerente e adequado para cenários específicos não pode ser tomada ao acaso com base em crenças ou na experiência de poucos profissionais. Tal decisão deve ser pautada com informações qualitativas e quantitativas que demonstrem os benefícios de cada técnica, critério e ferramenta em isolado ou combinadas. Além disso, principalmente no cenário de micro e pequenas empresas, existe uma dificuldade de encaixar um processo de inovação ou busca por melhorias com o processo de desenvolvimento, de modo que as inovações e/ou melhorias acabam ficando para um segundo plano ou até mesmo abandonadas. O arcabouço "Knowledge and Improvement on Test (KITest)" foi proposto visando congregar o conhecimento sobre implantação de processos de teste em um processo de teste genérico, que pode ser instanciado para diferentes contextos. Um ponto não abordado pelo KITest foi a questão de automatização do processo e a forma de evolução do conhecimento atrelado ao KITest. Nesse contexto, o projeto de pesquisa visa a investigar e propor uma metodologia para a seleção de ferramentas de apoio ao processo de teste tendo como base a estrutura do KITest e uma estrutura para sua evolução baseada na cooperação e experimentação entre especialistas. Tal metodologia envolve a definição de uma taxonomia para ferramentas de teste, critérios de seleção de ferramentas de teste, condução de estudos experimentais para a identificação de ferramentas de teste e, a instanciação de um processo de teste automatizado com base no conjunto de ferramentas identificadas. Finalmente, para viabilizar a cooperação entre pares é fundamental o estabelecimento de um mecanismo de recomendação/aprovação de artefatos relacionados com áreas mapeadas pelo arcabouço KITest. (AU)