FCCE: Uma Família de Critérios de Teste para Validação de Sistemas Especificados em Estelle
Resumo
Estelle é uma técnica de descrição formal padronizada pela ISO e tem sido utilizada para a especificação de sistemas distribuídos e protocolos de comunicação. Este artigo propõe uma família de critérios de teste para a validação de sistemas especificados em Estelle, denominada Família de Critérios de Cobertura para Estelle – FCCE, estabelecendo-se mecanismos para quantificar a atividade de teste. A família FCCE pode ser utilizada tanto para a geração como para a avaliação de seqüências de teste. Além disto, esses critérios podem complementar as abordagens normalmente empregadas para a validação de especificações Estelle, como por exemplo, simulação. A representação de árvore de alcançabilidade para Estelle é proposta e utilizada para a aplicação dos critérios de teste. Esses aspectos são ilustrados utilizando-se a descrição em Estelle do protocolo Bit-Alternante.
Referências
Chung, C-M.; Shih, T.K.; Wang, Y-H.; Lin, W-C.; Kou, Y-F. Task Decomposition Testing and Metrics for Concurrent Programs. In: Fifth International Symposium on Software Reliability Engineering (ISSRE'96), p.122-130, 1996.
Gill, A. Introduction to the Theory of Finite-State Machine. New Jork, McGraw-Hill, 1962.
Barnard, J. COMX: A Design Methodology Using Communicating X-Machines. Information and Software Technology, 40, p.271-280, 1998.
Beizer, B. Software Testing Techniques. 2a Edição, Van Nostrand Reinhold, N. York, 1990.
Bochmman, G.V.; Petrenko, A. Protocol Testing: Review of Methods and Relevance for Software Testing. In: International Symposium on Software Testing and Analysis (ISSTA'94), ACM-Software Engineering Notes, p.109-124, 1994.
Bolognesi, T.; Brinksma, E. Introduction to the ISO Specification Language Lotos. Computer Networks and ISDN Systems, 14, p.25-59, 1987.
Bourhfir, C.; Dssouli, R.; Aboulhamid, E.M. Automatic Test Generation for EFSM-Based Systems. Publication Departamentale 1043, 1996 (disponível em: http://www.umontreal.ca/labs/teleinfo/PubListIndex.html).
Budkowski, S.; Dembinski, P. An Introduction to Estelle: A Specification Language for Distributed Systems. Computer Network and ISDN Systems, 14, p.3-23, 1987.
DeMillo, R.A.; Lipton, R.J.; Sayward, F.G. Hints on Test Data Selection: Help for the Practicing Programmer. IEEE Computer, abril, 1978.
EDT. Estelle Development Toolset (versão 4.1). Institut National des Télécommunications, Evry, França, 2000 (Disponível em: http://www.alix.int-evry.fr/~stan/edt.html).
Fabbri, S.C.P.F.; Maldonado, J.C.; Delamaro, M.E.; Masiero, P.C. Mutation Analysis Testing for Finite State Machine. In: Fifth International Symposium on Software Reliability Engineering (ISSRE'94), Califórnia, p.220-229, novembro, 1994.
Fabbri, S.C.P.F.; Maldonado, J.C.; Masiero, P.C.; Delamaro, M.E. Mutation Analysis Applied to Validate Specifications Based on Petri Nets. In: 8th IFIP Conference on Formal Descriptions Techniques for Distributed Systems and Communication Protocol (FORTE'95), p.329-337, Montreal, Canadá, 1995.
Fabbri, S.C.P.F.; Maldonado, J.C.; Sugeta, T.; Masiero, P.C. Mutation Testing Applied to Validate Specifications Based on Statecharts. In: International Symposium on Software Reliability Engineering (ISSRE'99), 1999.
Harel, D.; Pinnel, A.; Schmidt, J.P.; Sherman, R. On the Formal Semantics of Statecharts. In: 2nd IEEE Symposium on Logic in Computer Science, Thaca, New York, 1987.
Huang, C-M.; Hsu, J-M. An Incremental Protocol Verification Method. The Computer Journal, 37(8), 1994.
Huang, C-M.; Hsu, J-M.; Lai, H-Y.; Huang, D-T.; Pong, J-C. An Estelle-Based Incremental Protocol Design Systems. J. Systems Software, 36, p.115-135, 1997.
ISO/TC97/SC21/WG1/DIS9074. Estelle - A formal Description Technique Based on an Extended State Transition Model. 1987.
Jirachiefpattana, A.; Lai, R. EVEN: A Software Environment for Estelle Specification Verification. Journal of Systems Software, 39, p.119-143, 1997.
Koppol, P.V.; Tai, K-C. An Incremental Approach to Strutural Testing of Concurrent Software. In: International Symposium on Software Testing and Analysis (ISSTA'96), ACM-Software Engineering Notes, p.14-23, 1996.
Masiero, P.C.; Maldonado, J.C.; Boaventura, I.G. A Reachability Tree for Statecharts and Analysis of Some Properties. Information and Software Technology, 36(10), p.615-624, 1994.
Murata, T. Modeling and Analysis of Concurrent Systems. Handbook of Software Engineering, Van Nostrand Reinhold Electrical, New York, 1984.
Peterson, J.L. Petri Nets. Computing Surveys, vol. 9(03), setembro, 1977.
Pezzè, M.; Taylor, R.N.; Young, M. Graph Models for Reachability Analysis of Concurrent Programs. ACM Trans. on Software Engineering and Methodology, 4(02), abril, 1995.
Probert, R.L.; Guo, F. Mutation Testing of Protocols: Principles and Preliminary Experimental Results. Protocol Test Systems, III, Ed. by I. Davidson and D.W. LitwackNorth-Holland, p.57-76, 1991.
Rapps, S.; Weyuker, E.J. Selecting Software Test Data Using Data Flow Information. IEEE Transaction on Software Engineering, vol.11(04), p.367-375, abril, 1985.
Souza, S.R.S.; Maldonado, J.C.; Fabbri, S.C.P.F.; Lopes de Souza, W. Mutation Testing Applied to Estelle Specifications. Software Quality Journal, vol. 8(04), to appear, artigo selecionado do 33rd Hawaii International Conference on System Sciences, Mini-track: Distributed Systems Testing, Maui, Hawaii, 4-7 de janeiro, 2000a.
Souza, S.R.S.; Maldonado, J.C.; Fabbri, S.C.P.F.; Masiero, PC. Statecharts Specifications: A Family of Coverage Testing Criteria. In: Conferência Latino Americana de Informática (CLEI2000), Cidade de México, México, 18-22 de setembro, 2000b.
Souza, S.R.S. Validação de Especificações de Sistemas Reativos: Definição e Análise de Critérios de Teste. Tese (Doutorado) Instituto de Física de São Carlos da Universidade de São Paulo (IFSC/USP), São Carlos, SP, dezembro, 2000.
Taylor, R.N.; Levine, D.L.; Kelly, C.D. Structural Testing of Concurrent Programs. IEEE Transaction Software Engineering, 18(3), março, 1992.
Ural, H. Test Sequence Selection Based on Static Data Flow Analysis. Computer Communications, v.10(5), p.234-242, outubro, 1987.
Ural, H. Formal Methods for Test Sequence Generation. Computer Communications, 15(5), junho, 1992.
Ural, H.; Yang, B. A Test Sequence Selection Method for Protocol Testing. IEEE Transaction on Communications, 39(4), abril, 1991.
Yang, C-S.; Souter, A.L.; Pollock, L.L. All-Du-Path Coverage for Parallel Programs. In: International Symposium on Software Testing and Analysis (ISSTA'98), ACM-Software Engineering Notes, p.153-162, 1998.
Yang, R-D.; Chung, C-G. Path Analysis Testing of Concurrent Programs. Information and Software Technology, 34(1), janeiro, 1992.