Geração de casos de teste a partir de especificações B
Ano de defesa: | 2010 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
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/18005 |
Resumo: | With the increasing complexity of software systems, there is also an increased concern about its faults. These faults can cause financial losses and even loss of life. Therefore, we propose in this paper the minimization of faults in software by using formally specified tests. The combination of testing and formal specifications is gaining strength in searches mainly through the MBT (Model-Based Testing). The development of software from formal specifications, when the whole process of refinement is done rigorously, ensures that what is specified in the application will be implemented. Thus, the implementation generated from these specifications would accurately depict what was specified. But not always the specification is refined to the level of implementation and code generation, and in these cases the tests generated from the specification tend to find fault. Additionally, the generation of so-called "invalid tests", ie tests that exercise the application scenarios that were not addressed in the specification, complements more significantly the formal development process. Therefore, this paper proposes a method for generating tests from B formal specifications. This method was structured in pseudo-code. The method is based on the systematization of the techniques of black box testing of boundary value analysis, equivalence partitioning, as well as the technique of orthogonal pairs. The method was applied to a B specification and B test machines that generate test cases independent of implementation language were generated. Aiming to validate the method, test cases were transformed manually in JUnit test cases and the application, created from the B specification and developed in Java, was tested. Faults were found with the execution of the JUnit test cases |
id |
UFRN_f6718410cc53566f9046429bae1543ec |
---|---|
oai_identifier_str |
oai:https://repositorio.ufrn.br:123456789/18005 |
network_acronym_str |
UFRN |
network_name_str |
Repositório Institucional da UFRN |
repository_id_str |
|
spelling |
Souza, Fernanda Monteiro dehttp://lattes.cnpq.br/5425053595403848http://lattes.cnpq.br/5861361541278876Coelho, Roberta de Souzahttp://lattes.cnpq.br/9854634275938452Mota, Alexandre Cabralhttp://lattes.cnpq.br/2794026545404598Oliveira, Marcel Vinicius Medeiroshttp://lattes.cnpq.br/1756952696097255Moreira, Anamaria Martins2014-12-17T15:47:51Z2010-08-132014-12-17T15:47:51Z2010-03-29SOUZA, Fernanda Monteiro de. Geração de casos de teste a partir de especificações B. 2010. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2010.https://repositorio.ufrn.br/jspui/handle/123456789/18005With the increasing complexity of software systems, there is also an increased concern about its faults. These faults can cause financial losses and even loss of life. Therefore, we propose in this paper the minimization of faults in software by using formally specified tests. The combination of testing and formal specifications is gaining strength in searches mainly through the MBT (Model-Based Testing). The development of software from formal specifications, when the whole process of refinement is done rigorously, ensures that what is specified in the application will be implemented. Thus, the implementation generated from these specifications would accurately depict what was specified. But not always the specification is refined to the level of implementation and code generation, and in these cases the tests generated from the specification tend to find fault. Additionally, the generation of so-called "invalid tests", ie tests that exercise the application scenarios that were not addressed in the specification, complements more significantly the formal development process. Therefore, this paper proposes a method for generating tests from B formal specifications. This method was structured in pseudo-code. The method is based on the systematization of the techniques of black box testing of boundary value analysis, equivalence partitioning, as well as the technique of orthogonal pairs. The method was applied to a B specification and B test machines that generate test cases independent of implementation language were generated. Aiming to validate the method, test cases were transformed manually in JUnit test cases and the application, created from the B specification and developed in Java, was tested. Faults were found with the execution of the JUnit test casesCom o crescente aumento da complexidade dos sistemas de software, há também um aumento na preocupação com suas falhas. Essas falhas podem causar prejuízos financeiros e até prejuízos de vida. Sendo assim, propomos neste trabalho a minimização de falhas através de testes em softwares especificados formalmente. A conjunção de testes e especificações formais vem ganhando força na academia principalmente através dos TBM (Testes Baseados em Modelos). O desenvolvimento de software a partir de especificações formais, quando todo o processo de refinamento é feito rigorosamente, garante que o que está especificado será implementado na aplicação. Sendo assim, a implementação gerada a partir destas especificações iria retratar fielmente o que estaria especificado. Mas nem sempre a especificação é refinada até o nível de implementação e geração de código, e nesses casos os testes gerados a partir da especificação tendem a encontrar falhas. Adicionalmente, a geração dos chamados testes inválidos , ou seja, testes que exercitem cenários da aplicação que não foram tratados na especificação, complementa mais significativamente o processo de desenvolvimento formal. Sendo assim, neste trabalho é proposto um método para geração de testes a partir de especificações formais B. Este método foi estruturado em pseudo-código. O método se baseia na sistematização das técnicas de testes caixa preta da análise do valor limite, particionamento de equivalência, bem como da técnica dos pares ortogonais. O método foi aplicado em uma especificação B e foram geradas máquinas B de teste que geram casos de teste independentes de linguagem de implementação. Com o intuito de validação do método, os casos de teste foram transformados manualmente em casos de teste do JUnit e a aplicação, criada a partir da especificação B, e desenvolvida em Java foi testada. Foram encontradas falhas com a execução dos casos de teste JUnitapplication/pdfporUniversidade Federal do Rio Grande do NortePrograma de Pós-Graduação em Sistemas e ComputaçãoUFRNBRCiência da ComputaçãoTestesEspecificações FormaisTestes Baseados em ModelosTestingFormal SpecificationModel Based TestingCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOGeração de casos de teste 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:UFRNORIGINALFernandaMS_DISSERT_cad.pdfapplication/pdf1351543https://repositorio.ufrn.br/bitstream/123456789/18005/1/FernandaMS_DISSERT_cad.pdf27a89b596f5bafb661e158d68cfc729cMD51TEXTFernandaMS_DISSERT_cad.pdf.txtFernandaMS_DISSERT_cad.pdf.txtExtracted texttext/plain201212https://repositorio.ufrn.br/bitstream/123456789/18005/6/FernandaMS_DISSERT_cad.pdf.txt695af6a1f4d3abcac220687cfd4486aeMD56THUMBNAILFernandaMS_DISSERT_cad.pdf.jpgFernandaMS_DISSERT_cad.pdf.jpgIM Thumbnailimage/jpeg1903https://repositorio.ufrn.br/bitstream/123456789/18005/7/FernandaMS_DISSERT_cad.pdf.jpg558edb7d8295f4b51010412d7865862dMD57123456789/180052017-11-04 10:29:46.168oai:https://repositorio.ufrn.br:123456789/18005Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-04T13:29:46Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
dc.title.por.fl_str_mv |
Geração de casos de teste a partir de especificações B |
title |
Geração de casos de teste a partir de especificações B |
spellingShingle |
Geração de casos de teste a partir de especificações B Souza, Fernanda Monteiro de Testes Especificações Formais Testes Baseados em Modelos Testing Formal Specification Model Based Testing CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
title_short |
Geração de casos de teste a partir de especificações B |
title_full |
Geração de casos de teste a partir de especificações B |
title_fullStr |
Geração de casos de teste a partir de especificações B |
title_full_unstemmed |
Geração de casos de teste a partir de especificações B |
title_sort |
Geração de casos de teste a partir de especificações B |
author |
Souza, Fernanda Monteiro de |
author_facet |
Souza, Fernanda Monteiro de |
author_role |
author |
dc.contributor.authorID.por.fl_str_mv |
|
dc.contributor.authorLattes.por.fl_str_mv |
http://lattes.cnpq.br/5425053595403848 |
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 |
Mota, Alexandre Cabral |
dc.contributor.referees2ID.por.fl_str_mv |
|
dc.contributor.referees2Lattes.por.fl_str_mv |
http://lattes.cnpq.br/2794026545404598 |
dc.contributor.referees3.pt_BR.fl_str_mv |
Oliveira, Marcel Vinicius Medeiros |
dc.contributor.referees3ID.por.fl_str_mv |
|
dc.contributor.referees3Lattes.por.fl_str_mv |
http://lattes.cnpq.br/1756952696097255 |
dc.contributor.author.fl_str_mv |
Souza, Fernanda Monteiro de |
dc.contributor.advisor1.fl_str_mv |
Moreira, Anamaria Martins |
contributor_str_mv |
Moreira, Anamaria Martins |
dc.subject.por.fl_str_mv |
Testes Especificações Formais Testes Baseados em Modelos |
topic |
Testes Especificações Formais Testes Baseados em Modelos Testing Formal Specification Model Based Testing CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
dc.subject.eng.fl_str_mv |
Testing Formal Specification Model Based Testing |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
description |
With the increasing complexity of software systems, there is also an increased concern about its faults. These faults can cause financial losses and even loss of life. Therefore, we propose in this paper the minimization of faults in software by using formally specified tests. The combination of testing and formal specifications is gaining strength in searches mainly through the MBT (Model-Based Testing). The development of software from formal specifications, when the whole process of refinement is done rigorously, ensures that what is specified in the application will be implemented. Thus, the implementation generated from these specifications would accurately depict what was specified. But not always the specification is refined to the level of implementation and code generation, and in these cases the tests generated from the specification tend to find fault. Additionally, the generation of so-called "invalid tests", ie tests that exercise the application scenarios that were not addressed in the specification, complements more significantly the formal development process. Therefore, this paper proposes a method for generating tests from B formal specifications. This method was structured in pseudo-code. The method is based on the systematization of the techniques of black box testing of boundary value analysis, equivalence partitioning, as well as the technique of orthogonal pairs. The method was applied to a B specification and B test machines that generate test cases independent of implementation language were generated. Aiming to validate the method, test cases were transformed manually in JUnit test cases and the application, created from the B specification and developed in Java, was tested. Faults were found with the execution of the JUnit test cases |
publishDate |
2010 |
dc.date.available.fl_str_mv |
2010-08-13 2014-12-17T15:47:51Z |
dc.date.issued.fl_str_mv |
2010-03-29 |
dc.date.accessioned.fl_str_mv |
2014-12-17T15:47:51Z |
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 |
SOUZA, Fernanda Monteiro de. Geração de casos de teste a partir de especificações B. 2010. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2010. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufrn.br/jspui/handle/123456789/18005 |
identifier_str_mv |
SOUZA, Fernanda Monteiro de. Geração de casos de teste a partir de especificações B. 2010. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2010. |
url |
https://repositorio.ufrn.br/jspui/handle/123456789/18005 |
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/18005/1/FernandaMS_DISSERT_cad.pdf https://repositorio.ufrn.br/bitstream/123456789/18005/6/FernandaMS_DISSERT_cad.pdf.txt https://repositorio.ufrn.br/bitstream/123456789/18005/7/FernandaMS_DISSERT_cad.pdf.jpg |
bitstream.checksum.fl_str_mv |
27a89b596f5bafb661e158d68cfc729c 695af6a1f4d3abcac220687cfd4486ae 558edb7d8295f4b51010412d7865862d |
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_ |
1802118024217493504 |