Agil metodik i mjukvarutestning

Smidig metod

Vad är agil metodik vid testning?

Agil metodik betyder en praxis som främjar kontinuerlig iteration utveckling och testning under hela projektets programvaruutvecklingslivscykel. I Agile-modellen inom mjukvarutestning sker både utvecklings- och testaktiviteter samtidigt, till skillnad från Waterfall-modellen.

Smidig metod
Smidig metod

Vad är Agil mjukvaruutveckling?

Smakämnen Agile mjukvaruutveckling metodik är en av de enklaste och effektivaste processerna för att omvandla en vision för ett affärsbehov till mjukvarulösningar. Agile är en term som används för att beskriva metoder för mjukvaruutveckling som använder kontinuerlig planering, lärande, förbättring, teamsamarbete, evolutionär utveckling och tidig leverans. Det uppmuntrar flexibla reaktioner på förändringar.

Den agila mjukvaruutvecklingen betonar fyra kärnvärden.

  1. Individuella och teaminteraktioner över processer och verktyg
  2. Arbetsprogramvara över omfattande dokumentation
  3. Kundsamarbete om kontraktsförhandlingar
  4. Svara på byte efter en plan

Agile modell vs vattenfallsmodell

Agile och vattenfallsmodellen är två olika metoder för mjukvaruutvecklingsprocessen. Även om de är olika i sitt tillvägagångssätt, är båda metoderna användbara ibland, beroende på kravet och typen av projekt.

Agil modell Vattenfallsmodell
Agil metodik i definition av mjukvarutestning: Agil metodologi föreslår inkrementell och iterativ metod för mjukvarudesign Vattenfallsmodell: Utvecklingen av mjukvaran flyter sekventiellt från startpunkt till slutpunkt.
Smakämnen Agil process i mjukvarutestning är uppdelad i individuella modeller som designers arbetar med Designprocessen är inte uppdelad i enskilda modeller
Kunden har tidiga och frekventa möjligheter att titta på produkten och fatta beslut och förändringar i projektet Kunden kan bara se produkten i slutet av projektet
Agil modell i testning anses ostrukturerad jämfört med vattenfallsmodellen Vattenfallsmodellen är säkrare eftersom de är så planorienterade
Små projekt kan genomföras mycket snabbt. För stora projekt är det svårt att uppskatta utvecklingstiden. Alla typer av projekt kan uppskattas och slutföras.
Fel kan åtgärdas mitt i projektet. Först i slutet testas hela produkten. Om kravfelet hittas eller några ändringar måste göras måste projektet starta från början
Utvecklingsprocessen är iterativ och projektet genomförs i korta (2-4) veckors iterationer. Planeringen är mycket mindre. Utvecklingsprocessen är stegvis, och fasen är mycket större än iteration. Varje fas avslutas med en detaljerad beskrivning av nästa fas.
Dokumentation har mindre prioritet än mjukvaruutveckling Dokumentation har högsta prioritet och kan till och med användas för att utbilda personal och uppgradera programvaran med ett annat team
Varje iteration har sin egen testfas. Det tillåter implementering av regressionstestning varje gång nya funktioner eller logik släpps. Först efter utvecklingsfasen exekveras testfasen eftersom separata delar inte är fullt fungerande.
I agilt testning när en iteration slutar, levereras produkter som kan levereras till kunden. Nya funktioner är användbara direkt efter leverans. Det är användbart när du har bra kontakt med kunder. Alla utvecklade funktioner levereras på en gång efter den långa implementeringsfasen.
Testare och utvecklare arbetar tillsammans Testare arbetar separat från utvecklare
I slutet av varje sprint utförs användaracceptans Användaracceptans är utfört i slutet av projektet.
Det kräver nära kommunikation med utvecklare och tillsammans analysera krav och planering Byggherren involverar inte i krav- och planeringsprocess. Vanligtvis är det tidsfördröjningar mellan tester och kodning

Kontrollera också: - Agile vs Waterfall: Vet skillnaden mellan metoder

Agil process

Kolla nedan Smidig metod process för att snabbt leverera framgångsrika system.

Agil processmodell
Agil processmodell

Det finns olika Agila metoder finns i agila tester, och de listas nedan:

Scrum

SCRUM är en agil utvecklingsmetod som fokuserar specifikt på hur man hanterar uppgifter inom en teambaserad utvecklingsmiljö. I grund och botten är Scrum härlett från aktivitet som sker under en rugbymatch. Scrum tror på att stärka utvecklingsteamet och förespråkar arbete i små team (säg 7 till 9 medlemmar). Agile och Scrum består av tre roller, och deras ansvarsområden förklaras enligt följande:

Scrum metod
Scrum metod
  • Scrum Master
    • Scrum Master ansvarar för att sätta upp laget, sprintmöte och tar bort hinder för framsteg
  • Produktägare
    • Produktägaren skapar produktbacklog, prioriterar eftersläpningen och ansvarar för leveransen av funktionaliteten vid varje iteration
  • Scrum Team
    • Team sköter sitt eget arbete och organiserar arbetet för att klara sprinten eller cykeln

Produktbacklog

Detta är ett arkiv där krav spåras med information om antalet krav (användarberättelser) som ska fyllas i för varje utgåva. Det bör underhållas och prioriteras av produktägaren, och det bör distribueras till scrum-teamet. Team kan också begära ett nytt kravtillägg eller ändring eller radering

Scrum-övningar

Praxis beskrivs i detalj:

Scrum-övningar
Scrum-övningar

Processflöde av Scrum-metoder:

Processflöde av scrum testning enligt följande:

  • Varje iteration av ett scrum kallas Sprint
  • Produktbacklog är en lista där alla detaljer skrivs in för att få slutprodukten
  • Under varje Sprint, toppanvändarberättelser om produktbacklog väljs ut och omvandlas till Sprint orderstock
  • Teamet arbetar med den definierade sprintbackloggen
  • Teamkontroller för det dagliga arbetet
  • I slutet av sprinten levererar teamet produktfunktionalitet

Extrem programmering (XP)

Extreme Programmeringsteknik är till stor hjälp när det finns ständigt förändrade krav eller krav från kunderna eller när de är osäker på systemets funktionalitet. Den förespråkar frekventa "släpp" av produkten i korta utvecklingscykler, vilket i sig förbättrar systemets produktivitet och även introducerar en kontrollpunkt där alla kundkrav enkelt kan implementeras. XP utvecklar mjukvara som håller kunden i målet.

Extrem programmering
Extrem programmering

Verksamhetens krav är samlade i termer av berättelser. Alla dessa historier är lagrade på en plats som kallas parkeringsplatsen.

I denna typ av metodik baseras utsläppen på de kortare cyklerna som kallas Iterationer med en tidsperiod på 14 dagar. Varje iteration inkluderar faser som kodning, enhetstestning och systemtestning där en mindre eller större funktionalitet kommer att byggas in i applikationen i varje fas.

Faser av eXtreme programmering:

Det finns 6 faser tillgängliga i Agile XP-metoden, och de förklaras enligt följande:

Planering

  • Identifiering av intressenter och sponsorer
  • Infrastrukturkrav
  • Säkerhet relaterad information och insamling
  • Service Level Agreements och dess villkor

Analys

  • Att fånga berättelser på parkeringsplatsen
  • Prioritera berättelser på parkeringsplatsen
  • Skrubbning av berättelser för uppskattning
  • Definiera Iteration SPAN (tid)
  • Resursplanering för både utvecklings- och QA-team

Design

  • Dela upp uppgifter
  • Testscenario förberedelse för varje uppgift
  • Regression Automation Framework

Utförande

  • Kodning
  • Utförande av manuella testscenarier
  • Generering av felrapporter
  • Konvertering av regressionstestfall från Manual till Automation
  • Mid Iteration recension
  • End of Iteration granskning

Inslagning

  • Små releaser
  • Demos och recensioner
  • Utveckla nya berättelser utifrån behovet
  • Processförbättringar baserat på granskningskommentarer vid slutet av iterationen

Stängning

  • Pilotstart
  • Utbildning
  • Produktionsstart
  • SLA-garanti
  • Revse SOA-strategi
  • Produktionsstöd

Det finns två storyboards tillgängliga för att spåra arbetet på daglig basis, och de listas nedan för referens.

  • Berättelse kartong
    • Detta är ett traditionellt sätt att samla alla berättelser på en tavla i form av sticklappar för att spåra dagliga XP-aktiviteter. Eftersom denna manuella aktivitet kräver mer ansträngning och tid är det bättre att byta till ett onlineformulär.
  • Online Storyboard
    • Onlineverktyget Storyboard kan användas för att lagra berättelserna. Flera lag kan använda den för olika ändamål.

Kristallmetoder

Crystal Methodology bygger på tre koncept

  1. Befraktning: Olika aktiviteter som är involverade i denna fas är att skapa ett utvecklingsteam, utföra en preliminär genomförbarhetsanalys, utveckla en initial plan och finjustera utvecklingsmetoden
  2. Cyklisk leverans: Den huvudsakliga utvecklingsfasen består av två eller flera leveranscykler, under vilka
    1. Team uppdaterar och förfinar releaseplanen
    2. Implementerar en delmängd av kraven genom ett eller flera programtestintegreratiterationer
    3. Integrerad produkt levereras till riktiga användare
    4. Revöverblick över projektplanen och antagen utvecklingsmetodik
  3. Sammanfatta: Aktiviteterna som utförs i denna fas är implementering i användarmiljön, granskningar efter implementering och reflektioner utförs.

Dynamisk mjukvaruutvecklingsmetod (DSDM)

DSDM är en Snabba applikationsutveckling (RAD) tillvägagångssätt för mjukvaruutveckling och ger ett smidigt ramverk för projektleverans. Den viktiga aspekten av DSDM är att användarna måste vara aktiva och att teamen ges makten att fatta beslut. Frekvent leverans av produkt blir det aktiva fokus med DSDM. Teknikerna som används i DSDM är

  1. Tid Boxanvändning
  2. Moskvas regler
  3. Prototyping

DSDM-projektet består av 7 faser

  1. Förprojekt
  2. Förstudie
  3. Affärsstudie
  4. Funktionell modell iteration
  5. Designa och bygga Iteration
  6. Genomförande
  7. Efterprojekt

Funktionsdriven utveckling (FDD)

Denna metod är fokuserad kring "designa och bygga" funktioner. Till skillnad från andra agila metoder inom mjukvaruteknik, beskriver FDD mycket specifika och korta faser av arbete som måste utföras separat per funktion. Det inkluderar domängenomgång, designinspektion, främja att bygga, kodinspektion och design. FDD utvecklar produkthållning efter saker i målet

  1. Domänobjektmodellering
  2. Utveckling per funktion
  3. Komponent/klassägande
  4. Feature Team
  5. Inspektioner
  6. Systemintegration
  7. Regelbundna byggen
  8. Synlighet av framsteg och resultat

Mager mjukvaruutveckling

Lean mjukvaruutvecklingsmetoden bygger på principen "Just in time production". Det syftar till att öka hastigheten på mjukvaruutveckling och minska kostnaderna. Leanutveckling kan sammanfattas i sju steg.

  1. Eliminera avfall
  2. Förstärker lärandet
  3. Skjut upp åtagandet (beslutar så sent som möjligt)
  4. Tidig leverans
  5. Att stärka laget
  6. Byggnad Integrity
  7. Optimera helheten

Kanban

Kanban ursprungligen kom från japanska ordet som betyder, ett kort som innehåller all information som behövs för att göras på produkten i varje steg längs vägen till färdigställande. Denna ram eller metod är ganska antagen i mjukvarutestmetoden, särskilt i agila koncept.

Scrum vs Kanban

Scrum Kanban
I scrumteknik ska test brytas ner så att de kan genomföras inom en sprint Ingen särskild artikelstorlek är föreskriven
Föreskriver en prioriterad produktbacklog Prioritering är valfritt
Scrum-teamet åtar sig en viss mängd arbete för iterationen Engagemang är valfritt
Nedbränningsdiagram är föreskrivet Ingen särskild artikelstorlek är föreskriven
Mellan varje sprint återställs en scrumboard En Kanban-bräda är beständig. Det begränsar antalet objekt i arbetsflödestillstånd
Det kan inte lägga till objekt till pågående iteration Den kan lägga till objekt närhelst kapacitet är tillgänglig
WIP begränsas indirekt WIP begränsat direkt
Timeboxed iterationer föreskrivs Timeboxed iterationer valfritt

Kontrollera också: - Kanban vs. Scrum: Vad är skillnaden?

Agila mått

Mätvärden som kan samlas in för effektiv användning av Agile är:

  • Dragfaktor
    • Ansträngning i timmar som inte bidrar till sprintmålet
    • Dragfaktorn kan förbättras genom att minska antalet delade resurser, minska mängden icke-bidragande arbete
    • Nya uppskattningar kan ökas med procentandel av dragfaktor -Ny estimat = (Gammal bedömning+dragfaktor)
  • Hastighet
    • Mängden backlog (användarberättelser) konverterade till leveransbar funktionalitet av sprint
  • Antal enhetstester har lagts till
  • Tidsintervall som togs för att slutföra daglig konstruktion
  • Buggar upptäckts i en iteration eller i tidigare iterationer
  • Produktionsfel läckage