PUG Norway – 12. nov 09Thomas Skjørten / Jan Kolstad.

Slides:



Advertisements
Liknende presentasjoner
C++ for Java-programmerere
Advertisements

Progress Software AS.NET-strategi Bjørn Haugen Account Manager PUG møte 27.mars 2003.
Progress Brukerforening Tormod Sveli
Ditt eget integrerte utviklingsmiljø med OpenEdge i fokus Hamar 27. mars 2009 Thomas Skjørten/Jan Kolstad.
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
Extreme Integration Oslo XP meetup, 22. mars, 2011 Johannes Brodwall.
TIF seminar -Visual Basic (VBA) og RExcel Elisabeth Orskaug Norsk Regnesentral Oslo, 8. november 2011.
Programvaretesting In 140 Sommerville kap 20.
Prosjektmedlem Lars-Erik Kindblad, s Prosjektmedlem Lars-Erik Kindblad, s
Go Mobile AS Mobile Løsninger Utvikling Consulting.
BarentsWatch Lab Mål, funksjoner og oppgaver - Per-Arne Hoel, nov
Vitacon apparat- og pasientadministrasjon Gruppe 31 Maria Nguyen & Mariann Stensland.
Velkommen! USITs utviklerforum, 20.februar Tjenestegruppe for utvikling Arrangerer utviklerforum Skal dele erfaringer på tvers på USIT Er ansvarlig.
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Verifikasjon og validering
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Utvider eksemplet om biler fra forrige gang med mer feilsjekk Tid og Dato.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Hovedprosjekt 44 Webrapporteringssystem med ASP
Hovedprosjekt nr 57E: Et nettverksspill laget med Microsoft komponentteknologi, Microsoft Transaction Server og Rational Unified Process Gjennomføres av.
Erfaring med bruk av åpen kildekode til støtte for læringsprosessene
PPS 2007 og BI rpporteringsløsninger 11 april 2007.
Administrasjon av SQL Server 2008 Av: Ole Kristian Bangås Fagansvarlig SQL Server.
Automatiske fallgruver ved GUI-testing Antares Gruppen AS 12. september 2012 Erlend Flaten.
Riktig kvalitet i leveransene kommer ikke av seg selv Ellen D. Varsi – Lyntale til Smidig 2010.
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Automated Testing Tool & When to Stop Testing
En lean verdikjede for utvikling av systemer
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Høgskolen i Oslo Webprogrammering Java-scripting 2 Klientvalidering.
Teknisk gjeld i smidige prosjekter Synliggjøre: Fremgang Hindringer
Black box testing av webapplikasjoner
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Fitnesse i PDMT 05. mai 2008 Finn-Robert Kristensen Systemarkitekt.
Julemøte Oslo 1. desember 05
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
Praktiske erfaringer med Objektorientert Progress og.NET Jan Kolstad PUG Norway, Lillehammer 2005.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
Bachelorprosjekt - Oppgave 17E
.NET og Progress Samspill og styrker, GUI og forretningslogikk.
Tema: Universell design Rune Runnestø Mem Thi Van Seminar om utfordringer og muligheter innen Universell utforming av IKT 5. Mars 2009.
OpenEdge og.NET Jan Kolstad PUG Norway Lillehammer 2004.
Utvikling av tegneverktøy for Generalized Sketches Student: Ørjan Hatland Veiledere: Yngve Lamo, Høgskolen i Bergen Uwe Wolter, Universitetet i Bergen.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Subversion addin for Visual Studio.NET av: Arild Fines Per August Krämer Kristin Borud.
POS Runner Pål Foros POS Runner Pål Foros. side 2 POS Runner :: Oppgavestiller EDB Business Partner er en ledende nordisk IT- operatør. Avdelingen som.
YXD-Kurdistan Om oss Asad Fattahi Samarbeidet i flere andre prosjekter
Bachelorprosjekt - Våren 2008 Office SharePoint Server 2007 Gruppe 36 Vegard Ofstad Ernestina Osei-Assibey.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
Subversion addin for Visual Studio.NET av: Arild Fines Per August Krämer Kristin Borud.
1 Lynkurs i PC-basert instrumentering FYS 223 – PC-basert instrumentering Vårsemester, Fysisk institutt, 3 vekttall Gi gjerne tilbakemelding.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Finne feil - Debugging Introduksjon til sortering.
Kap. 9 – Computer Intelligence How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
FREDRIKSTAD KOMMUNE Digitale reguleringsplaner Per Henning Bjerva.
“Industrial approach for testing (2)” Teknikker og verktøy for testing i et Scrum-team Utdrag fra Skatteetatens teststrategi Sten Aksel Heien Skatteetatens.
Øvingsforelesning i Python (TDT4110)
Programvareprosessen styrer utviklingen
IS-102 Interaksjon med objekter
Lokal økonomi-informasjon
Gruppe 59E Jan Erik Digernes Kjell Breimo
Frode Hammer Håvard Gustad
Power BI User Group Norway Dynamics User Group Norway
Utskrift av presentasjonen:

PUG Norway – 12. nov 09Thomas Skjørten / Jan Kolstad

Agenda  Kort reprise fra PUG Årsmøte 2009  Hva er automatisk bygging (Build)?  Automatisk testing (unittesting) i OpenEdge

Det komplette utviklingsmiljø  Moderne verktøyer for å styre alle deler av utviklingsprosessen.  Utviklingsverktøy  Kildekodekontroll  Oppgavehåndtering  Dokumentasjon  Kvalitetessikring  Build  På tvers av teknologi  Støtter alle roller i utviklingen

Verktøyer i bruk  OE Architect (Eclipse)  Teamprise Client Suite  Microsoft Visual Studio  Microsoft Team Foundation Server  Microsoft Office

Automatisk bygging  Egen prosess for bygging av programvare  Kompilering av kildekode  Automatisk testing for å sikre kvalitet  Generering basert på ferdigkompilert kildekode  ProxyGen  Pakking av programvare (.pl)  Installasjonspakker  Kjøres alltid basert på innsjekket kildekode  Kjøres basert på events (tidspunkt, innsjekking) eller manuelt

Automatisk bygging  Svært nyttig ved utvikling i team (>1 person)  Nødvendig ved smidig utvikling  Kode bygges uavhengig av maskinoppsett  Rask tilbakemelding til utviklere om deres endringer er i konflikt med andres  Sikrer kvaliteten i alle endringer  Forenkler deployment / release

Automatisk bygging - visualisering

Unittesting  Kompilering sikrer at koden har rett syntaks  Unittesting sikrer at koden gjør det den skal  Sikrer kvaliteten i applikasjonen  Hindrer at endringer får uønskede konsekvenser  Sikkerhetsnett for endringer i hele applikasjonens levetid

Hva er en unittest?  Kode som tester kode  En prosedyre / metode som kaller en eller flere andre prosedyrer / funksjoner med forskjellige parametere for å sjekke at resultatet er som forventet. function GetUkeNrForDato returns int private (dato as date): def var oUke as int no-undo. if dato <> ? then assign oUke = (((dato - date(1,1,year(dato)) + 1) + ((weekday(date(1,1,year(dato))) + 5) mod 7) ) - ((weekday(dato) + 5) mod 7 + 1) - 1 ) / oUke = if weekday(date(1, 3, year(dato))) <= 3 then (if oUke = 1 then 53 else oUke - 1) else oUke. return oUke. end function. /* Tester funksjonen GetUkenrForDato */ PROCEDURE testGetUkenrForDato: def var ukenr as int no-undo. ukenr = GetUkeNrForDato(date(11,1,2009)). RUN assertEqualsInt(ukenr, 44). ukenr = GetUkeNrForDato(date(1,1,2009)). RUN assertEqualsInt(ukenr, 1). ukenr = GetUkeNrForDato(date(12,31,2009)). RUN assertEqualsInt(ukenr, 53). ukenr = GetUkeNrForDato(date(12,24,2009)). RUN assertEqualsInt(ukenr, 52). END.

Regler for en unittest  Skal teste så konkrete ting som mulig  Må være rask  Være helt uavhengig av andre tester  Tester skal kunne kjøres i en hvilken som helst rekkefølge  Skal ikke være avhengig av eksterne ressurser  Database  Filsystem

Utfordringer  Testbarhet er tett knyttet opp mot arkitektur  Ikke tilrettelagt arkitektur kan gjøre unittesting umulig  Avgrensning av testene  Uavhengighet fra eksterne ressurser  De fleste systemer er veldig datadrevne (CRUD), hvordan teste dette uten å ha tilknytning til databasen?

Unittesting i Progress  Både prosedyrisk og objektorientert kode kan testes  OO er ofte enklere fordi arkitekturen og ansvarsfordelingen er mer definert  Krever et rammeverk for kjøring av testene  ProUnit (Open source)  Prosedyrisk  Kjøres stand-alone  OEUnit (Open source)  Objektorientert  Integreres i Eclipse  Punit (Open source)

Oppsummert  Med Eclipse, TFS og Teamprise har vi nå et komplett moderne miljø for Progressutvikling  Automatisk bygging svært nyttig ved arbeid i team  Unittesting sikrer kvaliteten i det vi lager både under utvikling og i framtiden

Linker  Microsoft TFS  us/teamsystem/default.aspx us/teamsystem/default.aspx  Teamprise   ProUnit   OEUnit   Punit 