• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 72
  • 13
  • 7
  • 1
  • 1
  • Tagged with
  • 96
  • 96
  • 39
  • 33
  • 32
  • 30
  • 24
  • 22
  • 22
  • 21
  • 19
  • 17
  • 16
  • 15
  • 14
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Pattern Recognition applied to Continuous integration system.

VANGALA, SHIVAKANTHREDDY January 2018 (has links)
Context: Thisthesis focuses on regression testing in the continuous integration environment which is integration testing that ensures that changes made in the new development code to thesoftware product do not introduce new faults to the software product. Continuous integration is software development practice which integrates all development, testing, and deployment activities. In continuous integration,regression testing is done by manually selecting and prioritizingtestcases from a larger set of testcases. The main challenge faced using manual testcases selection and prioritization is insome caseswhereneeded testcases are ignored in subset of selected testcasesbecause testers didn’t includethem manually while designing hourly cycle regression test suite for particular feature development in product. So, Ericsson, the company in which environment this thesis is conducted,aims at improvingtheirtestcase selection and prioritization in regression testing using pattern recognition. Objectives:This thesis study suggests prediction models using pattern recognition algorithms for predicting future testcases failures using historical data. This helpsto improve the present quality of continuous integration environment by selecting appropriate subset of testcases from larger set of testcases for regression testing. There exist several candidate pattern recognition algorithms that are promising for predicting testcase failures. Based on the characteristics of the data collected at Ericsson, suitable pattern recognition algorithms are selected and predictive models are built. Finally, two predictive models are evaluated and the best performing model is integrated into the continuous integration system. Methods:Experiment research method is chosen for this research because discovery of cause and effect relationships between dependent and independent variables can be used for the evaluation of the predictive model.The experiment is conducted in RStudio, which facilitates to train the predictive models using continuous integration historical data. The predictive ability of the algorithms is evaluated using prediction accuracy evaluation metrics. Results: After implementing two predictive models (neural networks & k-nearest means) using continuous integration data, neural networks achieved aprediction accuracy of 75.3%, k-nearest neighbor gave result 67.75%. Conclusions: This research investigated the feasibility of an adaptive and self-learning test machinery by pattern recognition in continuous integration environment to improve testcase selection and prioritization in regression testing. Neural networks have proved effective capability of predicting failure testcase by 75.3% over the k-nearest neighbors.Predictive model can only make continuous integration efficient only if it has 100% prediction capability, the prediction capability of the 75.3% will not make continuous integration system more efficient than present static testcase selection and prioritization as it has deficiency of lacking prediction 25%. So, this research can only conclude that neural networks at present has 75.3% prediction capability but in future when data availability is more,this may reach to 100% predictive capability. The present Ericsson continuous integration system needs to improve its data storage for historical data at present it can only store 30 days of historical data. The predictive models require large data to give good prediction. To support continuous integration at present Ericsson is using jenkins automation server, there are other automation servers like Team city, Travis CI, Go CD, Circle CI which can store data more than 30 days using them will mitigate the problem of data storage.
22

Utvecklingsmetoder, automatisering och testning : En studie över programvaruutvecklingens tester, hur dessa kan automatiseras, samt hur detta påverkas av utvecklingsmetoden

Valli, Tomas, Almgren, Fredrik January 2011 (has links)
Rapporten har som mål att skapa en fördjupad förståelse kring utvecklingsmetoder, tester och automatisering inom programvaruutveckling. Innehållet i rapporten berättar vad som påverkar valet av dessa samt går igenom de teoretiska grunderna i en omfattande teoridel. Rapporten tar också upp hur valet av utvecklingsmetod påverkar möjligheten till att testa och automatisera ett projekt. Förutom den grundliga teoretiska delen finns det intervjuer med personer och företag som är insatta inom ämnet. Huvudfrågan har varit hur deras organisation anpassar utvecklingsmetoderna, testerna och automatiseringen till de olika projekt de jobbar med. För de tre första intervjuerna finns det en mer ingående analys av arbetssätt samt förslag till förbättringar. I slutsatserna har skribenterna gjort en bedömning huruvida dessa olika faktorer påverkar varandra och vad som bör tänkas på vid val av utvecklingsmetod, tester och automatisering.
23

Evaluation of the applicability of security testing techniques in continuous integration environments

Thulin, Pontus January 2015 (has links)
Agile development methodologies are becoming increasingly popular, especially in projects that develop web applications. However, incorporation of software security in lightweight approaches can be difficult. Using security testing techniques throughout a complete agile development process by running automated tests in continuous integration environments is one approach that strives to improve security in agile projects. Instead of performing security testing at the end of the development cycle, such methods enables early and continuous detection of security risks and vulnerabilities. The purpose of this thesis is to study how existing security testing techniques operate in continuous integration environments and what level of security they can help assure. The work is a qualitative analysis of dierent security testing techniques and evaluates how they technically fit into a continuous integration environment as well as how they adhere to agile principles. These techniques are also analyzed with the use of OWASP Top Ten to determine which security requirements they can verify. The outcome of the analysis is that no existing security testing technique is a perfect fit for usage in continuous integration testing. Each technique has its distinct advantages and drawbacks that should be taken into consideration when choosing a technique to work with in continuous integration environments.
24

Podpora testování ve vybraných PHP frameworcích / Testing in selected PHP Frameworks

Kouba, Daniel January 2009 (has links)
Objective of this document is to provide reader with briefly and cohesive overview about team cooperation, testing , agile software development practices and other modern techniques during web development process. Moreover this paper showing usage of these methodologies and recommendation how to implement it efficiently in some of modern web frameworks for rapid and easy web development (Zend Framework, CakePHP and Yii). In addition this handbook tries to explain how continual integration can be utilized on field of web development process. This work is divided into 2 main sections. The first one is about theoretical knowledge of cooperation, testing and web framework usage at web development process. In second "practical" section I will be concerned about application of this knowledge in practice. Practical section is also about creating of complete continual integration process for web development and its implementation in academic environment of University of Economics in Prague. Contribution of this sheet is mainly in providing of cohesive overview on modern web development techniques such as extreme programming, testing, cooperation and object-oriented frameworks for rapid web development.
25

Optimalizácia procesu testovania s využitím voľne dostupných nástrojov na vytváranie automatizovaných testov / Optimalisation of the test process using open source tools for automated tests

Ivan, Michal January 2015 (has links)
Diploma thesis deals with the implementation of automated tests to the process of testing web applications. Introduction of the theoretical part is devoted to familiarizing the reader with the concept of testing and illustration of its importance not only in software development. Author then defines the term, introduces the principles, and attention is paid to the interpretation of terms which are commonly used in testing. The next section contains specific division of this process in terms of of the used techniques, methods and levels of testing. By description, and stating the fundamental differences between manual and automated testing creates conditions for understanding the issues, on which work is focused. At the end of theoretical part there are characterized basic models of software development life cycle, in which the process of testing has its place. In the practical part the author at first draws attention to introduction of of web application in which automated tests will be implemented. Subsequently, based on the introduced methodology, he analyzes the process of testing this application. He defines the reasons for the implementation of automated testing, he marks the areas of coveragecreates working team and the timetable for implementation. On the basis of established criteria justifies the choice of tools to be used in automation. In the next chapter he accompanies reader systematically across the entire process of creation and implementation of automated tests, and intentionally complements it with practical examples. End is devoted to assessment of the results that have been achieved by the implementation of automated tests. By comparing them with manual tests author determines the effectiveness of automation. Calculating the estimated savings is determined by the return on investment in automated tests.
26

Automation of the deployment of PHP applications / Automatizace nasazení PHP aplikací

Bauer, Tomáš January 2011 (has links)
This diploma thesis deals with the delivery of software products to end users and automation of related processes. After the initial introduction to the issue of deployment, as it is defined by one of the widely used software engineering methodology RUP (Rational Unified Process), the thesis devotes to practices as Continuous Integration, Continuous Delivery and Continuous Deployment which are directly oriented to the delivery of a software product based on automated processes. The second part depicts the design and the implementation of the solution for automation of the deployment of web applications in PHP within the specific developer company. The design part itself covers the analysis of the current state of the manual deploying process of business applications along with possible ways of automation its parts (updating the source code and database schema, application configuration, etc.), the definition of essential requirements for the solution and analysis of available tools which is the base for the selection of the most suitable tools for each component forming the resulting solution. The thesis also depicts interesting or nontrivial parts of implementation of each component, the practical case of usage of the system, the subsequent evaluation of the resulting solution along with estimated benefits and suggestions for the future expansion of its functionality.
27

Application of Adaptive Techniques in Regression Testing for Modern Software Development

Azizi, Maral 08 1900 (has links)
In this dissertation we investigate the applicability of different adaptive techniques to improve the effectiveness and efficiency of the regression testing. Initially, we introduce the concept of regression testing. We then perform a literature review of current practices and state-of-the-art regression testing techniques. Finally, we advance the regression testing techniques by performing four empirical studies in which we use different types of information (e.g. user session, source code, code commit, etc.) to investigate the effectiveness of each software metric on fault detection capability for different software environments. In our first empirical study, we show the effectiveness of applying user session information for test case prioritization. In our next study, we apply learning from the previous study, and implement a collaborative filtering recommender system for test case prioritization, which uses user sessions and change history information as input parameter, and return the risk score associated with each component. Results of this study show that our recommender system improves the effectiveness of test prioritization; the performance of our approach was particularly noteworthy when we were under time constraints. We then investigate the merits of multi-objective testing over single objective techniques with a graph-based testing framework. Results of this study indicate that the use of the graph-based technique reduces the algorithm execution time considerably, while being just as effective as the greedy algorithms in terms of fault detection rate. Finally, we apply the knowledge from the previous studies and implement a query answering framework for regression test selection. This framework is built based on a graph database and uses fault history information and test diversity in attempt to select the most effective set of test cases in term of fault detection capability. Our empirical evaluation of this study with four open source programs shows that our approach can be effective and efficient by selecting a far smaller subset of tests compared to the existing techniques.
28

Automatický nástroj k získávání metadat komponent pro úlohy průběžné integrace / Automatic Component Metadata Extractor and Consolidator for Continuous Integration

Kulda, Jiří January 2017 (has links)
Tato diplomová práce popisuje úpravu průběžné integrace pro Platform tým ve společnosti Red Hat. Výsledkem práce je nástroj Metamorph, který umožní sjednocení ostatních nástrojů průběžné integrace pod týmem Platform. Teoretická část popisuje vznik, popis a přidané hodnoty průběžné integrace. Následně jsou blíže přiblíženy existující nástroje na trhu. Dále je zde popsáno použití průběžné integrace v nástroji Jenkins. V práci jsou také dopodrobna popsány existující řešení průběžné integrace ve společnosti Red Hat. Dále je zde popsán návrh a implementace výše zmíněného nástroje. V závěru jsou výsledky práce otestovány týmem z firmy Red Hat a nastíněny možnosti rozšíření.
29

Exploring the socio-technical impact of continuous integration: tools, practices, and humans

Elazhary, Omar M. 12 November 2021 (has links)
Continuous software engineering is a rapidly growing discipline in software engineering. Among its many reported benefits is increased development velocity, faster feedback for developers, and better software quality. It also comes with its own share of challenges, most of which are centered on making automated builds more efficient or detecting problems with build configuration. However, the majority of literature in this area does not take into account software developers, which are arguably the cornerstone of software development. Software development is still a human-driven endeavour. It is a developer who writes the code, tests it, makes the final decision while factoring in the build results, and so on. Furthermore, software development does not happen in a vacuum. Development takes place within the context of practices dictating how it should be done, and perceived benefits that drive practice adoption and implementation. Software development, and by extension continuous software development, is a socio-technical endeavour that features interactions between human aspects (developers, testers, etc.), technical aspects (automation), and environmental aspects (process, project-specific characteristics, infrastructure, etc.). While the software engineering field has its share of theories, frameworks, and models, or borrows them from other fields, we still do not have a human-centric framework for software engineering that takes into account other socio-technical aspects (technical and environmental). My dissertation addresses this need for a socio-technical framework by illustrating a series of studies that ultimately resulted in the creation of a socio-technical theory of continuous software engineering that focuses on phenomena involving both humans and automation. In particular, I focus on the role of continuous software engineering tools (automation) in the software development process and how they displace existing tools, disrupt existing workflows, and feature in software developer decision making. This theory will enable further research in this area as well as allow researchers to make more grounded recommendations for industrial applications. / Graduate
30

Podpora pro užití jazyka Python pro vývoj zásuvných modulů serveru Jenkins / Support for Jenkins Plugin Development in Python Language

Bambas, Tomáš January 2014 (has links)
Jenkins CI, the continuous integration server, enables to extend its functionality by plug-ins. These plug-ins can be written in Java and Ruby. The support for Python language is missing although it is one of the most popular programming languages. Therefore we have implemented the SDK for Python plug-in development and this SDK has been integrated into the Jenkins CI community repository. The documentation for the plug-in development in Python has been also published. Thanks to that work, developers can now implement plug-ins in Python programming language.

Page generated in 0.123 seconds