Beta: uma ferramenta para geração de testes de unidade a partir de especificações B

Detalhes bibliográficos
Ano de defesa: 2012
Autor(a) principal: Matos, Ernesto Cid Brasil de
Orientador(a): Moreira, Anamaria Martins
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Programa de Pós-Graduação: Programa de Pós-Graduação em Sistemas e Computação
Departamento: Ciência da Computação
País: BR
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/18042
Resumo: Formal methods and software testing are tools to obtain and control software quality. When used together, they provide mechanisms for software specification, verification and error detection. Even though formal methods allow software to be mathematically verified, they are not enough to assure that a system is free of faults, thus, software testing techniques are necessary to complement the process of verification and validation of a system. Model Based Testing techniques allow tests to be generated from other software artifacts such as specifications and abstract models. Using formal specifications as basis for test creation, we can generate better quality tests, because these specifications are usually precise and free of ambiguity. Fernanda Souza (2009) proposed a method to define test cases from B Method specifications. This method used information from the machine s invariant and the operation s precondition to define positive and negative test cases for an operation, using equivalent class partitioning and boundary value analysis based techniques. However, the method proposed in 2009 was not automated and had conceptual deficiencies like, for instance, it did not fit in a well defined coverage criteria classification. We started our work with a case study that applied the method in an example of B specification from the industry. Based in this case study we ve obtained subsidies to improve it. In our work we evolved the proposed method, rewriting it and adding characteristics to make it compatible with a test classification used by the community. We also improved the method to support specifications structured in different components, to use information from the operation s behavior on the test case generation process and to use new coverage criterias. Besides, we have implemented a tool to automate the method and we have submitted it to more complex case studies
id UFRN_6a39d496374dd0c68ad9d1911996b614
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/18042
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Matos, Ernesto Cid Brasil dehttp://lattes.cnpq.br/4276245931614707http://lattes.cnpq.br/5861361541278876Coelho, Roberta de Souzahttp://lattes.cnpq.br/9854634275938452Machado, Patrícia Duarte de Limahttp://lattes.cnpq.br/2495918356675019Moreira, Anamaria Martins2014-12-17T15:48:00Z2012-09-202014-12-17T15:48:00Z2012-02-10MATOS, Ernesto Cid Brasil de. Beta: uma ferramenta para geração de testes de unidade a partir de especificações B. 2012. 127 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2012.https://repositorio.ufrn.br/jspui/handle/123456789/18042Formal methods and software testing are tools to obtain and control software quality. When used together, they provide mechanisms for software specification, verification and error detection. Even though formal methods allow software to be mathematically verified, they are not enough to assure that a system is free of faults, thus, software testing techniques are necessary to complement the process of verification and validation of a system. Model Based Testing techniques allow tests to be generated from other software artifacts such as specifications and abstract models. Using formal specifications as basis for test creation, we can generate better quality tests, because these specifications are usually precise and free of ambiguity. Fernanda Souza (2009) proposed a method to define test cases from B Method specifications. This method used information from the machine s invariant and the operation s precondition to define positive and negative test cases for an operation, using equivalent class partitioning and boundary value analysis based techniques. However, the method proposed in 2009 was not automated and had conceptual deficiencies like, for instance, it did not fit in a well defined coverage criteria classification. We started our work with a case study that applied the method in an example of B specification from the industry. Based in this case study we ve obtained subsidies to improve it. In our work we evolved the proposed method, rewriting it and adding characteristics to make it compatible with a test classification used by the community. We also improved the method to support specifications structured in different components, to use information from the operation s behavior on the test case generation process and to use new coverage criterias. Besides, we have implemented a tool to automate the method and we have submitted it to more complex case studiesMétodos formais e testes são ferramentas para obtenção e controle de qualidade de software. Quando utilizadas em conjunto, elas provêem mecanismos para especificação, verificação e detecção de falhas de um software. Apesar de permitir que sistemas sejam matematicamente verificados, métodos formais não são suficientes pra garantir que um sistema esteja livre de defeitos, logo, técnicas de teste de software são necessárias para completar o processo de verificação e validação de um sistema. Técnicas de Testes Baseados em Modelos permitem que testes sejam gerados a partir de outros artefatos de software como especificações e modelos abstratos. Ao utilizarmos especificações formais como base para a criação de testes, podemos gerar testes de melhor qualidade pois estas especificações costumam ser precisas e livres de ambiguidade. Fernanda Souza (2009) propôs um método para definir casos de teste a partir de especificações do Método B. Este método utilizava informações do invariante de uma máquina e das pré-condições de uma operação para definir casos de teste positivos e negativos para tal operação, através de técnicas baseadas em particionamento em classes de equivalência e análise de valor limite. No entanto, a proposta de 2009 não incluía automação e possuía algumas deficiências conceituais como, por exemplo, não se encaixar exatamente em uma classificação de critérios de cobertura bem definida. Iniciamos nosso trabalho com um estudo de caso que aplicou o método a um exemplo de especificação B proveniente da indústria. A partir deste estudo obtivemos subsídios para o aperfeiçoá-lo. Em nosso trabalho aperfeiçoamos o método proposto, reescrevendo e adicionando características para torná-lo compatível com uma classificação de testes utilizada pela comunidade. O método também foi melhorado para suportar especificações estruturadas em vários componentes, utilizar informações sobre o comportamento da operação durante a criação de casos de teste e utilizar novos critérios de cobertura. Além disso, implementamos uma ferramenta para automatizá-lo e o submetemos a estudos de caso mais complexosCoordenação de Aperfeiçoamento de Pessoal de Nível Superiorapplication/pdfporUniversidade Federal do Rio Grande do NortePrograma de Pós-Graduação em Sistemas e ComputaçãoUFRNBRCiência da Computaçãoengenharia de softwaremétodo Btestes de softwaretestes baseados em modelostestes de unidadesoftware engineeringB methodsoftware testingmodel based testingunit testingCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO::COMPUTABILIDADE E MODELOS DE COMPUTACAOBeta: uma ferramenta para geração de testes de unidade a partir de especificações Binfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALErnestoCBM_DISSERT.pdfapplication/pdf1152535https://repositorio.ufrn.br/bitstream/123456789/18042/1/ErnestoCBM_DISSERT.pdfa61c509f155d27fa9ab04bc69c4607e8MD51TEXTErnestoCBM_DISSERT.pdf.txtErnestoCBM_DISSERT.pdf.txtExtracted texttext/plain229648https://repositorio.ufrn.br/bitstream/123456789/18042/6/ErnestoCBM_DISSERT.pdf.txtfe09f40308c09138b03cd939caa77d3aMD56THUMBNAILErnestoCBM_DISSERT.pdf.jpgErnestoCBM_DISSERT.pdf.jpgIM Thumbnailimage/jpeg1450https://repositorio.ufrn.br/bitstream/123456789/18042/7/ErnestoCBM_DISSERT.pdf.jpg9216b635e9db0f9fadd5d6649b85833aMD57123456789/180422017-11-04 12:31:44.963oai:https://repositorio.ufrn.br:123456789/18042Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-04T15:31:44Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.por.fl_str_mv Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
title Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
spellingShingle Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
Matos, Ernesto Cid Brasil de
engenharia de software
método B
testes de software
testes baseados em modelos
testes de unidade
software engineering
B method
software testing
model based testing
unit testing
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO::COMPUTABILIDADE E MODELOS DE COMPUTACAO
title_short Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
title_full Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
title_fullStr Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
title_full_unstemmed Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
title_sort Beta: uma ferramenta para geração de testes de unidade a partir de especificações B
author Matos, Ernesto Cid Brasil de
author_facet Matos, Ernesto Cid Brasil de
author_role author
dc.contributor.authorID.por.fl_str_mv
dc.contributor.authorLattes.por.fl_str_mv http://lattes.cnpq.br/4276245931614707
dc.contributor.advisorID.por.fl_str_mv
dc.contributor.advisorLattes.por.fl_str_mv http://lattes.cnpq.br/5861361541278876
dc.contributor.referees1.pt_BR.fl_str_mv Coelho, Roberta de Souza
dc.contributor.referees1ID.por.fl_str_mv
dc.contributor.referees1Lattes.por.fl_str_mv http://lattes.cnpq.br/9854634275938452
dc.contributor.referees2.pt_BR.fl_str_mv Machado, Patrícia Duarte de Lima
dc.contributor.referees2ID.por.fl_str_mv
dc.contributor.referees2Lattes.por.fl_str_mv http://lattes.cnpq.br/2495918356675019
dc.contributor.author.fl_str_mv Matos, Ernesto Cid Brasil de
dc.contributor.advisor1.fl_str_mv Moreira, Anamaria Martins
contributor_str_mv Moreira, Anamaria Martins
dc.subject.por.fl_str_mv engenharia de software
método B
testes de software
testes baseados em modelos
testes de unidade
topic engenharia de software
método B
testes de software
testes baseados em modelos
testes de unidade
software engineering
B method
software testing
model based testing
unit testing
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO::COMPUTABILIDADE E MODELOS DE COMPUTACAO
dc.subject.eng.fl_str_mv software engineering
B method
software testing
model based testing
unit testing
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO::COMPUTABILIDADE E MODELOS DE COMPUTACAO
description Formal methods and software testing are tools to obtain and control software quality. When used together, they provide mechanisms for software specification, verification and error detection. Even though formal methods allow software to be mathematically verified, they are not enough to assure that a system is free of faults, thus, software testing techniques are necessary to complement the process of verification and validation of a system. Model Based Testing techniques allow tests to be generated from other software artifacts such as specifications and abstract models. Using formal specifications as basis for test creation, we can generate better quality tests, because these specifications are usually precise and free of ambiguity. Fernanda Souza (2009) proposed a method to define test cases from B Method specifications. This method used information from the machine s invariant and the operation s precondition to define positive and negative test cases for an operation, using equivalent class partitioning and boundary value analysis based techniques. However, the method proposed in 2009 was not automated and had conceptual deficiencies like, for instance, it did not fit in a well defined coverage criteria classification. We started our work with a case study that applied the method in an example of B specification from the industry. Based in this case study we ve obtained subsidies to improve it. In our work we evolved the proposed method, rewriting it and adding characteristics to make it compatible with a test classification used by the community. We also improved the method to support specifications structured in different components, to use information from the operation s behavior on the test case generation process and to use new coverage criterias. Besides, we have implemented a tool to automate the method and we have submitted it to more complex case studies
publishDate 2012
dc.date.available.fl_str_mv 2012-09-20
2014-12-17T15:48:00Z
dc.date.issued.fl_str_mv 2012-02-10
dc.date.accessioned.fl_str_mv 2014-12-17T15:48:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv MATOS, Ernesto Cid Brasil de. Beta: uma ferramenta para geração de testes de unidade a partir de especificações B. 2012. 127 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2012.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/18042
identifier_str_mv MATOS, Ernesto Cid Brasil de. Beta: uma ferramenta para geração de testes de unidade a partir de especificações B. 2012. 127 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2012.
url https://repositorio.ufrn.br/jspui/handle/123456789/18042
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Sistemas e Computação
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Ciência da Computação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/18042/1/ErnestoCBM_DISSERT.pdf
https://repositorio.ufrn.br/bitstream/123456789/18042/6/ErnestoCBM_DISSERT.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/18042/7/ErnestoCBM_DISSERT.pdf.jpg
bitstream.checksum.fl_str_mv a61c509f155d27fa9ab04bc69c4607e8
fe09f40308c09138b03cd939caa77d3a
9216b635e9db0f9fadd5d6649b85833a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1797777759786762240