891 research outputs found
Automated Testing For Software Process Automation
Robotic Process Automation is a way of automatizing business processes within short timespans. At the case company the initial automation step is implemented by business experts, rather than software developers. Using developers with limited software engineering experience allows for high speed but raises concerns of automation quality. One way to reduce these concerns is extensive testing, which takes up much time for integration developers. The aim of this thesis is to increase the quality of the development process, while minimizing impact on development time through test automation.
The research is carried out as a part of the Robotic Process Automation project at the case company. The artifact produced by this thesis is a process for automatically testing software automation products. Automated testing of software automation solutions was found to be technically feasible, but difficult. Robotic process automation provides several novel challenges for test automation, but certain uses such as regression and integration testing are still possible. Benefits of the chosen approach are traceability for quality, developer confidence and potentially increased development speed. In addition, test automation facilitates the adoption of agile software development methods, such as continuous integration and deployment. The usage of continuous integration in relation to Robotic Process Automation was demonstrated via a newly developed workflow.Ohjelmistoautomaatio on nopea tapa automatisoida liiketoimintaprosessien rutiineja. Tapausyrityksessä automaation luovat ohjelmistonkehittäjien sijasta liiketoiminnan asiantuntijat. Käyttämällä alkukehittäjiä, joilla on vähäisesti kokemusta ohjelmistokehityksestä, saadaan nopeita ratkaisuja, mutta samalla yrityksellä on huolia laadusta. Laatua voidaan mitata testaamalla automaatioratkaisuja laajasti, mutta tähän menee huomattavasti aikaa. Tämän tutkielman tarkoituksena on testiautomaatiota käyttämällä nostaa kehitysprosessin laatua ilman että työmäärä kasvaa merkittävästi.
Tutkimus suoritettiin osana tapausyrityksen ohjelmistorobotiikkaprojektia. Tutkielmassa luotiin prosessi, jossa automaattisesti testataan ohjelmistoautomaatioprosesseja. Testaus todettiin tutkimuksessa mahdolliseksi mutta käytännössä haasteelliseksi. Testauksessa ilmeni useita ongelmia, mutta muutamat ratkaisut kuten regressio- ja integraatiotestaus todettiin kuitenkin hyödyllisiksi. Lähestymistavan hyödyiksi todettiin laadun jäljitettävyyden, kehittäjien itseluottamuksen ja kehitysnopeuden kasvu. Lisäksi testiautomaatio mahdollistaa nykyaikaisten ketterien menetelmien kuten jatkuvan integraation käytön. Jatkuvan integraation käyttömahdollisuus demonstroitiin uudistetulla työtavalla
Test Generation and Dependency Analysis for Web Applications
In web application testing existing model based web test generators derive test paths from a navigation model of the web application, completed with either manually or randomly generated inputs. Test paths extraction and input generation are handled separately, ignoring the fact that generating inputs for test paths is difficult or even impossible if such paths are infeasible. In this thesis, we propose three directions to mitigate the path infeasibility problem. The first direction uses a search based approach defining novel set of genetic operators that support the joint generation of test inputs and feasible test paths. Results show that such search based approach can achieve higher level of model coverage than existing approaches. Secondly, we propose a novel web test generation algorithm that pre-selects the most promising candidate test cases based on their diversity from previously generated tests. Results of our empirical evaluation show that promoting diversity is beneficial not only to a thorough exploration of the web application behaviours, but also to the feasibility of automatically generated test cases. Moreover, the diversity based approach achieves higher coverage of the navigation model significantly faster than crawling based and search based approaches. The third approach we propose uses a web crawler as a test generator. As such, the generated tests are concrete, hence their navigations among the web application states are feasible by construction. However, the crawling trace cannot be easily turned into a minimal test suite that achieves the same coverage due to test dependencies. Indeed, test dependencies are undesirable in the context of regression testing, preventing the adoption of testing optimization techniques that assume tests to be independent. In this thesis, we propose the first approach to detect test dependencies in a given web test suite by leveraging the information available both in the web test code and on the client side of the web application. Results of our empirical validation show that our approach can effectively and efficiently detect test dependencies and it enables dependency aware formulations of test parallelization and test minimization
A Lunar Surface System Supportability Technology Development Roadmap
This paper discusses the establishment of a Supportability Technology Development Roadmap as a guide for developing capabilities intended to allow NASA's Constellation program to enable a supportable, sustainable and affordable exploration of the Moon and Mars. Presented is a discussion of "supportability", in terms of space facility maintenance, repair and related logistics and a comparison of how lunar outpost supportability differs from the International Space Station. Supportability lessons learned from NASA and Department of Defense experience and their impact on a future lunar outpost is discussed. A supportability concept for future missions to the Moon and Mars that involves a transition from a highly logistics dependent to a logistically independent operation is discussed. Lunar outpost supportability capability needs are summarized and a supportability technology development strategy is established. The resulting Lunar Surface Systems Supportability Strategy defines general criteria that will be used to select technologies that will enable future flight crews to act effectively to respond to problems and exploit opportunities in a environment of extreme resource scarcity and isolation. This strategy also introduces the concept of exploiting flight hardware as a supportability resource. The technology roadmap involves development of three mutually supporting technology categories, Diagnostics Test & Verification, Maintenance & Repair, and Scavenging & Recycling. The technology roadmap establishes two distinct technology types, "Embedded" and "Process" technologies, with different implementation and thus different criteria and development approaches. The supportability technology roadmap addresses the technology readiness level, and estimated development schedule for technology groups that includes down-selection decision gates that correlate with the lunar program milestones. The resulting supportability technology roadmap is intended to develop a set of technologies with widest possible capability and utility with a minimum impact on crew time and training and remain within the time and cost constraints of the Constellation progra
StubCoder: Automated Generation and Repair of Stub Code for Mock Objects
Mocking is an essential unit testing technique for isolating the class under
test (CUT) from its dependencies. Developers often leverage mocking frameworks
to develop stub code that specifies the behaviors of mock objects. However,
developing and maintaining stub code is labor-intensive and error-prone. In
this paper, we present StubCoder to automatically generate and repair stub code
for regression testing. StubCoder implements a novel evolutionary algorithm
that synthesizes test-passing stub code guided by the runtime behavior of test
cases. We evaluated our proposed approach on 59 test cases from 13 open-source
projects. Our evaluation results show that StubCoder can effectively generate
stub code for incomplete test cases without stub code and repair obsolete test
cases with broken stub code.Comment: This paper was accepted by the ACM Transactions on Software
Engineering and Methodology (TOSEM) in July 202
Broken data : Conceptualising data in an emerging world
In this article, we introduce and demonstrate the concept-metaphor of broken data. In doing so, we advance critical discussions of digital data by accounting for how data might be in processes of decay, making, repair, re-making and growth, which are inextricable from the ongoing forms of creativity that stem from everyday contingencies and improvisatory human activity. We build and demonstrate our argument through three examples drawn from mundane everyday activity: the incompleteness, inaccuracy and dispersed nature of personal self-tracking data; the data cleaning and repair processes of Big Data analysis and how data can turn into noise and vice versa when they are transduced into sound within practices of music production and sound art. This, we argue is a necessary step for considering the meaning and implications of data as it is increasingly mobilised in ways that impact society and our everyday worlds.Peer reviewe
A Lunar Surface System Supportability Technology Development Roadmap
This paper discusses the establishment of a Supportability Technology Development Roadmap as a guide for developing capabilities intended to allow NASA s Constellation program to enable a supportable, sustainable and affordable exploration of the Moon and Mars. Presented is a discussion of supportability, in terms of space facility maintenance, repair and related logistics and a comparison of how lunar outpost supportability differs from the International Space Station. Supportability lessons learned from NASA and Department of Defense experience and their impact on a future lunar outpost is discussed. A supportability concept for future missions to the Moon and Mars that involves a transition from a highly logistics dependent to a logistically independent operation is discussed. Lunar outpost supportability capability needs are summarized and a supportability technology development strategy is established. The resulting Lunar Surface Systems Supportability Strategy defines general criteria that will be used to select technologies that will enable future flight crews to act effectively to respond to problems and exploit opportunities in an environment of extreme resource scarcity and isolation. This strategy also introduces the concept of exploiting flight hardware as a supportability resource. The technology roadmap involves development of three mutually supporting technology categories, Diagnostics Test and Verification, Maintenance and Repair, and Scavenging and Recycling. The technology roadmap establishes two distinct technology types, "Embedded" and "Process" technologies, with different implementation and thus different criteria and development approaches. The supportability technology roadmap addresses the technology readiness level, and estimated development schedule for technology groups that includes down-selection decision gates that correlate with the lunar program milestones. The resulting supportability technology roadmap is intended to develop a set of technologies with widest possible capability and utility with a minimum impact on crew time and training and remain within the time and cost constraints of the Constellation program
- …