251 |
WS-TDD: uma abordagem ágil para o desenvolvimento de serviços WEB / WS-TDD: an agile approach to WEB services developmentBissi, Wilson 23 March 2016 (has links)
Test Driven Development (TDD) é uma prática ágil que ganhou popularidade ao ser definida como parte fundamental na eXtreme Programming (XP). Essa prática determina que os testes devem ser escritos antes da implementação do código. TDD e seus efeitos têm sido amplamente estudados e comparados com a prática Test Last Development (TLD) em diversos trabalhos. Entretanto, poucos estudos abordam TDD no desenvolvimento de Web Services (WS), devido à complexidade em testar as dependências entre os componentes distribuídos e as particularidades da Service Oriented Architecture (SOA). Este trabalho tem por objetivo definir e validar uma abordagem para o desenvolvimento de WS baseada na prática de TDD, denominada WS-TDD. Essa abordagem guia os desenvolvedores no uso de TDD durante o desenvolvimento de WS, sugerindo ferramentas e técnicas para lidar com as dependências e as particularidades de SOA, com foco na criação dos testes unitários e integrados automatizados na linguagem Java. No intuito de definir e validar a abordagem proposta, quatro métodos de pesquisa foram executados: (i) questionário presencial; (ii) experimento; (iii) entrevista presencial com cada participante do experimento e (iv) triangulação dos resultados com as pessoas que participaram nos três métodos anteriores. De acordo com os resultados obtidos, a WS-TDD mostrou-se mais eficiente quando comparada a TLD, aumentando a qualidade interna do software e a produtividade dos desenvolvedores. No entanto, a qualidade externa do software diminuiu, apresentando um maior número de defeitos quando comparada a TLD. Por fim, é importante destacar que a abordagem proposta surge como uma alternativa simples e prática para a adoção de TDD no desenvolvimento de WS, trazendo benefícios a qualidade interna e contribuindo para aumentar a produtividade dos desenvolvedores. Porém, a qualidade externa do software diminuiu ao utilizar a WS-TDD. / Test Driven Development (TDD) is an agile practice that gained popularity when defined as a fundamental part in eXtreme Programming (XP). This practice determines that the tests should be written before implementing the code. TDD and its effects have been widely studied and compared with the Test Last Development (TLD) in several studies. However, few studies address TDD practice in the development of Web Services (WS), due to the complexity of testing the dependencies among distributed components and the specific characteristics of Service Oriented Architecture (SOA). This study aims to define and validate an approach to develop WS based on the practice of TDD, called WS-TDD. This approach guides developers to use TDD to develop WS, suggesting tools and techniques to deal with SOA particularities and dependencies, focusing on the creation of the unitary and integrated automated tests in Java. In order to define and validate the proposed approach, four research methods have been carried out: (i) questionnaire; (ii) practical experiment; (iii) personal interview with each participant in the experiment and (iv) triangulation of the results with the people who participated in the three previous methods. According to the obtained results, WS-TDD was more efficient compared to TLD, increasing internal software quality and developer productivity. However, the external software quality has decreased due to a greater number of defects compared to the TLD approach. Finally, it is important to highlight that the proposed approach is a simple and practical alternative for the adoption of TDD in the development of WS, bringing benefits to internal quality and contributing to increase the developers’ productivity. However, the external software quality has decreased when using WS-TDD.
|
252 |
Priorização de testes de sistema automatizados por meio de grafos de chamadas / Test case prioritization of automated system tests using call graphsMeros, Jader Elias 31 March 2016 (has links)
Com a necessidade cada vez maior de agilizar a entrega de novos desenvolvimentos ao cliente e de diminuir o tempo de desenvolvimento das aplicações, a priorização de casos de teste possibilita a detecção das falhas presentes na aplicação mais rapidamente por meio da ordenação dos casos de teste a serem executados. E, com isso, possibilita também que a correção destas falhas inicie o mais brevemente possível. Entretanto, quando os casos de teste a serem priorizados são testes automatizados de sistema, critérios tradicionais utilizados na literatura como cobertura de código ou modelos do sistema deixam de ser interessantes, dada a característica inerente deste tipo de teste na qual a organização e a modelagem adotadas são ignoradas por se tratarem de testes de caixa preta. Considerando a hipótese de que casos de teste automatizados grandes testam mais partes da aplicação e que casos de teste similares podem estar testando a mesma área da aplicação, parece válido crer que a execução dos casos de teste de sistema priorizando os testes mais complexos pode alcançar resultados positivos quando comparada à execução não ordenada dos casos de teste. É neste cenário que este trabalho propõe o uso dos grafos de chamadas dos próprios casos de teste como critério para priorização destes, priorizando assim a execução dos casos de teste com a maior quantidade de nós no seu grafo. A abordagem proposta neste trabalho mostrou, por meio de dois estudos de caso, ser capaz de melhorar a taxa de detecção de falhas em relação à execução não ordenada dos casos de teste. Além disso, a abordagem proposta obteve resultados semelhantes as abordagens tradicionais de priorização utilizando cobertura de código da aplicação. / With the increasing need to streamline the delivery of new developments to the customer and reduce application development time, test case prioritization allows a quicker detection of faults present in the application through the ordering of test cases to be executed. Besides that, a quicker detection enables also the correction of these faults to start as soon as possible. However, when the test cases to be prioritized are automated system tests, traditional criteria used in the literature like code coverage or system models become uninteresting, given that this type of test case, classified as black box test, ignores how the application was coded or modeled. Considering the hypothesis that bigger automated test cases verify more parts of the application and that similar test cases may be testing the same application areas, it seems valid to believe that giving a higher priority to more complex test cases to be executed first can accomplish positive results when compared to the unordered execution of test cases. It is on this scenario that this project studies the usage of call graphs from test cases as the criterion to prioritize them, increasing the priority of the execution of test cases with the higher number of nodes on the graph. The approach proposed in this document showed through two case studies that it is capable of improving fault detection rate compared to unordered test cases. Furthermore, the proposed approach achieved similar results when compared to a traditional prioritization approach using code coverage of the application.
|
253 |
Avaliação de Técnicas de Teste para Dispositivos Móveis por Meio de Experimentação / The Evaluating of Test Techniques for Mobile Devices with Package of ExperimentationDEUS, Gilcimar Divino de 14 July 2009 (has links)
Made available in DSpace on 2014-07-29T14:57:51Z (GMT). No. of bitstreams: 1
Dissertacao Gilcimar computacao.pdf: 1224292 bytes, checksum: 75fac426728d5b453b8844552dd5f88f (MD5)
Previous issue date: 2009-07-14 / Software quality is aimed at for every person that works with computation. Many
techniques, methods and tools have been proposed helping us to get high level software
quality. Due to the increase in the number of mobile devices available daily, there is a high
number of software products for such devices are under development. To test the software
for mobile devices it is important to know the characteristics of both the device and the
software itself aiming at to get high quality products. One package of experimentation
aiming at evaluating some well known testing techniques applied in mobile software
is proposed. This work describe the proposed package, the results obtained after three
replications, and highlight which technique is more adequate for grant quality in Java
ME software. The replications occur in a controlled environment, producing a consistent
information database about the usage of the testing techniques in JavaME programs. New
replications can be carried out for collecting more data and increasing the confidence in
the results obtained so far. The final objective, after many replications, is to develop one
incremental strategy for testing Java ME software. A preliminary version of this strategy
is presented in this work and can be further refined. Moreover, the data obtained during
the experiment helps improving the JaBUTi/ME testing tool, aiming at to maximize the
support and reduce the cost of the testing activity / A qualidade de software é almejada por todos profissionais da computação. Muitas
técnicas, métodos e ferramentas foram propostas para ajudar a alcançar um alto grau
de qualidade no software. Devido ao aumento no número de dispositivos móveis no
mercado diariamente, uma grande quantidade de software para esses dispositivos está
em desenvolvimento. Para realizar os testes nos softwares para dispositivos móveis
é importante levar em consideração as características tanto do dispositivo quanto do
software visando a obter um produto de qualidade. Um pacote de experimentação que
visa avaliar algumas das mais conhecidas técnicas de teste de software aplicadas no
contexto de programas para dispositivos móveis é proposto. O presente trabalho apresenta
o pacote proposto, bem como os resultados obtidos após as três replicações deste pacote e
mostra qual técnica, dentre as avaliadas, é mais adequada para garantir mais qualidade ao
produto de software JavaME. As replicações desse pacote foram executadas em ambiente
controlado, e apresenta uma base de informações consistentes sobre o uso das técnicas de
teste em programas Java ME. Novas replicações podem ser realizadas para coletar mais
dados e aumentar a confiança dos resultados obtidos até o momento. O objetivo final,
após uma série de replicações é o desenvolvimento de uma estratégia incremental para o
teste de produtos de software Java ME. Uma versão inicial dessa estratégia é apresentada
neste trabalho e pode ser refinada futuramente. Além disso, os dados obtidos durante
os experimentos servem de subsídios para a melhoria constante da ferramenta de teste
JaBUTi/ME, visando sempre a maximizar o auxílio e reduzir os custos na condução da
atividade de teste
|
254 |
Gerência de Interfaces para Sistemas de Informação: uma abordagem baseada em modelos / Interfaces Management to Information Systems: an models based approachSILVA, Wilane Carlos da 16 April 2010 (has links)
Made available in DSpace on 2014-07-29T14:57:53Z (GMT). No. of bitstreams: 1
wilane_mestrado.pdf: 4461079 bytes, checksum: da62fa9aebf506f095f41942a579aecc (MD5)
Previous issue date: 2010-04-16 / Building and maintaining a Graphical User Interface (GUI) for Enterprise Information
Systems usually requires much Software Engineering staff time and effort. This paper
describes a model-driven approach to create dynamically and manage these GUIs. In this
approach, the Software Engineer designs conceptual models of the information system
using object-oriented meta-models. A set of predefined mapping rules is applied to
automatically transform and refine the conceptual models in order to generate, in runtime,
the look and feel of the GUI, without source code creation. This improves the software
usability, assuring consistency and homogeneity of the GUI, increases the productivity of
the software engineering staff and simplifies maintenance. In our experiments we have
observed an average productivity fifteen times higher than traditional methods of GUI
development. / Construir e manter uma Interface Gráfica com Usuário (GUI) para Sistemas de Informação
(SI) demanda muito tempo e esforço da equipe de Engenharia de Software. Esta
dissertação descreve uma abordagem dirigida por modelos para criar dinamicamente e
gerenciar essas interfaces. Nessa abordagem, o Engenheiro de Software projeta um modelo
conceitual do sistema de informação usando um meta-modelo orientado a objetos.
Um conjunto de regras de mapeamento predefinidas é aplicado para refinar e transformar
o modelo conceitual do SI, gerando, em tempo de execução, a sua interface gráfica,
com aparência e comportamentos específicos. Esse mecanismo melhora a usabilidade do
software, assegurando consistência e homogeneidade das GUIs, aumenta a produtividade
da equipe de Engenharia de Software e simplifica a manutenção do SI. Nos experimentos
realizados foi observada uma média de produtividade quinze vezes maior do que os
métodos tradicionais no desenvolvimento de GUIs.
|
255 |
Recuperação Contextualizada de Documentos Integrados pelo Protocolo OAI-PMH / Contextualized Retrieval of Documents Integrated by Protocol OAI-PMHOLIVEIRA, Renan Rodrigues de 09 April 2010 (has links)
Made available in DSpace on 2014-07-29T14:57:53Z (GMT). No. of bitstreams: 1
Renan Rodrigues 1.pdf: 1818012 bytes, checksum: b12a88acdfeb11f473ab5b1087c11311 (MD5)
Previous issue date: 2010-04-09 / This work focuses on two aspects: the integration of a set of digital libraries, repositories
and other data providers through the OAI-PMH protocol (Open Archives
Initiative Protocol for Metadata Harvesting) and contextualized documents retrieval in
this integrated repository. It is proposed the use of ontologies and content analysis of
articles in wiki environments in the context definition.
The interest in ontologies is in its use as artifacts of specification domain. An ontology is
a data model that represents a set of concepts and their relationships within a domain of
knowledge.
A wiki is a collaborative environment, containing a collection of items connected by
hyperlinks, which can be edited collectively by using a web browser. In this work, the
wiki environments are used as an auxiliary repository of knowledge to the extraction of
relevant terms. Thus, several concepts and relationships that may not be present in the
ontology that specifies the domain of knowledge (since the construction of ontologies is
a complex process) can be identified.
The result of the developed tool processing is a ranking of documents ordered by a higher
degree of importance with respect to the query provided by a user and a particular domain
of knowledge, which is specified by an ontology. / Este trabalho aborda duas vertentes: a integração de um conjunto de bibliotecas
digitais, repositórios e outros provedores de dados por meio do protocolo
OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting) e a recuperação
contextualizada de documentos neste repositório integrado. Propõe-se a definição dos
contextos utilizando ontologias e a análise do conteúdo de artigos de ambientes wiki.
O interesse em ontologias está no seu uso como artefatos de especificação de domínios.
Uma ontologia é um modelo de dados que representa um conjunto de conceitos e seus
relacionamentos, dentro de um domínio de conhecimento.
Um wiki é um ambiente colaborativo, que contêm uma coleção de artigos conectados
através de hiperlinks, que podem ser editados coletivamente, através da utilização de um
navegador web. Neste trabalho, os ambientes wiki são utilizados como um repositório
de conhecimento auxiliar, para a extração de termos relevantes. Dessa forma, diversos
conceitos e relacionamentos que podem não estar presentes na ontologia que especifica
o domínio de conhecimento (uma vez que a construção de ontologias é um processo
complexo) podem ser identificados.
O resultado do processamento da ferramenta desenvolvida é um ranking de documentos
ordenado por maior grau de relevância com relação à consulta fornecida por um usuário
e a um determinado domínio de conhecimento, que é especificado por uma ontologia.
|
256 |
DESENVOLVIMENTO DE UMA FAMÍLIA DE SISTEMAS DE RECOMENDAÇÕES BASEADOS NA TECNOLOGIA DA WEB SEMÂNTICA E SEU REUSO NA RECOMENDAÇÃO DE INSTRUMENTOS JURÍDICO-TRIBUTÁRIOS / DEVELOPMENT OF A FAMILY OF SYSTEMS BASED ON RECOMMENDATIONS OF TECHNOLOGY AND ITS SEMANTIC WEB REUSE IN RECOMMENDATION OF LEGAL INSTRUMENTS-TRIBUTARIESMariano, Roberval Gomes 05 December 2008 (has links)
Made available in DSpace on 2016-08-17T14:53:01Z (GMT). No. of bitstreams: 1
Roberval Gomes Mariano.pdf: 3806410 bytes, checksum: 98c37c22e17816b87c3a646527ac2c4e (MD5)
Previous issue date: 2008-12-05 / The huge amount of data available on the Web and its dynamic nature create a demand for information filtering applications such as recommender systems. The lack of semantic structure of data available on the Web constitutes a barrier for increasing the effectiveness of such applications family. This work discusses the analysis, design, implementation and evaluation of Semantic Web based hybrid filtering agents. Such agents were integrated in ONTOSERS, an application family for the development of recommender systems based on the Semantic Web technology. The implemented agents were evaluated and their results were compared with the results of collaborative and content-based filtering agents. The hybrid filtering techniques presented better results than the other approaches in the conducted experiments. The tested hybrid filtering approaches were the weighted and switched ones. The explicit feedback was used to validate the recommendations, presenting a better correlation with the hybrid filtering techniques. The developed agents were also evaluated through the reuse of the ONTOSERS systems family, a multi-agent recommender system in the Brazilian tributary domain. / A grande quantidade de dados disponíveis na Web e a sua natureza dinâmica criam uma demanda por aplicações de filtragem de informação, tais como os sistemas de recomendação. A falta de estruturação semântica dos dados disponíveis na Web é uma barreira para a melhoria da efetividade desta família de aplicações. Este trabalho apresenta a análise, projeto, implementação e avaliação de agentes de filtragem híbrida baseados na tecnologia da Web Semântica. Estes agentes foram integrados na ONTOSERS, uma família de aplicações para o desenvolvimento de sistemas de recomendações baseados na tecnologia da Web Semântica. Os agentes implementados foram testados e tiveram seus resultados comparados com os resultados de agentes utilizando filtragem colaborativa e baseada em conteúdo. As técnicas de filtragem híbrida apresentaram resultados melhores do que os obtidos com as outras técnicas nos experimentos realizados. As técnicas de filtragem híbrida testadas foram a ponderada e a alternada. O feedback explícito foi utilizado para validar as recomendações, apresentando uma melhor correlação com as técnicas de filtragem híbrida. Os agentes desenvolvidos foram ainda avaliados através do reuso da família de sistemas ONTOSERS na construção do INFOTRIB, um sistema multiagente de recomendações no domínio tributário brasileiro.
|
Page generated in 0.0297 seconds