CV - Per Erik Strandberg, Tekn. Dr.
Doktor i mjukvarutest, matematiker, nyfiken på etik.
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
- Forskning
- Handledning, mentoring
- Krav, Test, testledning och testautomatisering
- Visualisering och projektkommunikation
- Mjukvaruutveckling
- Inbyggda system
- Granskning
- Matematiska problem
Exempel på Roller
- Forskare (industridoktorand)
- Testledning inom inbyggda system
- Testautomatisering (utveckling av automatiserade tester) inom inbyggda system
- Kravhantering vid offertarbete
- Delsystemansvarig med ansvar för testning, kravgranskning och dokumentation.
- Systemutvecklare inom inbyggda system, .NET och Python.
Tekniker
- Python, GoLang, C#, C, C++, Objective-C, Visual Basic, Perl, PHP, FORTRAN, MATLAB, ADA.
- SQL, mySQL, SQLite, phpMyAdmin
- QT, WPF, GTK
- HTML, DOM, XML, CSS, LaTeX.
- Agil utveckling: SCRUM, Kanban, Test-Drivet
- Automatiserade tester, Systemtest, White box test, Integrationstest, Utforskande testning, Sessions-baserad testning, Prestandatestning, Manuell testning.
- Simulering, Modellering, Matematik.
- Git, SVN, CVS, Bazaar, MS Visual Source Safe, diff
- Bugzilla, TRAC, Mantis.
- Matplotlib, graphviz, Excel
- Wireshark, Scapy, tcpdump, hping3
- GNU/Linux, MacOs, Windows
- Text Mining.
- Kommandoraden (shell’et)
Utbildning
Doktorandstudier
- Industridoktorand - Westermo och MDH (2017-2021). (avhandling)
Universitetsutbildning
- Civilingenjör i Bioinformatik, med inriktning mot databaser, programmering och statistik, LiTH 2005.
- Filosofie Magister i Tillämpad Matematik, med inriktning mot analys, dynamiska system, matematiska modeller i biologi och simulering, LiTH 2004.
- Totalt c:a 450 högskolepoäng, varav c:a 30 inom etik (normativ etik, företagsetik, forskningsetik, samt den artificiella intelligensens etik)
Industriutbildning
- Certifierad Agil Testare - ISTQB Foundation Level, Agile Tester Extension (Juni 2015).
- Certifierad Testledare - ISTQB Advanced Level, Test Manager (Maj 2014).
- Certifierad Kravhanterare – REQB CPRE Foundation (Certified Professional for Requirements Engineering, Oktober 2013)
- Mjukvarutestning med MS Test Manager 2012
- Certifierad Testare - ISTQB Foundation Certificate in Software Testing (September 2012).
- Ledare Kompetensgrupp inom Test och Krav under fem år (2012-2017).
- Praktisk Projektledning, Wenell Management.
- Workshopserie i Mjukvaruarkitektur.
Gymnasieutbildning
- Gymnasieexamen NV/NV Rudbeckianska Gymnasiet, Västerås 1998.
- Gymnasieexamen NV/Matematik, Lycée Polyvalent de Maurice Utrillo, Frankrike 1997.
Militärt
- Fänrik, Chef Sjukvårdstropp, 15 mån värnplikt i Boden 1999-2000.
- Under universitetstiden: Hemvärnsman i Insatspluton Linköping.
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).