Spelling suggestions: "subject:"testes dde unidades"" "subject:"testes dde comunidade""
1 |
EvolUniT: geração e evolução de testes de unidade em java utilizando algoritmos genéticosSILVA, Davi Augusto Gadêlha 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:51:11Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Este trabalho apresenta a ferramenta EvolUniT (Evolutionary Unit Testing), uma
ferramenta para automatização de testes de unidade de código orientado a objetos (classes
Java). A EvolUniT recebe como entrada uma classe Java a ser testada; gera uma classe de
teste usando o framework JUnit; gera dados (parâmetros de construtores e métodos)
inicialmente aleatórios para compor os casos de teste; e utiliza um Algoritmo Genético
(AG) para evoluir os dados, de acordo com uma função de aptidão criada com base nas
coberturas de código capturadas.
A evolução dos dados se dá através de sucessivas execuções da classe sendo testada,
até que um número máximo de gerações do AG seja atingido ou que uma cobertura
máxima pré-definida seja atingida. A ferramenta foi implementada em Java, em forma de
plug-in do Eclipse. A ferramenta proporciona uma semi-automação de testes de unidade, ao
invés de automação completa, pois em alguns casos, o engenheiro de software ou de testes
precisará complementar manualmente as classes de teste geradas. A vantagem desta semiautomação
é que o conhecimento do desenvolvedor ou testador será acrescido aos testes
gerados pela ferramenta, possibilitando assim melhores resultados.
Foram realizados três estudos para avaliar a EvolUniT, e os resultados alcançados
foram satisfatórios. A EvolUniT traz contribuições para duas áreas diferentes. Para a
Engenharia de Software, com a semi-automação do processo de testes de unidade, reduz-se
significativamente o tempo e o esforço por parte dos desenvolvedores, já que estes passam
a usar seus conhecimentos para configurar a ferramenta, ao invés de escrever as classes de
teste. Para a área de Computação Inteligente, a contribuição é na utilização de uma técnica
de otimização evolutiva, os Algoritmos Genéticos, para resolver o problema da escolha de
bons dados para testes estruturais, que nem sempre é bem resolvido por algoritmos
convencionais ou técnicas aleatórias
|
2 |
Beta: uma ferramenta para gera??o de testes de unidade a partir de especifica??es BMatos, Ernesto Cid Brasil de 10 February 2012 (has links)
Made available in DSpace on 2014-12-17T15:48:00Z (GMT). No. of bitstreams: 1
ErnestoCBM_DISSERT.pdf: 1152535 bytes, checksum: a61c509f155d27fa9ab04bc69c4607e8 (MD5)
Previous issue date: 2012-02-10 / Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior / 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 / M?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 complexos
|
Page generated in 0.0924 seconds