Per Erik Strandberg /cv /kurser /blog
Bild: Per Strandberg - testare, civilingenjör och matematiker.

Per har en tillsvidareanställning och letar inte nya uppdrag.

Egenskaper

Per har doktorerat i testautomatisering som industridoktorand på Westermo och MDH (nu MDU) under 2016-21. Han har publicerat i internationella sammanhang och vunnit pris för sin forskning. Han är även en certifierad testledare, testare och kravhanterare med bakgrund inom systemutveckling. Per är trygg med det mesta från test, krav, kod, databaser till insamling av resultat och visualisering; samt problemformulering, modellering och analys. Per är inte rädd för att tala inför folk. Just nu är Per aktiv inom ett stort forskningsprojekt finansierat av EU för att undersöka artificiell intelligens i utvecklings- och testprocessen.

Per har en gedigen erfarenhet av test och behärskar allt från enhetstester till att utföra acceptanstester on site. Han har stor erfarenhet av utveckling av automatiserade testsystem, system-, integration-, exploratory- och manuell testning, samt datainsamling och visualisering från testning.

Per är en analytisk lyssnare och har en ödmjuk och pedagogisk framtoning. Han har handlett flera examensarbeten för studenter på bachelor- (kandidat) och masternivå (civilingenjör), och även handlett studenter som genomfört utvecklingsprojekt under sina studier. Han är social och jobbar gärna i grupp tillsammans med andra roller och kompetenser. Per finner stort nöje i att analysera och visualisera ett komplext system till en förståelig enhet.

Per har stor vana av utveckling i en rad språk som Python, GoLang, och C#, samt C, C++, MATLAB och vana av olika utvecklingsmiljöer i Docker, Linux, Windows och Mac.

Per skriver och pratar svenska och engelska flytande. Därutöver har han grundläggande kunskap i franska och kan även lite tyska och esperanto.

På sin fritid gillar Per att vandra Bruksleden, laga mat över öppen eld, eller att läsa böcker om filosofi och etik.

Huvudkompetens

Exempel på Roller

Tekniker

Utbildning

Doktorandstudier

Universitetsutbildning

Industriutbildning

Gymnasieutbildning

Militärt

Uppdrag

Forskning Westermo, 2017 januari – pågående

Forskare/Projektledare, AIDOaRt - H2020-ECSEL 101007350, (2021-2024). Om artificiell intelligens för att förstärka utvecklingsprocessen.

Industridoktorand, ITS ESS-H - KKS 20150277 (2017-2021). Industriforskarskola för tillförlitliga inbyggda sensorsystem.

Forskare, TESTMINE - KKS 20160139 (2017-2019). Mining Test Evolution for Improved Software Regression Test Selection.

Testning Westermo, 2013 juni – pågående

Roll: Testledare/testare
Tekniker: Python, Git, GNU/Linux, Embedded, MySQL, tcpdump, Wireshark
Testning: Riskbaserad testning, Automattester, Manuell testning, Utforskande Testning

Pers uppdrag på Westermo är att agera testledare för releaser av WeOS. Per införde en riskbaserad testapproach för att få en tydligare styrning på testaktiviteterna. Resultatet av testningen presenteras löpande för att tillåta beslutsfattande att fatta beslut om: vilka resurser behövs? är testningen tillräckligt bra? genomförs testningen i rätt ordning? hur stor andel dåliga fixas har vi? etc. Per förenklade vyer av testresultat från den automatiserade testningen, till exempel för att visa trender och aggregerade testresultat från utvalda funktionella områden. Resultaten kunde även exporteras till olika format för att förenkla import till Excel eller som json. Statistiken kunde även fås i en IRC chatt. I vissa fall analyserades SQL-frågor och ibland uppnåddes hastighetsökningar med en faktor 400 (från 20 sekunder till 0.04 sekunder).

I samband med valideringen är Per även testare och genomför manuella tester och utforskande testning. I de fall det behövs kan trafiken undersökas med tcpdump och wireshark. Automattester implementerade i Python nyutvecklas eller skrivs om för att anpassas till nya releaser.

Då Westermo har en mycket stor mängd automatiserade tester, som alla tar ett par minuter, räcker tiden för de nattliga testerna inte till. Per samlade in krav för att förbättra testsvitshanteringen och har i genomfört ett projekt för att förbättra processer för att få ett riskbaserat urval av de nattliga testerna. Detta möjliggör god förutsägbarhet för när de nattliga körningarna blir klara och låter till exempel fler tester utföras på helger (när testsystemen inte behövs lika mycket till för exempel utveckling).

Westinghouse Electric Sweden, 2013 Vår

Roll: Mjukvaruarkeolog, granskare, bollplank
Tekniker: Kodgranskning, reverse engineering, dokumentation, uppskattningar av storlek i SLOC (source lines of code) och FP (funktionspoäng), uppskattning av komplexitet, förstudie, visualisering, kostnadsuppskattning, beslutsstöd

Pers uppdrag var att i en förstudie bidra till kategorisering av mer än ett dussin mätsystem inför förändringen i infrastruktur, undersöka övrigt förändrings- och underhållsbehov samt bidra med beslutsstöd och kostnadsuppskattningar.

Genom granskning av källkod och dokumentation samt reverse engineering undersökte Per filformat, protokoll, arkitektur och modularitet. Källkoden som är utvecklad i ett tiotal tekniker, fick storleken bedömd med hjälp SLOC och funktionspoäng. Även funktionell nedbrytning och uppskattning av komplexitet användes vid jämförelser.

Där ingen vedertagen metod för jämförelser fanns utvecklades och dokumenterades nya metoder – bland annat för att mäta komplexitet i avancerade kalkylblad. Även domänexperter anlitades vid kostnadsbedömningen.

Pers huvudsakliga leverabler i samband med förstudien var en 170-sidig nulägesanalys, tre metoddokument, kalkylark med mätsystem nedbrutna i bland annat funktionsnivåer. I övrigt bidrog Per i arbetet med projektvisioner, risk- och möjlighetsanalys och en systemöversikt för att visualisera sammanhang mellan systemen.

Fokus låg även på kvalitet, till exempel: spårbarhet, repeterbarhet, dokumentation och granskning.

Kravarbete, 2012 Höst

Roll: Kravingenjör
Tekniker: Excel, Use Case, Brainstorming, Granskning, Mindmap.

Per har arbetat med ett flertal olika projekt där han fungerat som kravställare samt systemdesigner. Han har på ett systematiskt sätt omvandlat krav till övergripande systemdesign. Krav granskades, kategoriserades och tveksamma eller motsägelsefulla krav lyftes fram.

Han har i dessa projekt arbetat med utredningar, planering och dokumentation.

Per har även analyserat processer och kommit med förslag på metoder för processförbättringar.

Westermo RnD, 2011 september – 2012 juli

Roll: Systemutvecklare/Testare
Tekniker: Python, Git, GNU/Linux, Embedded, Matplotlib, MySQL, Wireshark, Scapy, tcpdump, hping3, Emacs, vi, Mantis, pylint
Testning: Automattester, Prestandatester, Manuell testning, Exploratory Testing

Arbete inom Westermo RnD’s testplattform som nattligen kör cirka 1500 olika kombinationer av tester, mjukvara och hårdvara. Testsystemen är uppbyggda av Westermo-produkter: switchar för industriellt ethernet.

Utveckling av testsytem inom områdena: utökad loggning, utökade parametrar för att inkludera nya användningsområden, till exempel för att förenkla masskörningar, pausa vid problem, avbryta tester som tar för lång tid samt metatester för att testa testplattformen.

Nyutveckling, portering och felsökning av automattester, speciellt inom områden som brandvägg (NAT/NAPT), VRRP, LLDP och PoE. Testerna har även verifierat protokollspecifika paket med verktyg som Scapy, tcpdump och Wireshark. Testsystemet har utökats för att tillåta automatiserade prestandatester av produkter mot Ixia.

Design och implementation av en relationsdatabaslösning i för insamlande av statistik från nattliga körningar, samt inkoppling till existerande testsystem för att samla in resultat till databasen. Skapande av rapporteringsverktyg för statistik och visualisering av trender till exempel allmänna trender, hur tester går över tid samt sammanfattningar av nattliga körningar.

Granskning av testspecifikationer och automattester.

Manuell testning enligt testspecifikationer och även till exempel exploratory testing och smoke tests/"fri testning".

Föräldraledig, 2011 vår och sommar

Roll: Igångstartare, Mentor, Uppstädare
Tekniker: Blöjbyten, lekplats, nappflaska,

Som föräldraledig var Per djupt engagerad i sin dotter när hon började ta sina första egna steg. Mycket tid ägnades åt att leka i lekplatsen, men även åt personlig hygien och kunskapsöverföring (övrig personal på arbetsplatsen var mycket junior).

Bombardier Transportation, 2009 feb – 2011 mar

Roll: Krav-, test- och kodgranskare; systemutvecklare; koordinator; audioexpert; testare; igångstartare; utredare
Tekniker: C++, C#, Python, Excel, FRACAS, Embedded Linux, Embedded Windows

Ansvarig för test av och mottagare av mjukvara till audiosystemet till de tunnelbanetåg i Indien.

Visualisering av mjukvaru- och hårdvaruberoenden för att hitta flaskhalsar i planering hos underleverantör.

Granskning av industristandarder, Bombardiers och underleverantörens krav, modultester, acceptanstester och källkod. Komplettering av tester utifrån hittade resultat (som otestade krav).

Montering, uppdatering och testning på testvägg i Västerås och hos underleverantör. Implementerade en .NET applikation för att visualisera källkod (tillståndsmaskiner) genom reverse engineering av rådata. Applikationen utvecklades iterativt efter en första pilot i Python. GGraphviz användes för att göra bilderna och kunde med .NET och Mono köras oberoende av operativsystem.

Utveckling av en hårdvarusimulator för utökad test av underleverantörens mjukvara. Utvecklades i .NET med TCP/IP sockets i parprogrammerings anda med en av underleverantörens konsulter.

Del av team som utvecklade ett inbyggt system som spelade förinspelade meddelande (”nästa station är...”) på slutprodukten. Första iterationen körde ett bantat Ubuntu Linux som operativsystem med ett virtualiserat Windows med applikationen låg i .NET. Med Windows Embedded gjordes ett bantat slutgiltigt operativsystemet som bootade från skrivskyddat minneskort på hårdvaran.

Testledare på site (i Indien) med uppstart, installation och integrationstester på tågen, i ett team på fem personer.

I princip daglig kontakt och uppföljning av ärenden med underleverantör.

Hantering av ljuddatabas med SQLite.

Uppsamling och dokumentering av ärenden. Analys, visualisering och prognos av ärenden. Analys och visualisering av data från FRACAS (Failure Reporting, Analysis and Corrective Action Systems) från slutprodukt i MS Excel.

Tool Tracker, 2009 Q1

Roll: Systemutvecklare
Tekniker: C#, Access Control List, Test-driven utveckling, Visual Studio, MS Server Express

Per introducerade ett säkerhetslager i en mjukvaruapplikation. En plugin för Access Control List utvecklad med test driven utveckling i Visual Studio med databas i MS Server Express.

Profoto Studio, 2008 höst

Roll: Systemutvecklare
Tekniker: Trådlös kommunikation, USB, .NET/Mono, XCode

Per vidareutvecklade mjukvara som hantera ett industriellt fotoblixtsystem. Kommunikation via radio och USB. Kördes på Mac OSX i Mono och på Windows i .NET med inslag av Objective-C respektive C++. Utveckling av en översättningsmodul som parsar XML frasdata. Fokus på icke-redundans och låg minnesanvändning.

Utvecklingen skedde i XCode och Visual Studio med revisionshantering i SVN.

Show Stopper, 2008 höst

Roll: Systemutvecklare
Tekniker: C, Embedded, trådlös kommunikation

Vidareutveckling av ett inbyggt system för ett fjärrkontroll/basenhetsystem för LAN-kontroll. Hårdvara från Renesas och Texas Instruments.

Sonic Wrist, 2008 höst

Roll: Systemutvecklare
Tekniker: C, Embedded, trådlös kommunikation

Felsökning, testning och vidareutveckling av trådlös mus. Processor från ATMEL med de perifera enheterna: philips lasersensor, voiceband Codec och blåtand.

INCF Secretariat, 2007 vår – 2008 höst

Roll: Systemutvecklare
Tekniker: Python, SCRUM, Webb, GNU/Linux, Databaser

International Neuroinformatics Coordinating Facility (INCF) är en organisation som tillhandahåller infrastruktur och aktiviteter inom fältet neuroinformatik. Som utvecklingsingenjör var Pers roll att delta i bygget av en portal och ett mjukvarucenter.

Per var med i utveckling från start och använde klassiska metoder som use case, personas och site kartor tillsammans med den ansvarige för användbarhet och krav. Metodiken var test-driven, agil utveckling i SCRUM-anda.

Manuell testning med inslag av automatiserade Unit Tester.

Utveckling i Python, Django, Plone, Zope, SQLite och MySQL samt i BASH och DOS för Windows respektive Ubuntu. Versionshantering i SVN och Bazaar samt felhantering i TRAC.

TOMLAB Optimization, 2006 – 2007

Roll: Utvecklingsingenjör, Optimeringsexpert
Tekniker: MATLAB, LabVIEW, .NET, C, C++, FORTRAN, LaTeX, Webb

Per vidareutvecklade optimeringsplatformen TOMLAB – en MATLAB toolbox – till .NET. Implementering av ett lager för formulering, modifiering och lösning av matematiska optimeringsproblem med olika flaggor till lösare och ett grafiskt användarinterface för tester. TOMLAB porterades även till LabVIEW där Per hjälpte till i viss utsträckning.

Utveckling av GUI för automatiserade tester genom lösning av optimeringsproblem. Underhåll av underliggande gränssnitt i C och FORTRAN till lösare som SNOPT, NPSOL och AMPL.

Implementation av automatiserad portning av dokumentation från LaTeX till HTML, PHP och CSS med hjälp av bland annat HeVeA.

Kodning av installations applikationer (setup.exe) med Install Shield. Versionshantering med CVS, kompilering med GNU Make, GCC och Visual Studio. Felhantering med Bugzilla.

Banverket, 2005 höst

Roll: Utredare
Tekniker: Intervjuer,

Per hjälpte Banverket i utredningen av ny metod för vegetationsbekämpning invid banvallar. Den nya metoden innebär bekämpning av vedartad vegetation med Ecoplug som innehåller glyfosat i form av granulat (Roundup). Analys av kemikalieanvändning och risker med glyfosat. Uppsamling av forskning samt intervjuer för arbetsmetoder för röjning av vedartad vegetation från Sveriges Lantbruksuniversitet (SLU).