8 research outputs found

    Lab Package: Automated Testing Using CI/CD

    Get PDF
    Antud bakalaureusetöö põhieesmärgiks on praktikumimaterjalide loomine automaattestimise kohta kasutades pideva integratsiooni ja tarne süsteemi aine "Tarkvara testimine (LTAT.05.006)" jaoks, mida loetakse Tartu Ülikoolis. Töös kirjeldatakse loodud materjale, analüüsitakse tudengite tagasisidet ja tehakse ettepanekuid edaspidiseks arenduseks.The primary goal of this bachelor’s thesis is to create a lab package about automated testing using a continuous integration and delivery system for the course Software Testing (LTAT.05.006) at the University of Tartu. The thesis introduces the materials produced for this lab, analyses the feedback gathered from students and makes suggestions for future improvements

    Embedded device farm proof-of-concept:enabler for test execution on target hardware as a part of continuous delivery pipeline

    Get PDF
    Abstract. Agile software development has produced a completely new way of working into the field of software development. The new focus is to continuously integrate, deliver, and deploy each software change. The term continuous practices is used to refer to these practices. Comprehensive testing plays a major role in so called continuous delivery pipeline. The goal of this thesis is to implement an embedded device farm, a system which is used to effortlessly connect embedded hardware targets as part of continuous delivery pipeline. Hardware is playing a big role in embedded software development and testing. On the other hand, it is seen as a major challenge in implementing continuous practices for embedded software project. Embedded device farm is used to interact with target hardware targets by both automation systems and individual developers in unified manner. Six platforms are evaluated for the purpose and a system called Linaro Automation and Validation Architecture (LAVA) is integrated as part of existing CI/CD service. In addition, this thesis describes the continuous practices in general introducing the benefits as well as the challenges related to implementing them. A closer look is taken into adopting the practices into embedded systems domain. Embedded systems software development differs from traditional or web software development. Embedded systems’ domain specific characteristics and challenges related to continuous practices are presented.Sulautetun laitefarmin konseptitoteutus : mahdollistaja testien suorittamiselle kohdelaitteistossa osana jatkuvan toimituksen ketjua. Tiivistelmä. Ketterä kehitys on tuonut ohjelmistokehityksen alalle täysin uudet toimintatavat, joiden keskipisteessä on ohjelmiston muutosten jatkuva integrointi, jatkuva toimitus ja jatkuva muutosten käyttöönotto. Näistä uusista menetelmistä käytetään kollektiivisesti nimitystä jatkuvat menetelmät. Kattavalla testaamisella on tärkeä rooli niin sanotussa jatkuvan toimituksen ketjussa. Tämän työn tavoitteena on toteuttaa sulautettu laitefarmi, jolla sulautettua tietokonelaitteistoa voidaan vaivattomasti yhdistää osaksi jatkuvan toimituksen ketjua. Tietokonelaitteistolla on tärkeä rooli sulautettujen järjestelmien ohjelmistokehityksessä ja -testauksessa, mutta toisaalta laitteisto nähdään suurena haasteena toteutettaessa jatkuvia menetelmiä sulautetussa ohjelmistoprojektissa. Sulautetun laitefarmin kautta sekä automaatiojärjestelmät että yksittäiset ohjelmistokehittäjät voivat käyttää sulautettuja laitteistoja yhtenäistetyllä tavalla. Työssä arvioidaan kuuden eri järjestelmän soveltuvuutta käyttötarkoitukseen, ja järjestelmä nimeltään Linaro Automation and Validation Architecture (LAVA) integroidaan osaksi olemassa olevaa CI/CD palvelua. Lisäksi tässä työssä esitellään jatkuvat menetelmät yleisesti, niiden toteuttamiseen liittyvät haasteet ja niillä saavutettavat hyödyt. Työssä paneudutaan tarkemmin menetelmien toteuttamiseen sulautettujen järjestelmien alalla. Sulautettujen järjestelmien ohjelmistot eroavat perinteisistä ja web-ohjelmistoista, joten jatkuvia menetelmiä ja niihin liittyviä haasteita tarkastellaan myös sulautettujen järjestelmien näkökulmasta

    Improving Customer Value Co-creation through Customer Engagement and Requirements Engineering Practices in a Small Software Company

    Get PDF
    A small software company has startup thinking which is often short-term. This may negate requiring planning for long-term growth, and sustainability, which could have its impact on customer value. Customer engagement (CE) and requirements engineering (RE) practices are customer satisfaction and growth oriented; helping a small software company earn competitive edge, increase productivity, and grow while delivering on customer value. To address the stated problem, the research problem is stated thus: How do CE and RE practices impact customer value (CV) co-creation? An action research study was carried out to understand better CE and RE practices at the case company. For data collection triangulation of semi-structured interviews, informal conversations, participant observation, and work experience were used. Data analysis did use some grounded theory features — interpretative statements in gathering and organizing the data got. CE practices such as having dedicated customer co-creation platform, constantly learning from users, customer segmentation, and broadened view of customer were observed to have positive influence on customer value co-creation. RE practices that advance customer value included customer participation, face-to-face-communication, continuous planning, and requirements management. The level of success of these practices was influenced by differences in customer participation level, elicitation techniques scope, and selection of the techniques. Also, lack of dedicated user environment hinders user interaction and user-centered co-creation. Customer engagement strengthens RE practices through active interaction between provider and customer to positively influence CV co-creation. Such interaction could be amongst provider, customer and end-users. There are four CE practices and seven RE practices established at the case company. Understanding CE significantly, and some of its practices, coupled with RE practices that yield high- perceived value may significantly help improve customer CV co-creation. Practices like detailed documentation, use of prototype, change and requirements management, co-creation platform, and participation in the platform can be improved upon

    A influência de fatores na produtividade do desenvolvimento de software de acordo com um modelo de estruturas teóricas

    Get PDF
    This work presents an evidence-based model describing the effects of a set of factors on software development productivity, obtained through an evidence synthesis method in Software Engineering. Thus, the relationships among this set and the software development productivity (observed phenomena) are described as results of combining theoretical structures capable of expressing and dealing with differences between different effects and uncertainties varying according to the types of studies found in the literature. Besides, to evaluate the model found, its findings are confronted with a survey capturing the practitioners’ perception (managers and leaders of software projects in Brazilian organizations). The degree of agreement between research (the model) and practice (the practitioners’ perception) shows that scientific knowledge does not differ considerably from the reality experienced by software projects when both of them refer to the influence of factors on software development productivity. The impression that research and practice on the theme go through different paths persists. According to this work, the reasons for this impression are more related to the use of non-standardized and, perhaps, inappropriate measures used to perceive and monitor the influence of factors as well as to measure the software development productivityEste trabalho apresenta um modelo baseado em evidências que descreve efeitos de alguns fatores na produtividade do desenvolvimento de software, obtidos através de um método de síntese de evidências em Engenharia de Software. Deste modo, as relações entre um conjunto de fatores e a produtividade do desenvolvimento de software (fenômenos observados) são descritas como resultados da combinação de estruturas teóricas capazes de expressar e tratar diferenças entre efeitos e incertezas variadas de acordo com os tipos de estudos primários encontrados na literatura. Além disso, para avaliar o modelo encontrado, seus achados são confrontados com uma pesquisa de opinião realizada para capturar a percepção de profissionais da prática (gestores e líderes de projetos de software em organizações brasileiras). O grau de concordância entre a pesquisa (o modelo) e a prática (a percepção dos profissionais) demonstra que, aparentemente, o conhecimento científico não diverge consideravelmente da realidade vivenciada pelos projetos de software no Brasil, quando ambos se referem à influência de fatores na produtividade do desenvolvimento de software. Persiste a impressão, entretanto, de que a pesquisa e a prática no tema percorrem caminhos distintos. De acordo com este trabalho, a impressão do distanciamento parece estar relacionadas à questão do uso de medidas não-padronizadas e, talvez, inapropriadas para mensurar os fatores e a produtividade do desenvolvimento de softwar

    Metrics and Visualizations for Managing Value Creation in Continuous Software Engineering

    Get PDF
    Digitalized society is built on top of software. The supplier of a software system delivers valuable new features to the users of the system in small increments in a continuous manner. To achieve continuous delivery of new features, new versions of software are delivered in rapid cycles. The goal is to get timely feedback from the stakeholders of the system in order to deliver business value.The development team needs timely information of the process to be able to improve it. A demonstrative overview of the process helps to get better understanding about the development process. Moreover, the development team is often willing to get retrospective information of the process in order to improve it and to maintain the flow of continuous value creation.The team uses various tools in the daily software engineering activities. The tools generate vast amount of data concerning the development process. For instance, issue management and version control systems hold detailed information on the actual development process. Mining software repositories provides a data-driven view to the development process.In this thesis, novel metrics and visualizations were built on top of the data. The developed artifacts help to understand and manage the value creation process. With this novel, demonstrative information, lean continuous improvement of the development process is made possible. With the novel metrics and visualizations, the development organization can get such new information on the process which is not easily available otherwise.The new information the metrics and visualizations provide help to different stakeholders of the project to get insight of the development process. The automatically generated data reflects the actual events in the development. The novel metrics and visualizations provide a practical tool for management purposes and continuous software process improvement

    Perceived Benefits of Adopting Continuous Delivery Practices

    No full text
    Context: In continuous delivery, the aim is that every feature passes through the integration and deployment pipeline, resulting in an immediately deployable product. This practice has been proposed to accelerate value delivery, improve software quality and increase developer productivity. Goal: We investigate the adoption of continuous delivery practices and evaluate the related benefits in a single customer-supplier organization. We focus on the perceived benefits of supplier and customer organizations during a five-year transition period. Method: We performed an exploratory case study. We used semi-structured interviews and thematic analysis. Results: Increased communication and collaboration between developers and customer was perceived as one of the core benefits. Other reported benefits were increased productivity, improved product quality, improved developer morale as well as infrastructural independence and organizational agnosticism. Conclusions: The results indicate that the adoption of continuous software engineering practices bring various benefits for both customers and developers, beyond mere increased pace of production deployments.Peer reviewe
    corecore