haku: @keyword yksikkötestaus / yhteensä: 11
viite: 5 / 11
Tekijä:Klemetti, Marko Juhana
Työn nimi:Applying Test-driven Development practice in Digital Signal Processing
Testilähtöisen kehitysmenetelmän käyttäminen digitaalisessa signaalinkäsittelyssä
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2010
Sivut:[5] + 59 + [8]      Kieli:   eng
Koulu/Laitos/Osasto:Informaatio- ja luonnontieteiden tiedekunta
Oppiaine:Informaatiotekniikka   (T-115)
Valvoja:Simula, Olli
Ohjaaja:Rantalainen, Topi
OEVS:
Sähköinen arkistokappale on luettavissa Aalto Thesis Databasen kautta.
Ohje

Digitaalisten opinnäytteiden lukeminen Aalto-yliopiston Harald Herlin -oppimiskeskuksen suljetussa verkossa

Oppimiskeskuksen suljetussa verkossa voi lukea sellaisia digitaalisia ja digitoituja opinnäytteitä, joille ei ole saatu julkaisulupaa avoimessa verkossa.

Oppimiskeskuksen yhteystiedot ja aukioloajat: https://learningcentre.aalto.fi/fi/harald-herlin-oppimiskeskus/

Opinnäytteitä voi lukea Oppimiskeskuksen asiakaskoneilla, joita löytyy kaikista kerroksista.

Kirjautuminen asiakaskoneille

  • Aalto-yliopistolaiset kirjautuvat asiakaskoneille Aalto-tunnuksella ja salasanalla.
  • Muut asiakkaat kirjautuvat asiakaskoneille yhteistunnuksilla.

Opinnäytteen avaaminen

  • Asiakaskoneiden työpöydältä löytyy kuvake:

    Aalto Thesis Database

  • Kuvaketta klikkaamalla pääset hakemaan ja avaamaan etsimäsi opinnäytteen Aaltodoc-tietokannasta. Opinnäytetiedosto löytyy klikkaamalla viitetietojen OEV- tai OEVS-kentän linkkiä.

Opinnäytteen lukeminen

  • Opinnäytettä voi lukea asiakaskoneen ruudulta tai sen voi tulostaa paperille.
  • Opinnäytetiedostoa ei voi tallentaa muistitikulle tai lähettää sähköpostilla.
  • Opinnäytetiedoston sisältöä ei voi kopioida.
  • Opinnäytetiedostoa ei voi muokata.

Opinnäytteen tulostus

  • Opinnäytteen voi tulostaa itselleen henkilökohtaiseen opiskelu- ja tutkimuskäyttöön.
  • Aalto-yliopiston opiskelijat ja henkilökunta voivat tulostaa mustavalkotulosteita Oppimiskeskuksen SecurePrint-laitteille, kun tietokoneelle kirjaudutaan omilla Aalto-tunnuksilla. Väritulostus on mahdollista asiakaspalvelupisteen tulostimelle u90203-psc3. Väritulostaminen on maksullista Aalto-yliopiston opiskelijoille ja henkilökunnalle.
  • Ulkopuoliset asiakkaat voivat tulostaa mustavalko- ja väritulosteita Oppimiskeskuksen asiakaspalvelupisteen tulostimelle u90203-psc3. Tulostaminen on maksullista.
Sijainti:P1 Ark Aalto  174   | Arkisto
Avainsanat:test-driven development
unit testing
refactoring
digital signal processing
testilähtöinen kehitys
yksikkötestaus
refaktorointi
digitaalinen signaalinkäsittely
Tiivistelmä (fin): Digitaalisten signaalinkäsittelyprosessorien kiihtyvä kehitysnopeus on tuonut uusia haasteita myös sulautettujen järjestelmien suunnitteluun.
Kysymys ei ole enää siitä miten ohjelmiston vaatimuksia toteutetaan vaan miten olemassa olevien toiminnallisuuksien eheys säilytetään ja miten huolehditaan siitä, että ohjelmiston laatu ei heikkene.
Mikäli kehitystyöstä ei saada automaattista ja kohdennettua palautetta, on luonnollista, että ohjelmakoodista tulee vähitellen vaikeampaa lukea ja ymmärtää.

Tässä työssä esitellään uusi paradigma sulautettujen järjestelmien ohjelmistokehitykseen.
Testilähtöinen kehitys (TDD, Test-driven Development) on menetelmä, jossa ohjelmistokehittäjän toteutustyö ohjautuu automaattisten testien avulla.
Menetelmä voidaan tiivistää mantraan: "punainen - vihreä - refaktoroi".
Mantran mukaisesti kehittäjä kirjoittaa ensin epäonnistuvan testin (punainen), sen jälkeen mahdollisimman vähän ohjelmakoodia, jotta testi menee läpi (vihreä), ja lopuksi parantaa ohjelmiston rakennetta ja laatua (refaktoroi).

Testilähtöisen kehityksen tarkoitus on antaa ohjelmakoodin syntyä orgaanisesti pienten testien avulla ilman pitkää etukäteissuunnittelua.
Tällä tavoin kehittäjät voivat tehdä muutoksia ohjelmiston rakenteeseen koko kehityskaaren ajan ja ottaa riskejä ohjelmiston laadun parantamiseksi.
Toiminnallisuuden palautteesta tulee jatkuvaa ja luotettavaa - testit varmistavat, että ohjelmisto käyttäytyy edelleen odotetulla tavalla.
Lisäksi kehittäjät jättävät jälkeensä testeihin perustuvan dokumentaation, joka samanaikaisesti varmistaa olemassa olevan toiminnallisuuden ja dokumentoi järjestelmän käyttäytymisen.

Tämän työn puitteissa testilähtöinen kehitysmenetelmä otettiin käyttöön digitaalisen signaalinkäsittelyn (DSP, Digital Signal Processing) ohjelmistossa, yhteistyössä järjestelmän kehittäjien kanssa.
Ohjelmisto on osa kolmannen sukupolven matkapuhelinverkon laitetta, Mediayhdyskäytävää (MGW, Media Gateway).
Tässä työssä kuvataan sekä menetelmän käyttöönottoprosessi että sen lopputulos.
Käyttöönoton seurauksena ohjelmistokehittäjät omaksuivat testilähtöisen kehityksen paradigman ja ohjelmiston laadussa huomattiin merkittävä parannus.
Tämä työ osoittaa, että testilähtöinen kehitys on hyvä ohjelmistokehitysmenetelmä sulautetuille järjestelmille ja tuo mukanaan monia etuja verrattuna perinteiseen ohjelmistokehitykseen.
Tiivistelmä (eng): The accelerating pace of digital signal processor evolution has brought new demands to the embedded software development.
The question is no longer how to implement new features, but how to make sure the existing functionalities still work after changes, and how to make sure the quality of the software does not deteriorate.
By changing the code without automatic and accurate feedback, it is only natural for the code to gradually become more difficult to read and understand.

This thesis presents a new paradigm for developing embedded software.
Test-driven Development (TDD) is a developer practice where the design of the code is driven with automated tests.
The practice can be summarized with a repeating mantra: "red - green - refactor", where the developer first writes a failing test (red), then as little code as possible to make is pass (green) and finally improves the code quality (refactor).

The motivation behind Test-driven Development is that the developer lets the code emerge organically with a series of small tests instead of planning too much ahead.
This leads to the developer being able to take risks with the design and make changes to the code structure throughout the development process.
The feedback of the functionality becomes continuous and reliable - every test run verifies that the system still behaves as expected.
While doing Test-driven development, the developers inevitably leave a test-based documentation behind, both verifying the functionality and documenting the software in a code level.

In this work the Test-driven Development technique is enabled for a digital signal processing software used in a telecommunications network element Media Gateway (MGW).
The implementation was carried out together with the development team, and this work describes the process and its outcome.
The developers adopted the TDD paradigm successfully and the software quality began to improve significantly.

This work shows that Test-driven Development is a feasible technique for improving the embedded software quality, and brings numerous advantages as compared to the traditional software development.
ED:2010-06-11
INSSI tietueen numero: 39793
+ lisää koriin
INSSI