Spelling suggestions: "subject:"testdriven"" "subject:"testdrivet""
1 |
Effektiv applikationsutveckling med TDD – Test Driven DevelopmentGoralczyk, Pawel, Nyström, Anders January 2008 (has links)
<p>Test Driven Development (TDD) är en utvecklingsteknik där testning ses som en</p><p>naturlig del i utvecklingsprocessen och där tillvägagångssättet hjälper utvecklaren att</p><p>sektionera upp programkoden till mindre och mer hanterbara delar. På så sätt ger</p><p>TDD utvecklare ett stöd under programmeringsfasen så att de får fram ren och</p><p>flexibel kod som är enkel att ändra och felsöka. TDD som teknik underlättar även</p><p>möjligheterna att utveckla koden inom den tidsram som finns i och med att</p><p>betungande testfaser, som i traditionella metodiker och tekniker kan bli</p><p>tidsavgörande, istället integreras som en naturlig del i utvecklingsprocessen. Syftet</p><p>med denna uppsats är att belysa de fördelar som finns med att använda TDD vid</p><p>utveckling av nya applikationer. Vi ska ge utvecklarna som är involverade i</p><p>programmeringsfasen argument till varför TDD bör tillämpas vid utveckling av</p><p>applikationer och hur TDD kan vara ett hjälpmedel för att uppnå en bättre</p><p>kodstruktur/design för applikationen. Vi gjorde undersökningen genom att ta fram</p><p>teori inom området och utföra intervjuer baserade på den framtagna teorin. Efter att</p><p>intervjuerna hade utförts, analyserades det material som framkommit. Slutligen</p><p>presenteras ett antal viktiga argument kring varför de tillvägagångssätt som beskrivs</p><p>inom TDD kan utgöra effektiviseringar under utvecklingsprocessen. Ett av</p><p>argumenten är att användandet av omfaktorering ger utvecklaren möjlighet att städa</p><p>upp och rensa sin kod, vilket minskar risken för onödig komplexitet i koden och gör</p><p>den mer lättförståelig. Andra utvecklare kan enkelt sätta sig in i koden och</p><p>vidareutveckla den, vilket medför värdefull transparens. Omfaktorering gör med</p><p>andra ord koden enklare och tydligare att läsa, både för den som har utvecklat koden</p><p>och för dem runtomkring.</p>
|
2 |
Effektiv applikationsutveckling med TDD – Test Driven DevelopmentGoralczyk, Pawel, Nyström, Anders January 2009 (has links)
Test Driven Development (TDD) är en utvecklingsteknik där testning ses som en naturlig del i utvecklingsprocessen och där tillvägagångssättet hjälper utvecklaren att sektionera upp programkoden till mindre och mer hanterbara delar. På så sätt ger TDD utvecklare ett stöd under programmeringsfasen så att de får fram ren och flexibel kod som är enkel att ändra och felsöka. TDD som teknik underlättar även möjligheterna att utveckla koden inom den tidsram som finns i och med att betungande testfaser, som i traditionella metodiker och tekniker kan bli tidsavgörande, istället integreras som en naturlig del i utvecklingsprocessen. Syftet med denna uppsats är att belysa de fördelar som finns med att använda TDD vid utveckling av nya applikationer. Vi ska ge utvecklarna som är involverade i programmeringsfasen argument till varför TDD bör tillämpas vid utveckling av applikationer och hur TDD kan vara ett hjälpmedel för att uppnå en bättre kodstruktur/design för applikationen. Vi gjorde undersökningen genom att ta fram teori inom området och utföra intervjuer baserade på den framtagna teorin. Efter att intervjuerna hade utförts, analyserades det material som framkommit. Slutligen presenteras ett antal viktiga argument kring varför de tillvägagångssätt som beskrivs inom TDD kan utgöra effektiviseringar under utvecklingsprocessen. Ett av argumenten är att användandet av omfaktorering ger utvecklaren möjlighet att städa upp och rensa sin kod, vilket minskar risken för onödig komplexitet i koden och gör den mer lättförståelig. Andra utvecklare kan enkelt sätta sig in i koden och vidareutveckla den, vilket medför värdefull transparens. Omfaktorering gör med andra ord koden enklare och tydligare att läsa, både för den som har utvecklat koden och för dem runtomkring.
|
3 |
High-Level Test-Driven Learning Using Web Application and Web ServiceOh, Se Hun 14 May 2010 (has links)
In order to introduce learning cases with real-world contexts to the Computer Science students in their early stage of learning, a set of Web applications that utilize Web services are simplified and customized to demonstrate the core concept of high-level test-driven learning methodology. Four e-commerce Web applications were implemented for this project. These applications show how real-world Web services work and interact with each other. By systematically planting a number of errors into the services, we created a learning environment for the students to understand the system structure and basic programming through their critical thinking. A goal is to keep students' interest in computer science. In doing so, a set of features that help students observe the systems' behavior are designed, and collectively formed a pattern of user interface "the Learner's Corner."
|
4 |
A pilot study of test driven developmentAravindhan, Arasi 21 February 2011 (has links)
Test Driven Development is a software technique which uses automated unit tests to drive software design and to force decoupling of dependencies. This report describes the pilot study that was conducted to understand Test Driven Development process and to evaluate its pros and cons before adopting it completely across the software team. The goal of the pilot study was to use TDD principles to build part of a real life software project - in particular, to completely implement 3 user stories - and to evaluate the resulting software. The main questions being discussed are - Is it feasible to adopt TDD in the development of a real life system with databases and UI? How easy is it to convert a user story into a set of unit tests? Can a set of unit tests adequately represent a user story or are requirements lost in translation? / text
|
5 |
Using Agile Methods for Software Development in R&D ScenarioGuarino de Vasconcelos, Luis Eduardo, Kusumoto, André Yoshimi, Leite, Nelson Paiva Oliveira, Lopes, Cristina Moniz Araújo 10 1900 (has links)
ITC/USA 2015 Conference Proceedings / The Fifty-First Annual International Telemetering Conference and Technical Exhibition / October 26-29, 2015 / Bally's Hotel & Convention Center, Las Vegas, NV / Due to the quick change of business processes in organizations, software needs to adapt quickly to meet new requirements by implementing new business rules. In Research and Development (R&D) scenario, the research is highly non-linear and changes are inevitable. In this context, it is known that traditional methodologies (e.g. waterfall) may lead to the detection of failures late, increase the time and cost of development and maintenance of software. On the other hand, agile methodologies are based on Test- Driven Development (TDD), maintain the technical debt under control, maximize the Return on Investment and reduce the risks for customers and companies. In this paper, we show the use of Scrum and TDD in the development of an experimental tool that aims to make the calibration in real time of the rudder of a fighter aircraft. The preliminary results allowed to increase the coverage testing of the software and hence the quality of the tool.
|
6 |
Testing and test-driven development of conceptual schemasTort Pugibet, Albert 11 April 2012 (has links)
The traditional focus for Information Systems (IS) quality assurance relies on the evaluation of its implementation. However, the quality of an IS can be largely determined in the first stages of its development. Several studies reveal that more than half the errors that occur during systems development are requirements errors. A requirements error is defined as a mismatch between requirements specification and stakeholders¿ needs and expectations.
Conceptual modeling is an essential activity in requirements engineering aimed at developing the conceptual schema of an IS. The conceptual schema is the general knowledge that an IS needs to know in order to perform its functions. A conceptual schema specification has semantic quality when it is valid and complete. Validity means that the schema is correct (the knowledge it defines is true for the domain) and relevant (the knowledge it defines is necessary for the system). Completeness means that the conceptual schema includes all relevant knowledge. The validation of a conceptual schema pursues the detection of requirements errors in order to improve its semantic quality.
Conceptual schema validation is still a critical challenge in requirements engineering. In this work we contribute to this challenge, taking into account that, since conceptual schemas of IS can be specified in executable artifacts, they can be tested. In this context, the main contributions of this Thesis are (1) an approach to test conceptual schemas of information systems, and (2) a novel method for the incremental development of conceptual schemas supported by continuous test-driven validation. As far as we know, this is the first work that proposes and implements an environment for automated testing of UML/OCL conceptual schemas, and the first work that explores the use of test-driven approaches in conceptual modeling.
The testing of conceptual schemas may be an important and practical means for their validation. It allows checking correctness and completeness according to stakeholders¿ needs and expectations. Moreover, in conjunction with the automatic check of basic test adequacy criteria, we can also analyze the relevance of the elements defined in the schema. The testing environment we propose requires a specialized language for writing tests of conceptual schemas. We defined the Conceptual Schema Testing Language (CSTL), which may be used to specify automated tests of executable schemas specified in UML/OCL. We also describe a prototype implementation of a test processor that makes feasible the approach in practice.
The conceptual schema testing approach supports test-last validation of conceptual schemas, but it also makes sense to test incomplete conceptual schemas while they are developed. This fact lays the groundwork of Test-Driven Conceptual Modeling (TDCM), which is our second main contribution. TDCM is a novel conceptual modeling method based on the main principles of Test-Driven Development (TDD), an extreme programming method in which a software system is developed in short iterations driven by tests. We have applied the method in several case studies, in the context of Design Research, which is the general research framework we adopted. Finally, we also describe an integration approach of TDCM into a broad set of software development methodologies, including the Unified Process development methodology, MDD-based approaches, storytest-driven agile methods and goal and scenario-oriented requirements engineering methods. / Els enfocaments per assegurar la qualitat deis sistemes d'informació s'han basal tradicional m en! en l'avaluació de la seva
implementació. No obstan! aix6, la qualitat d'un sis tema d'informació pot ser ampliament determinada en les primeres
fases del seu desenvolupament. Diversos estudis indiquen que més de la meitat deis errors de software són errors de
requisits . Un error de requisit es defineix com una desalineació entre l'especificació deis requisits i les necessitats i
expectatives de les parts im plicades (stakeholders ).
La modelització conceptual és una activitat essencial en l'enginyeria de requisits , l'objectiu de la qual és desenvolupar
!'esquema conceptual d'un sistema d'informació. L'esquema conceptual és el coneixement general que un sistema
d'informació requereix per tal de desenvolupar les seves funcions . Un esquema conceptual té qualitat semantica quan és
va lid i complet. La valides a implica que !'esquema sigui correcte (el coneixement definit és cert peral domini) i rellevant (el
coneixement definit és necessari peral sistema). La completes a significa que !'esquema conceptual inclou tot el
coneixement rellevant. La validació de !'esquema conceptual té coma objectiu la detecció d'errors de requisits per tal de
millorar la qualitat semantica.
La validació d'esquemes conceptuals és un repte crític en l'enginyeria de requisits . Aquesta te si contribueix a aquest repte i
es basa en el fet que els es quemes conceptuals de sistemes d'informació poden ser especificats en artefactes executables
i, per tant, poden ser provats. Les principals contribucions de la te si són (1) un enfocament pera les pro ves d'esquemes
conceptuals de sistemes d'informació, i (2) una metodología innovadora pel desenvolupament incremental d'esquemes
conceptuals assistit per una validació continuada basada en proves .
Les pro ves d'esquemes conceptuals poden ser una im portant i practica técnica pera la se va validació, jaque permeten
provar la correctesa i la completesa d'acord ambles necessitats i expectatives de les parts interessades. En conjunció amb
la comprovació d'un conjunt basic de criteris d'adequació de les proves, també podem analitzar la rellevancia deis elements
definits a !'esquema.
L'entorn de test proposat inclou un llenguatge especialitzat per escriure proves automatitzades d'esquemes conceptuals,
anomenat Conceptual Schema Testing Language (CSTL). També hem descrit i implementa! a un prototip de processador
de tes tos que fa possible l'aplicació de l'enfocament proposat a la practica. D'acord amb l'estat de l'art en validació
d'esquemes conceptuals , aquest és el primer treball que proposa i implementa un entorn pel testing automatitzat
d'esquemes conceptuals definits en UML!OCL.
L'enfocament de proves d'esquemes conceptuals permet dura terme la validació d'esquemes existents , pero també té
sentit provar es quemes conceptuals incomplets m entre estant sent desenvolupats. Aquest fet és la base de la metodología
Test-Driven Conceptual Modeling (TDCM), que és la segona contribució principal. El TDCM és una metodología de
modelització conceptual basada en principis basics del Test-Driven Development (TDD), un métode de programació en el
qual un sistema software és desenvolupat en petites iteracions guiades per proves. També hem aplicat el métode en
diversos casos d'estudi en el context de la metodología de recerca Design Science Research. Finalment, hem proposat
enfocaments d'integració del TDCM en diverses metodologies de desenvolupament de software.
|
7 |
Experiences from Test-Driven Development for Prototyping Software in Commercial Vehicles IndustryUrsic, Mihael January 2015 (has links)
This master’s thesis, carried out at MAN Truck & Bus AG, presents a self-observational case study of the software development methodology Test-driven development (TDD) in the context of developing a framework for human-machine interface concepts in commercial vehicles. Software developers are constantly looking for ways to improve productivity and the quality of their code. TDD has been said to do precisely this, but not many experience reports from new practitioners can be found, making it difficult to know what to expect when using it for the first time. This thesis focuses on the experiences of a beginner to the TDD practice and follows the development of the framework and the changes made to the design over time. The framework, consisting of a C++ server application and an Android client, was developed using TDD. Decisions, obstacles and general experiences from the development process are documented in this report with the aim of finding out how TDD works in practice for a beginner and how well the practice is suited for this particular kind of project. It was concluded that TDD seems to have both benefits and drawbacks, as it appears to facilitate lower coupling of the code and a more structured design, but also complicates the changing of public interfaces since the changes often also affect the test code. Subjectively perceived effects of the practice included that developer focus improved, that testing actually occurred and that the continuous passing of tests gave confidence and a sense of accomplishment to the developer. Furthermore it was concluded that experienced developers may reap more benefits from TDD whereas developers with little experience might have a harder time adjusting to the practice and may not see any notable improvement on the design. The observed developer in this study also found that TDD was difficult to get used to and that it would have been helpful to initially pair up with an experienced TDD practitioner to be properly guided through the first steps and to form good habits. Some parts of the framework developed were left out of the TDD because of complexity and time reasons, leading the suitability of the practice for similar frameworks to be judged as moderate. The areas that induced problematic situations were multithreading, networking and graphical user interfaces which were all considered difficult to handle with TDD.
|
8 |
Automatiserad unit testning / Automated unit testingSandberg, Daniel January 2005 (has links)
Dagens utveckling av mjukvara går snabbare och snabbare samtidigt som mjukvaran blir allt mer komplex. Att under dessa omständigheter kunna bibehålla en lika om inte högre kodkvalité är en utmaning. På UIQ bestämde de sig för att undersöka om ett automatiserat unit test kunde hjälpa dem. Metoderna för att komma fram till resultaten i denna rapport har varit intervjuer, en enkät, intern information och litteratur så som forskningsartiklar m.m. Denna rapport är en utredning av automatiserade test, vad man bör tänka på, vilka fördelarna är, vilka testfall som är möjliga att automatisera med mera. Rapporten kommer även att presentera grunderna i testning av mjukvara, en introduktion till eXtreme Programming och Test-Driven Development samt hur testningen utförs på UIQ idag. Då jag kom fram till att ett automatiserat unit test skulle passa sig bra på UIQ kommer jag i slutet av denna rapport presentera ett implementerings förslag. Man bör även införa en test driven utvecklings metodik för att säkerhetsställa att det kommer att utvecklas automatiserade testfall. / Det första en utvecklare tänker på när man hör de tre magiska orden automatisk unit testning är att han äntligen slipper sitta med den tråkiga testningen. Medan chefen och ekonomiansvarige börjar räkna på hur mycket pengar de kan spara efter de sagt upp halva testavdelningen. Tyvärr får båda tänka om då oftast den automatiska testningen har lika lång utvecklingstid men förhoppningvis om den blir lyckad så förbättrar den kodkvalitén. Vilket kan vara minst lika mycket värt som att man sparar några kronor i minskade personalkostnader.
|
9 |
Investigation of Test-Driven Development based on Mock Objects for Non-OO LanguagesMudduluru, Sandhya January 2012 (has links)
In traditional software development, bug detection or testing comes as an afterthought. However, bugs are difficult to detect in the later stages of software development that result in long debugging time. Usually, bugs are left out because of higher concentration on development effort, leaving lesser time for testing. Test-Driven Development (TDD) is a software development process that can reduce the debugging time by catching most of the bugs during development. The development is carried on in small and repeated steps based on test cases. However, TDD is designed to work for object-oriented languages. This thesis investigates the suitability of TDD for non-Object Oriented (OO) languages such as C. TDD can be used with C language with the help of stubbing concept. This thesis also evolves the concepts of stubs and mocks in TDD to be used with C to solve dependency related problems. Finally this thesis analyses some frameworks for TDD in C and provides the trade-offs between them.
|
10 |
WordHunch : Server-kommunkation och lokal datalagring av en androidapplikation / WordHunch : Server communication and local data storage of an android applicationSyed, Abbas January 2015 (has links)
Vi har i detta projekt arbetat med att utforma ett robust och säkert system som är byggt med hjälp av klient-server arkitekturen åt Tweakers HB. Tweakers HB är ett nytt företag som utvecklar allt från mobila till stationära applikationer. Produkten som utvecklats är ett ordbaserat frågesportsspel som har multiplayer funktionalitet. Applikationen/klienten var utvecklat för mobiler som använder Android plattformen och server bestod av ett REST API och en MYSQL databas. Klient-sidan byggdes upp med en anpassad tillämpning av MVC mönstret och använde SQLite för att spara data lokalt. Målet med projektet kommer vara att utvecklat ett system som kommer att ha en lång livslängd som även kan byggas ut i framtiden. För att kunna uppnå målet med produkten så användes utvecklingsmetoden XP(Extreme Programming) och test-driven utveckling. Företaget la vissa krav på tekniker som skulle användas men i stort sett så låg ansvaret på utvecklingsgruppens att hitta tekniker och biliotek för att uppnå kraven. En stor del av kraven blev uppfyllda. / We have in this project worked on designing a robust and reliable system that is built using the client-server architecture for Tweakers HB. Tweakers HB is a new company that develops everything from mobile to desktop applications. The product developed is a word based quiz game with multiplayer functionality. The application/client was developed for mobile phones using the Android platform and the server consisted of a REST API and a MySQL database. The client-side was built using a custom implementation of the MVC pattern and used SQLite to store data locally. The goal of the project was to develop a system that will have a long life span that could also be expanded in the future. In order to achieve the goal of the product XP (Extreme Programming) development methodology and test-driven development was used. The company put certain requirements for technologies that could be used but basically the responsibility fell upon development team to find techniques and libraries to achieve the requirements. Much of demands where satisfied.
|
Page generated in 0.0355 seconds