TDD och ATDD

innehåll
  1. Quality Assurance balanserad
  2. testautomatisering
  3. TDD och ATDD
  4. slutsats
  5. läsa på ena sidan

Med statisk kod analysverktyg som FindBugs ofta FxCop eller check användas för att kontrollera koden mot programoberoende fel. Uncovered undantag uppenbara nollpekare referenser och oanvänd kodfragment kan därmed hitta specifika. I allmänhet är dock inte bör begränsas till statisk kodanalys, utan kompletterar statistiken med parprogrammering. Denna kunskapsutbyte är också länge stött laget och den kollektiva kod Ägande tillåter. Om någon programmerare i laget kan ändra någon annan kod, skapar ett helt nytt sätt att arbeta, eftersom ingen längre Peters kod inte längre gå på en gång, men det är koden för alla gruppmedlemmar.

Som med alla mått, dock hålla i minnet att det inte handlar om att mäta individuella prestationer av gruppmedlemmarna eller att använda, till exempel täckningsmått som ett mål för mjukvaruutveckling laget. Cem Kaner och Walter P. Bond bly "Software Engineering Metrics - Vad gör de mäter och hur vet vi?" [3] att ett sådant beteende mot manipulering och outsmarting de mätvärden resultat. Till exempel, kan enhetstestning skapa ett målinriktat sätt så att den procentuella täckningen uppnås. De är då oftast starkt bundet till applikationslogiken, så det är svårt att i efterhand ändra koden utan att bryta testet. Istället författarna föreslår att investera i utbildning av utvecklare och arbeta med dem direkt till koden.

Nog är inte tillräckligt

Gång ett nätverk av automatiska tester är placerad längs med den kontinuerliga integrationen, är det bara ett litet steg för att teststyrd (TDD) utveckling. Utvecklingscykeln börjar med en liten, inte test: Kör ett test inte lika mycket produktion kod ska skrivas så att det kan vara framgångsrikt avslutad. Därefter är redundans i koden för att minska med refaktorisering (fig. 3). De flesta lag inte inser är att detta också i test automation till mjukvaruutveckling där testkoden är ren, eftersom det annars snabbt möta problemet med dåliga underhållsbara tester.

Med testdriven utveckling på lång sikt att underhålla, testade koden som skall skapas (fig. 3).Med testdriven utveckling på lång sikt att underhålla, testade koden som skall skapas (fig. 3).


Detta tillvägagångssätt initialt verkar dogmatisk, men att lära testdriven utveckling, har han medvetet valt detta sätt. När säkerhet inträffar efter en tid i vissa områden kan också prova att genomföra i större steg. Det bör dock stå klart att en alltför stor steg medför en risk för att fastna, och testet kommer inte komma snabbt igång igen. Om detta inträffar bör problemet delas upp i mindre enheter och lösas på det sättet.

Specifikation med exempel

En ny trend i utvecklingen av metoder som för närvarande går mot Acceptancetest driven utveckling (ATDD) och beteende driven utveckling (BDD). I grunden är BDD en sammanslutning av TDD, ATDD, domändriven design, utifrån-in utveckling och användning av en allestädes närvarande språk som specifikations verkstäder som skapats av instrument. I praktiken ATDD tyvärr ofta förväxlas med BDD.

ATDD är utformad för att hjälpa de rätta funktionerna för att utveckla (Fig. 4).ATDD är utformad för att hjälpa de rätta funktionerna för att utveckla (Fig. 4).

I ATDD (se [4].) Det är en åtgärd för att genomföra krav korrekt som möjligt i koden (Fig. 4). Arbetet börjar här tidigt, även när de faktiska kraven definieras. Representanter från utveckling och testteam kommer tillsammans med kunden och identifiera kriterier för framtida funktioner acceptans (Fig. 5). Här testare och programmerare ([5] se.) En gemensam förståelse för kundens behov, med en tillräckligt stor utrymme för olika designbeslut förblir öppen. Så programmerare och testare kan hitta en lösning på problemet med kunden, med vilken den kan vara nöjda på lång sikt.

Hela team av kunder, programmerare och testare bör vara en gemensam förståelse av de funktioner som följer har (Fig. 5).Hela team av kunder, programmerare och testare bör vara en gemensam förståelse av de funktioner som följer har (Fig. 5).


Baserat på ovanstående acceptanskriterier, utvecklingsteamet initialt arbeta med beskrivande exempel de innan du flyttar funktionen dock fortsätta att förfina. Exempel driva det kortfattat och exakt vad som ska uppnås genom funktionerna. De rör sig i nivå med de affärsmässiga krav och bör ha något att göra med genomförandet detaljer såsom position grafiska elementen.

Parallellt med genomförandet av funktionerna hos laget sedan arbetar för att automatisera exemplen. Vissa utvecklare grupper är ännu kunna integrera affärslogiken av affärsidéer baserat på deras domän kod. Litteraturen talar om Outside-In Development: Utvecklingen drivs från utsidan till insidan. I det här fallet bara så mycket domän kod och programlogiken är konstruerad och skrivs som är absolut nödvändigt. I praktiken finns det några lag som har nått en sådan mognad. Fördelarna med denna metod är dock inte avfärdas ur handen: Kan vara innan utvecklingen visar att den föreslagna tillämpningen kommer att utföra vad de vill, då flexibiliteten att förändringar i kraven på lång sikt.

Total TDD och ATDD bildar en symbios med vilken en hög grad kan uppnås på testautomatisering. Sålunda, är möjlig genom ATDD en begäran lock nära 100 procent, medan med TDD 100 procent kodtäckning är möjlig. Kombinerad TDD säkerställer därmed att koden var korrekt, medan ATDD ser till att det är rätt kod.