Testramverk för Mirka Ltd


Mirka Ltd är världsledande inom ytbehandlingsteknik och erbjuder ett brett sortiment av banbrytande sliplösningar för ytbehandlings- och precisionsindustrin. Mirkas motto, "Dedicated to the Finish", uttrycker företagets höga standard så att alla kan ta del. Den växande Mirka Power Tools-avdelningen utvecklar och tillverkar avancerade slip- och polermaskiner och fokuserar kontinuerligt på innovativ produkt- och processutveckling. För att hålla sig i den tekniska framkanten och samtidigt upprätthålla företagets kompromisslösa kvalitet krävs en lika snabb utveckling av testkapacitet och täckning.
Att utveckla testriggar från grunden för varje ny produkt och kontrollera dem manuellt skulle göra att testkostnaderna ökar i samma takt som funktionaliteten. En sådan spridning av testriggar skulle också bli svår att underhålla och skapa starka beroenden av specifika individer. I diskussion med Novator Solutions framkom att implementeringen av ett standardiserat testramverk skulle lösa alla dessa utmaningar. Genom att basera alla Mirkas testriggar på en gemensam flexibel arkitektur blir det möjligt att skapa en enda inlärningsväg för nya medarbetare för att förvärva den kunskap som behövs för att underhålla riggarna och skapa nya. Det skulle också möjliggöra en snabbare utveckling av testriggar, kontinuerlig förbättring av arkitekturen och en ständigt ökande automatiseringsgrad.
Projektöversikt
Utbildning
Projektet började med en förfrågan om LabVIEW-utbildning. En ingenjör från Novator Solutions höll en anpassad kurs för test- och verifieringsteamet på Mirka. Under utbildningen diskuterades de utmaningar och kostnader som är förknippade med genomgripande testning av en snabbt föränderlig produktportfölj - och konceptet med testramverk som ett sätt att möta dessa utmaningar.
Verkstad
En efterföljande workshop planerades för att diskutera de allmänna fördelar som metoden skulle ge Mirka och för att identifiera deras specifika krav på ett sådant ramverk. Allmänna krav är modularitet, flexibilitet och arkitektur enligt bästa praxis, liksom specifika behov av instrumentering, sekvensering och rapportering.
Implementering
Implementeringen av ramverket och den första riggen som baserades på det gjordes av Novator Solutions ingenjörer, eftersom vi har erfarenhet av att utveckla starka arkitekturer. Mirka utbildade samtidigt personal som kunde agera som ramverksarkitekter och testutvecklare på varsitt håll
Utmaning
- Testkapaciteten kan bli en flaskhals i utvecklingen
- Teststationer kan ha buggar
- Nya produktfunktioner kräver utveckling av nya testriggar
- Testkostnaden ökar linjärt med testtäckningen
- Support av gamla riggar är svårt och dyrt
Lösning
- Flexibel arkitektur som kan tillämpas på olika produkter för snabb riggutveckling
- Modulär arkitektur möjliggör återanvändning och därmed kontinuerliga förbättringar av varje modul
- Flexibiliteten och modulariteten gör det möjligt att bygga ut och återanvända befintliga riggar
- Automatiseringsfunktioner inbyggda från början och kontinuerligt förfinade för att möjliggöra högre testtäckning utan att öka kostnaderna.
- Gemensam arkitektur gör det möjligt att lära nyanställda hur de ska stödja alla riggar samtidigt
Egenskaper
Ett ramverk kan definieras som en återanvändbar kodbas av hög kvalitet som kan skalas upp eller ner utan att användbarheten begränsas, och som sömlöst kan utökas med ny funktionalitet.
Krav och önskemål
- Följande krav på hög nivå för testramverket identifierades: Det ska vara modulärt - så att enskilda komponenter kan återanvändas i olika konfigurationer
- Den ska vara flexibel - så att optimal hårdvara kan väljas och testsekvenser kan skapas eller anpassas utan att den övergripande arkitekturen behöver ändras
- Den ska producera användarvänliga riggar, inklusive användargränssnitt, datalagring och stabilitet - så att de riggar som skapas blir användbara verktyg för produktspecialister som kan använda dem utan problem och vid behov begära nya funktioner från en testsystemarkitekt.
- Det bör vara väl utformat enligt bästa praxis - så att nya arkitekter kan utbildas enligt standardiserade inlärningsvägar och så att underhåll och utveckling av ramverket inte blir beroende av specifika individer.
LabVIEW OOP pekades ut som det perfekta programvaruverktyget på grund av den inneboende objektorienterade modulariteten, den breda hårdvaruintegrationen, möjligheten till användargränssnitt och datalagring samt förekomsten av effektiv klassrums- och onlineutbildning.
Det beslutades att ramverket ska behandlas som en produkt, inte som ett verktyg. Det innebär att det kommer att ha en ansvarig ägare, en levande backlog och buggrapportering. Detta gör det också möjligt för Mirka att tilldela och utbilda personer för olika roller i testvärdekedjan.
Exempel på komponenter i ett testramverk:
Dokumentation av arkitekturer
- Exempel på kod
- Utbildningsmaterial
- Riktlinjer för utveckling
Kommunikaitonslager
- Kommunikation mellan processer
- Kommunikation i nätverk
- Internetkommunikation
- Databaskommunikation
- Välpaketerad programvara, t.ex. bibliotek eller objektorienterade klasser, för att lösa återkommande uppgifter
Drivrutiner för hårdvara
- Abstraktionslager (HAL, MAL)
- Generering av rapporter
- Testsekvensering
- Övervakning
- Dataloggning
- Lagring av metadata
- Databasintegration
- Användargränssnitt
Funktioner
En testrigg består av en LabVIEW OOP-klass som ärver från en övergripande riggklass. Riggklassen startar och hanterar kommunikationsgränssnitt, hårdvarulager, I/O-kanaler, loggning, centraliserad felhantering och annan funktionalitet som behövs.
I/O och sekvensering är separerade i en klient-servermodell. Detta gör det möjligt att få tillgång till mätningarna från olika enheter, även parallella enheter. Man kan också välja att distribuera till antingen Windows- eller realtidsmål. Det gör det också möjligt att använda antingen en LabVIEW-baserad sekvensmotor och ett användargränssnitt för datavisualisering för utvecklingstester eller TestStand för företagsintegration för produktionstester.
Hårdvaran är integrerad genom ett abstraktionslager för hårdvara. Modulär NI-hårdvara är de facto-standarden för allmänna mätningar. Detta möjliggör ett kostnadseffektivt sätt att undvika driftstopp eftersom reservdelar kan sparas och användas i flera system. Specialiserad instrumentering kan integreras sömlöst när det behövs. Sensorer som är inbyggda i Mirkas elektriska slipmaskiner integreras också via HAL och används naturligt som instrument i ramverket.
Andra funktioner som nya riggar automatiskt drar nytta av genom återanvändning och förenklad installation är
- Centraliserat felhanterings-API för att möjliggöra och upprätthålla konsekvent felhantering.
- Användarinloggning för ökad spårbarhet.
- "Report abstraction layer" för snabb anpassning av rapporter för att passa olika produkter, men också möjlighet att enkelt konfigurera om befintliga riggar om rapporteringsmallen eller filformatet ändras.
Processen för att skapa nya riggar är:
- Återanvändning av befintliga hårdvarudrivrutiner eller implementering av nya genom att ärva från HAL-klassen.
- Återanvända eller utveckla nya teststeg, inklusive kontroll, mätningar och beräkningar, och lägga till stegen i nya eller befintliga testsekvenser.
- Konfigurera vilka data som ska registreras och var (rapport, filer på servern, databas), ingen programmering behövs så länge rapportformatet inte har ändrats.
På så sätt kan Mirka dra nytta av allt arbete som har utförts på tidigare riggar idag och fortsätta att dra nytta av dagens arbete i framtiden.
Novator Solutions utvecklingsprocess
Novator Solutions använder Scrum-processen för att hantera vårt utvecklingsarbete. Scrum är ett lättviktigt, iterativt och inkrementellt ramverk för att hantera komplext arbete. Ramverket utmanar antaganden om det traditionella, sekventiella tillvägagångssättet för produktutveckling och gör det möjligt för team att självorganisera genom att uppmuntra fysisk samlokalisering eller nära samarbete online för alla teammedlemmar, samt daglig kommunikation ansikte mot ansikte mellan alla teammedlemmar och discipliner som är inblandade.
Novator Solutions prismodeller
Novator Solutions erbjuder två typer av prismodeller för nyckelfärdiga system, Fast pris eller Time & Materials. Utvecklingen sker alltid med hjälp av det agila programmeringsramverket Scrum.
Fast pris
I ett fastprisprojekt bestäms leveranserna och hur de ska utvärderas innan projektet startar. Vid behov kan Novator Solutions utföra en förstudie för att hjälpa kunden att identifiera kraven.
När vi har fastställt kraven lämnar vi en offert med ett totalpris för ett system som uppfyller kraven, inklusive acceptanstester i fabrik och på plats som ska utföras för att verifiera funktionaliteten vid leverans. En produktägare utses av Novator Solutions och vi utvecklar systemet som uppfyller de redan överenskomna kraven.
Proffs
- Ingen finansiell risk - kunden vet från dag ett vad de kommer att betala
Nackdelar
- Begränsad möjlighet att omprioritera leveranser efter beställning - leveranser måste valideras noggrant före projektstart.
- Begränsad möjlighet till beta-testning eller förhandsreleaser. Vi arbetar enligt kravdokument och testar program tills full funktionalitet kan levereras.
- Åtagande att betala för hela systemleveransen även om viss funktionalitet omprioriteras.
Tid och material
I ett Time & Materials-projekt sätts en omfattning för projektet. Ofta bestäms också en lista över leveranser och helst hur de ska utvärderas, och Novator Solutions ger en uppskattning av den tid vi tror att det kommer att ta att implementera systemet.
En produktägare utses av kunden och en projektledare av Novator Solutions. De håller tät kontakt under hela projektet och träffas med jämna mellanrum för att omprioritera, ändra eller dra ner på leveranslistan för att få bästa möjliga system med minsta möjliga investering.
Proffs
- Valideringsarbetet av leveranserna kan göras mindre noggrant, vilket sparar tid.
- Kunden kan testa betaversioner av systemet och ändra leveranserna för att optimera det under hela projektet.
- Projektet kan avslutas så snart den önskade funktionsnivån har uppnåtts. Eller så kan en första version driftsättas medan vi fortsätter att arbeta med uppgraderingar.
Nackdelar
- Kunden måste ta den ekonomiska risken för en beslutad uppsägningstid.
Oavsett vilken leveransmodell som väljs är vi alltid engagerade i att de system vi levererar ska fungera på lång sikt. Vi erbjuder serviceavtal för att garantera drifttid och kontinuerliga uppgraderingar samt för att minska risken för att komponenter blir föråldrade.