Kvalitetssäkra ditt projekt med kontinuerlig integration Mathias Olausson http://olausson.net/blog
Om oss: QWise Vi hjälper systemutvecklingsteam att bli bättre. Vi är experter på ALM och Team System. Vi erbjuder hjälp med installation, anpassning, utökning, utbildning och rådgivning.
Intro Would you tell me, please, which way I ought to go from here? asked Alice That depends a good deal on where you want to get to, said the Cat I don t much care where, said Alice Then, it doesn t matter which way you go said the Cat
Vad är kvalitet?
Quality means doing the right thing when no one is looking Henry Ford
Förmåga att uppfylla krav Förvaltnings barhet Överensstämmelse till krav Kvalitet? Avsaknad av defekter Duglighet för användning Värde för en person
Hur förbättra kvalitet?
VSTS och Kvalitet Integrate Test Build
Verktyg och practices Källa: Tools for Agility, Kent Beck
Kontinuerlig integration Assumption is the mother of all screw-ups Wethern s law of suspended judgement
Värdet av CI Minskar risker Minskar manuella rutiner Skapar levererbar mjukvara Skapar förtroende i produkten från utvecklarna Identifierar brister tidigt Sparar tid Automatisk dokumentation Förbättrar synlighet i projektet
Varför kör inte alla CI? Ökad overhead att underhålla CI För stor insats att etablera För ofta fel i byggbarheten Ökade kostnader för CI miljö Duplicerat arbete, utvecklare gör det ändå
Förutsättningar för CI Checka in ofta Checka inte in trasig kod Laga trasigt bygge direkt Skriv enhetstester Alla tester och inspektioner ska fungera Kör privata byggen Undvik ta ut trasig kod Bygg vid varje ändring
Återkoppling Inspektion Komponenter i CI Byggautomatisering Databasintegration Deployment Testning
First master the fundamentals Larry Bird
Byggautomatisering Team Foundation Client Skapa build type Starta bygge Rapporter Drop Location Application Tier Team Build Web Services Build Machine Team Foundation warehouse Data Tier Källkod Work items Team Build data MSBuild
Process Team Build Publish Build Trigger Build Calculate Code Churn Prepare Build Calculate Code Coverage Get Sources Update Work Items Compile & Analyze Execute Tests
Anpassning Visual Studio Anpassning Team Build Utökning
Utökning
Demo Byggautomatisering
Databasintegration Automatiserad databasintegration Versionshanterade databasresurser Utvecklare ändrar databas DBA del av utvecklingsteamet Automatiserad deployment
Integrationsaktiviteter Validera SQL och DDL Testa databaskod Skapa databas Infoga systemdata Infoga testdata Jämföra databaser Uppdatera databaser
VSTS Database Edition Deployment Enhetstester VSTS- DB Schemajämförelser Datajämförelser Versionshantering Byggintegration
Demo Databasintegration
Deployment Fungerande mjukvara närsomhelst Automatisk paketering Skapa ren miljö Enkelt växla miljö
Verktyg Team Build Custom Tasks TFS Deployer PSExec
Demo Deployment
Testning Automatiserade enhetstester Automatiserade funktionstester Automatiserade systemtester Repeterbara tester Återrapportering
Autotest process Team Foundation Server Build & Test Server Test databas
Autotest process Team Foundation Server Build Server Test Server Test databas
Demo Testintegration
Inspektion Designgranskning Kodgranskning Minskad kodkomplexitet Kodtäckningsmätning
Inspektion
Demo Inspektion
Återkoppling Rätt information......till rätt mottagare......i rätt tid......på rätt sätt!
Rapporter
Notifieringar
Dashboards
Data för återkoppling
Demo Återkoppling
Framtiden Källa: Tools for Agility, Kent Beck
Framtiden Gated Checkins No-repro vid defekthantering Code metrics i byggen Tillgängligt nu: Microsoft Pre-release Software Visual Studio 2010 Dashboards and.net Framework 4.0 Community Technology Preview (CTP) Automatiserad testning Enklare rapporter VSTS Team Lab Manager
Kvalitetssäkring med kontinuerlig integration Levererbara system Automatiska byggen Databasintegration Deployment Kvalitetssäkring Testning Inspektion Synliggöra resultat Rapporter Notifieringar Dashboard
Att tänka på...
Referenser
Tack för mig! mathias.olausson@qwise.se http://olausson.net/blog