9 research outputs found

    Backtracking Incremental Continuous Integration

    Get PDF
    Failing integration builds are show stoppers. Development activity is stalled because developers have to wait with integrating new changes until the problem is fixed and a successful build has been run. We show how backtracking can be used to mitigate the impact of build failures in the context of component-based software development. This way, even in the face of failure, development may continue and a working version is always available

    Proceedings of the 15th International Conference on Product-Focused Software Process Improvement (PROFES 2014) : Volume 2

    Get PDF

    Ansatz einer entwicklungsprojektweiten Abhängigkeits-Konsistenz des Quellcodemodells zur Qualitätsverbesserung von Software-Entwicklungsprojekten

    Get PDF
    Heutige Softwareentwicklungsprojekte müssen oft eine Vielzahl von Anforderungen mit hoher Komplexität in kurzen Release-Zyklen umsetzen. Daraus ergeben sich besondere Herausforderungen an Arbeitsteilung, Dokumentation, Prozesssicherheit und Qualität. Entwicklungsarbeiten müssen parallelisiert werden und Softwareentwickler müssen sich immer wieder in den Quellcode einarbeiten. Die Entwickler brauchen schnelle und präzise Rückmeldung über die Qualität ihrer durchgeführten Änderungen am Quellcode. Über feingranulare Traceability Links in den Quellcode werden eine verbesserte Dokumentation und größere Prozesssicherheit ermöglicht. Dazu wird ein Metamodell für den Quellcode definiert und in ein Metamodell mit Anforderungsmanagement, Änderungsmanagement, Testdatenmanagement und Dokumentation eingebunden. Das gesamte Modell wird in einem Software Configuration Management (SCM) Repository abgespeichert, um die Versionierung aller Artefakte und Links zu ermöglichen. In einem Quellcode Editor können die Traceability Links erstellt und genutzt werden. Die Historie einzelner Quellcode Artefakte kann einschließlich der Traceability Links im Editor zur Anzeige gebracht werden. Durch das Vorliegen des Quellcodes als Modell wird auch ein feingranulares pessimistisches Sperren einzelner Modell Artefakte ermöglicht. Damit ist das parallele Bearbeiten einer Klasse oder einer Methode möglich, ohne dass der Quellcode verschmolzen werden muss. Es werden durch die Sperren auch Syntaxfehler im SCM Repository verhindert. Im Quellcode Editor werden die Sperren anderer Entwickler angezeigt. Continuous Integration wird dahingehend erweitert, dass durch Abspeichern von Class-Dateien im Repository ein schneller Produkt-Build und damit auch schnelleres Feedback für den Entwickler ermöglicht wird. Durch Testauswahlstrategien werden nur für den geänderten Quellcode relevante Tests ausgeführt. Eine Testauswahlstrategie verwendet dabei die Traceability Informationen zwischen geänderten Quellcode, Anforderung, Testspezifikation und dem Test-Quellcode. In großen Projekten entstehen auf Grund des Quellcodes sehr große Modelle, die eine Herausforderung bezüglich Speicherbedarfes und Performance darstellen. Es wurden Untersuchungen an Hand eines Projekts mit 6,5 Millionen Quellcode-Zeilen durchgeführt. Für diese Konzepte wurde ein Prototyp auf Basis der Eclipse Entwicklungsumgebung und für Java entwickelt

    Modelo de mejora para pruebas continuas

    Get PDF
    La Entrega Continua es una práctica donde se desarrolla software de calidad de un modo en el que puede ser lanzado a producción en cualquier momento. Sin embargo, como parte de este trabajo de investigación se realizaron una revisión sistemática de la literatura y una encuesta, las cuales reportan que tanto la literatura académica como la industria todavía encuentran problemas relacionados con el proceso de pruebas al usar prácticas como Entrega Continua o Despliegue Continuo. De este modo, se propone el Modelo de Mejora para Pruebas Continuas como una solución a los problemas de pruebas en los entornos de desarrollo continuo. El mismo recopila propuestas y enfoques de diferentes autores que son presentados como buenas prácticas, agrupadas por tipos de pruebas y divididos en cuatro niveles. Estos niveles indican una jerarquía de mejora y un camino evolutivo en la implementación de las Pruebas Continuas. Además, una herramienta llamada EvalCTIM fue desarrollada para guiar la evaluación del proceso de pruebas utilizando el modelo propuesto. Finalmente, para validar el modelo, se empleó el método de Investigación-Acción mediante una evaluación teórica interpretativa seguida de estudios de casos llevados a cabo en proyectos de desarrollo de software reales. Los resultados demuestran que el modelo se puede utilizar como una solución para implementar las Pruebas Continuas de forma gradual en empresas con entornos de desarrollo continuo.Continuous Delivery is a practice where high-quality software is built in a way that it can be released into production at any time. However, a systematic literature review and a survey performed as part of this research report that both the literature and the industry are still facing problems related to testing using practices like Continuous Delivery or Continuous Development. Thus, we propose Continuous Testing Improvement Model as a solution to the testing problems in continuous software development environments. It brings together proposals and approaches from different authors which are presented as good practices grouped by type of tests and divided into four levels. These levels indicate an improvement hierarchy and an evolutionary path in the implementation of Continuous Testing. Also, an application called EvalCTIM was developed to support the appraisal of a testing process using the proposed model. Finally, to validate the model, an action-research methodology was employed through an interpretive theoretical evaluation followed by case studies conducted in real software development projects. The results demonstrate that the model can be used as a solution for implementing Continuous Testing gradually at companies using continuous software development practices.Facultad de Informátic

    Backtracking Incremental Continuous Integration

    No full text
    Failing integration builds are show stoppers. Development activity is stalled because developers have to wait with integrating new changes until the problem is fixed and a successful build has been run. We show how backtracking can be used to mitigate the impact of build failures in the context of component-based software development. This way, even in the face of failure, development may continue and a working version is always available

    Backtracking Incremental Continuous Integration

    No full text
    Failing integration builds are show stoppers. Development activity is stalled because developers have to wait with integrating new changes until the problem is fixed and a successful build has been run. We show how backtracking can be used to mitigate the impact of build failures in the context of component-based software development. This way, even in the face of failure, development may continue and a working version is always available
    corecore