STER : uma estrategia de testes para sistemas reativos
Alguns dos sistemas reativos existentes no mercado devem funcionar com um alto grau de confiabili... more Alguns dos sistemas reativos existentes no mercado devem funcionar com um alto grau de confiabilidade, pois se eles falharem podem ocorrer perdas humanas ou financeiras significativas. A fim de minimizar as consequencias das falhas, esses sistemas devem ser testados de forma que o maior numero possivel de falhas sejam detectadas. Para tanto, devem ser adotadas tecnicas de teste automatizadas. Na academia foram desenvolvidas diversas tecnicas de geracao automatizada de casos de testes usando metodos formais. Entretanto, essas tecnicas ainda nao sao amplamente adotadas pela industria, por varios motivos. Entre eles estao a dificuldade que os profissionais tem para usar metodos formais e a grande quantidade de casos de testes que podem ser gerados usando essas tecnicas. Este trabalho apresenta a STER, uma estrategia que tem como objetivo auxiliar nos testes de sistemas reativos e que pode ser usada sistematicamente pela industria. Ela (i) faz uso de artefatos UML que podem ser produzid...
This paper presents some experiences in adapting the concepts, framework and methodology for prot... more This paper presents some experiences in adapting the concepts, framework and methodology for protocol testing from the standard IS-9646 to validate space application protocols. In order to assess the space applications the conformance tests defined in IS-9646 are combined with the fault injection technique. This solution comprises a test architecture and a test process with elements to assess not only error recovery and exception mechanism but the behavior of the protocol implementation in presence of failures. A research project which includes some already implemented testing tools based on the IS-9646 has supported experiments conducted on real space applications validation. Results have pointed out advantages on the use of test standardization for space applications validation.
This paper discusses the practical experience of verifying an On-Board Data Handling (OBDH) softw... more This paper discusses the practical experience of verifying an On-Board Data Handling (OBDH) software to be used in a future satellite application at INPE using the CoFI testing methodology. This technique is proper for aerospace applications and is based on modeling the system under test as finite state machines. The test cases are automatically generated from the developed models. The OBDH software considered in this paper follows the PUS standard from European Cooperation for Space Standardization, which is being adopted in Brazil. Among the important issues analyzed by this practical experience are the errors found, the time required for the modeling activity, the time required for testing, the reusability of the test cases, among others.
An approach for concurrent FSM-based test case generation
ABSTRACT This paper presents an approach for black-box test case derivation from a set of concurr... more ABSTRACT This paper presents an approach for black-box test case derivation from a set of concurrent FSM, in which the product machine is not generated. The approach is based on the concept of independent and communicating transitions. An algorithm to recognize the communicating transitions from the concurrent-FSM-based specification is presented. A set of test cases was generated supported by an existing tool able to generate tests for simple FSM-based specification, the Condado. The test case suite generated according to the approach was then compared with the test suite generated from the product machine, also using the Condado. In order to evaluate the effectiveness of the test suite generated by the proposed approach, a set of automatically generated mutants was used. The code-based interface mutants were used as a fault model to support the comparison between both the test case sets. A simple example illustrates the approach and a comparison is made to an empirical study. Preliminary results pointed out simplicity and effectiveness of the approach over the fault model in the empirical evaluation. Pages: 25 - 30
This paper describes the ATIFS, a testing toolset which supports the activities of black-box test... more This paper describes the ATIFS, a testing toolset which supports the activities of black-box tests for reactive systems, especially communication systems. In ATIFS, two types of testing are carried out: conformance testing and software fault injection. These testing types allow one to answer such questions about the system under test as: "does the system perform what is specified?", as well as "for how long does the system perform what is specified?" and "how does the system behave in the presence of faults in its environment?". This toolset was conceived and implemented aiming at providing a user with facilities for the activities of test case derivation, test execution and test result analysis. The general requirements that guided the ATIFS development, its architecture and an overview of the already implemented tools are focused on in this paper. The main tools were successfully used in the conformance tests of a real space application: telemetry reception software for real time communication with a balloon experiment developed at INPE. The test process using the ATIFS toolset in a space application as a case study was an important experience to deal with the constraints imposed by both the application test requirements and the tool prototypes.
Resumo. O teste de softwareé uma parte importante do processo de desenvolvimento de software, e a... more Resumo. O teste de softwareé uma parte importante do processo de desenvolvimento de software, e automatizar a geração de dados de teste contribui para reduzir esforços de custo e tempo. Foi mostrado recentemente que os Algoritmos Evolutivos (AEs) como, por exemplo, os Algoritmos Genéticos (AGs), são ferramentas valiosas para gerar dados de teste. Este trabalho avalia o desempenho de um AE proposto recentemente, a Otimização Extrema Generalizada (GEO), na geração de dados para programas que possuem caminhos com laços. O desempenho do GEO foi comparado com o de um AG, e os resultados mostraram que o GEO exigiu muito menos esforço computacional, tanto na geração de dados quanto no ajuste interno dos parâmetros. Isto indica que o GEOé uma opção competitiva para automatizar a geração de dados.
Service-orientation is a new paradigm that is emerging for the development of distributed and sca... more Service-orientation is a new paradigm that is emerging for the development of distributed and scalable applications. It is based on objectoriented and component-based paradigms, in which the services (autonomous platform-independent computational elements that can be described, published, discovered and accessed over the Internet using standard protocols) are the new elements for development and reuse. Service oriented applications are largely distributed and dynamic, structured as a set of services interfaces with little knowledge about the quality attributes of their implementations. Therefore, the probability of concurrency of service failures is high. In this paper we discuss the challenges related to the development and validation of service oriented applications based on Web Services considering that these applications should guarantee a desired high level of dependability and robustness typical of e-business and mission critical applications. Resumo. Um novo paradigma emergiu para o desenvolvimento de aplicações distribuídas e de grande escala-o desenvolvimento orientado a serviços, uma evolução da orientação a objetos e do desenvolvimento de sistemas baseados em componentes em que a entidade básica de desenvolvimento passa a ser o serviço em si, e não quem presta esse serviço. Aplicações orientadas a serviços são altamente distribuídas e dinâmicas e usam serviços dos quais só se conhece a interface de utilização, sem informações sobre a sua qualidade. Portanto, as oportunidades de mau funcionamento são inúmeras, podendo acarretar em grandes perdas para as empresas ou organizações. Neste artigo discutimos os desafios a serem enfrentados não somente para a criação de aplicações orientadas a serviço baseadas em Web Services que sejam robustas, mas também para validar tanto os serviços usados quanto a composição dos mesmos na determinação se a aplicação final possui os atributos de qualidade desejados.
This text presents FIRE, a tool developed to support reflective fault injection in order to valid... more This text presents FIRE, a tool developed to support reflective fault injection in order to validate objectoriented applications. FIRE was implemented using OpenC++1.2, and its aim is to validate C++ and OpenC++1.2 applications. Some issues about the use of FIRE in fault injection experiments are shown here.
Uploads
Papers by Eliane Martins