Análise de Mutantes em Aplicações SQL de Banco de Dados
Resumo
O teste de aplicações de banco de dados é crucial para assegurar a alta qualidade do software, pois defeitos não detectados podem resultar em corrupção irrecuperável dos dados. SQL é a mais amplamente utilizada interface para sistemas de banco de dados. Nossa abordagem visa a alcançar melhores testes pela seleção de bases de dados reveladoras de defeitos. Usamos a análise de mutantes em comandos SQL e discutimos dois cenários para aplicar as técnicas de mutação forte e fraca. Experimentos usando aplicações reais, defeitos reais e dados reais foram conduzidos para: (i) avaliar a aplicabilidade da abordagem; e (ii) comparar as capacidades de revelação de defeitos de bases de dados de entrada.
Palavras-chave:
Análise de Mutantes, Aplicações SQL, Banco de Dados
Referências
ANSI SQL-3 STANDARD, www.ansi.org. Acesso em: 12 de jun. 2008.
Chan,W.K., Cheung, S.C., and Tse, T.H. (2005) “Fault-based testing of database application programs with conceptual data model”. Proceedings of the 5th Intl. Conference on Quality Software, IEEE Computer Society Press, pg 187–196, Los Alamitos, CA.
Chan, M. Y. and Cheung, S. C. (1999) “Testing Database Applications with SQL Semantic”. Proceedings of the 2nd Intl. Symposium on Cooperative Database Systems for Advanced Applications, Springer, pg 363-374, Singapore.
Chays, D. and Deng, Y. (2003) “Demonstration of AGENDA Tool Set for Testing Relational Database Applications”. Proceedings of the 25th Intl. Conference on Software Engineering, pg 802-803, Portland, Oregon.
DeMillo, A.R., Lipton, R.J., and Sayward, F.G (1978).”Hints on test data selection: Help for the practicing programmer”. IEEE Computer, Vol.11, no 4, pg 34-41.
DeMillo, A.R. (1980) “Mutation analysis as a tool for software quality assurance”. Proceedings of COMPSAC 80, Chicago, IL, pg 390-393.
Deutsch, M. (1979) “Verification and Validation” in Software Engineering (R. Jensen and C.Tonies, Eds.), Prentice-Hall, 1979, pg 329-408.
Elbaum, S., Malishevssky, A.G., and Rothermel, G. (2002). “Test case priorization: Afamily of empirical studies”. IEEE Trans. on Software Engineering 28 (2), pg 159– 182.
Kapfhammer, G.M. and Soffa, M.L. (2003). “A Family of Test Adequacy Criteria for Database-Driven Applications”. European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE. Helsinki, Finland, pg 98-107.
Leitao-Junior, P.S., Vilela, P.R.S., and Jino, M. (2005). “Mapping Faults to Failures in SQL Manipulation Commands”. Proceedings of the 3rd ACS/IEEE Intl. Conference on Computer Systems and Applications (AICCSA-05), pg 1-4, Egito, Cairo.
Mathur, A.P. (1991). “Performance, effectiveness and reliability issues in software testing”. 15th Annual International Computer Software and Application Conference, Tokio, Japan, IEEE Computer Society Press, pg 604-605.
Offutt, A.J, Lee, A., Rothermel, G., Untch, R.H and Zapf, C. (1996) “An experimental determination of sufficient mutant operators". ACM Trans. on Software Engineering Methodology, Vol.5, no 2 pages 99-118.
Pönighaus, R. (1995) “‘Favourite’ SQL-Statements – an empirical analysis of SQL-Usage in commercial applications”. Proceedings of the 6th Intl. Conference on Information Systems and Management of Data, Lecture Notes in Computer Science, Vol. 1006, Springer, pg 75–91.
Rothermel, G. and Elbaum, S. (2003) “Putting your best tests forward”. IEEE Software 20 (5), pg 74–77.
Rothermel, G., Untch, R.H., and Harrold, M.J. (2001). “Prioritizing test cases for regression testing”. IEEE Trans. on Software Engineering 27 (10), pg 929–948.
Spoto, E.S. (2000). “Teste Estrutural de Programas de Aplicação de Banco de Dados Relacional”. Tese de Doutorado, DCA/FEEC/UNICAMP, Campinas, SP, Brasil.
Tuya, J., Suárez-Cabal, M.S. and de la Riva, C. (2007) “Mutation Database queries”. Information and Software Technology 49, pg 398-417.
Woodward, M.R. (1993). “Mutation Testing – its Origin and Evolution”. Information and Software Technology, Vol. 35, no 3, pg 163–169.
Chan,W.K., Cheung, S.C., and Tse, T.H. (2005) “Fault-based testing of database application programs with conceptual data model”. Proceedings of the 5th Intl. Conference on Quality Software, IEEE Computer Society Press, pg 187–196, Los Alamitos, CA.
Chan, M. Y. and Cheung, S. C. (1999) “Testing Database Applications with SQL Semantic”. Proceedings of the 2nd Intl. Symposium on Cooperative Database Systems for Advanced Applications, Springer, pg 363-374, Singapore.
Chays, D. and Deng, Y. (2003) “Demonstration of AGENDA Tool Set for Testing Relational Database Applications”. Proceedings of the 25th Intl. Conference on Software Engineering, pg 802-803, Portland, Oregon.
DeMillo, A.R., Lipton, R.J., and Sayward, F.G (1978).”Hints on test data selection: Help for the practicing programmer”. IEEE Computer, Vol.11, no 4, pg 34-41.
DeMillo, A.R. (1980) “Mutation analysis as a tool for software quality assurance”. Proceedings of COMPSAC 80, Chicago, IL, pg 390-393.
Deutsch, M. (1979) “Verification and Validation” in Software Engineering (R. Jensen and C.Tonies, Eds.), Prentice-Hall, 1979, pg 329-408.
Elbaum, S., Malishevssky, A.G., and Rothermel, G. (2002). “Test case priorization: Afamily of empirical studies”. IEEE Trans. on Software Engineering 28 (2), pg 159– 182.
Kapfhammer, G.M. and Soffa, M.L. (2003). “A Family of Test Adequacy Criteria for Database-Driven Applications”. European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE. Helsinki, Finland, pg 98-107.
Leitao-Junior, P.S., Vilela, P.R.S., and Jino, M. (2005). “Mapping Faults to Failures in SQL Manipulation Commands”. Proceedings of the 3rd ACS/IEEE Intl. Conference on Computer Systems and Applications (AICCSA-05), pg 1-4, Egito, Cairo.
Mathur, A.P. (1991). “Performance, effectiveness and reliability issues in software testing”. 15th Annual International Computer Software and Application Conference, Tokio, Japan, IEEE Computer Society Press, pg 604-605.
Offutt, A.J, Lee, A., Rothermel, G., Untch, R.H and Zapf, C. (1996) “An experimental determination of sufficient mutant operators". ACM Trans. on Software Engineering Methodology, Vol.5, no 2 pages 99-118.
Pönighaus, R. (1995) “‘Favourite’ SQL-Statements – an empirical analysis of SQL-Usage in commercial applications”. Proceedings of the 6th Intl. Conference on Information Systems and Management of Data, Lecture Notes in Computer Science, Vol. 1006, Springer, pg 75–91.
Rothermel, G. and Elbaum, S. (2003) “Putting your best tests forward”. IEEE Software 20 (5), pg 74–77.
Rothermel, G., Untch, R.H., and Harrold, M.J. (2001). “Prioritizing test cases for regression testing”. IEEE Trans. on Software Engineering 27 (10), pg 929–948.
Spoto, E.S. (2000). “Teste Estrutural de Programas de Aplicação de Banco de Dados Relacional”. Tese de Doutorado, DCA/FEEC/UNICAMP, Campinas, SP, Brasil.
Tuya, J., Suárez-Cabal, M.S. and de la Riva, C. (2007) “Mutation Database queries”. Information and Software Technology 49, pg 398-417.
Woodward, M.R. (1993). “Mutation Testing – its Origin and Evolution”. Information and Software Technology, Vol. 35, no 3, pg 163–169.
Publicado
02/06/2008
Como Citar
CABEÇA, Andrea G.; LEITÃO-JUNIOR, Plínio S.; JINO, Mario.
Análise de Mutantes em Aplicações SQL de Banco de Dados. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 7. , 2008, Florianópolis.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2008
.
p. 31-46.
DOI: https://doi.org/10.5753/sbqs.2008.15533.