Hur man bygger en egen "säng på naglar" testare för din 3D-skrivare elektronik (13 / 14 steg)

Steg 13: Testare programvara



Om du inte använder en RAMBo ombord emellertid, kommer att du behöva anpassa mjukvaran till din styrelse. Programmet skrevs nyligen om från grunden för att en enkel port i andra styrelser. Grundläggande förståelse för Python programmering krävs dock.

Den nya designen möjliggör en mer modulsystem där varje test representeras av ett unikt objekt och varje testtypen genomförs i sin egen klass. Några basklasser finns att ta hand om de grundläggande funktionerna i testfall, loggning mekanism och testning logik.

Tester / modul innehåller basklasser och testa moduler. Basklasser är:

  • TestCase: Detta är basklass för ett testfall genomförs för att testa en specifik funktion
  • TestContext: Detta är basklass för sammanhanget ges till testerna när de körs
  • TestRunner: Detta är basklassen för klassen löpare som kommer att köras varje test i testsviten.

Finns det några generella tester, såsom TestGPIO i gpio.py och TestAnalog analog.py som själva har mer specifika testa klasser som härrör från dem som TestMosfets och TestEndstops som härrör från TestGPIO och TestThermistors, TestVRefs och TestSupplyRails som härrör från TestAnalog. Det finns också några specifika tester som ProgramFirmware som är en testet wrapper för avrdude och TestMotors som kommer att testa stegmotorer och verifiera alla fungerar korrekt.

För att genomföra ett nytt test, måste du härleda från klassen TestCase och åsidosätta metoderna _test och _verify . Metoden _test måste köra testet med hjälp av vad finns i objektet sammanhang (mer om det senare) medan metoden _verify måste in "self.status" till ett värde i TestStatus enum.

Det sammanhang objekt som skickas till metoderna som _test och _verify är ett objekt som härrör från TestContext, dess syfte är att skicka runt information mellan de tester som kan användas av testfall. Till exempel finns gränssnitt tillgång DUT i context.target medan registeransvarige finns som context.controller. De flesta tester kommer också att kräva tillgång till specifika fält från objektet context.pinmapping.

Du kommer att behöva härleda en klass från TestContext för att tillhandahålla informationen som krävs till testfall. De flesta särskilt i din klass måste du instansierar ett self.pinmapping -objekt. Om du behöver ström på/av strömförsörjningen innan och efter en provkörning till exempel, kan du göra det genom att åsidosätta metoderna TestingStarted och TestingEnded .

Slutligen, skulle du behöva genomföra en ny klass för din styrelse som härrör från TestRunner. Här är enkelt, du behöver bara definiera en self.tests variabel som innehåller en lista över TestCase objekt och gå tillbaka ramen du skapat via egenskapen sammanhang .

Du kan sedan skapa TestRunner objektet och anropar metoden kör för att köra alla tester, eller du kan ge den en lista över specifika tester ska köras om du önskar.

Det finns mycket mer man kan säga om programvara, som dödlig, krävs, _finally testfall, eller hur till konfigurera loggning system att använda en databas, eller hur att få sammanfattningen av tester avrättningen, eller inaktivera specifika test, vad varje test status innebär osv... Men källkoden är ganska enkel och väl dokumenterad och kan du upptäcka en hel del saker genom att läsa koden.

Jag lämnar dig med en mockup av en potentiell GUI för programvaran test där GUI kan genereras dynamiskt från en TestRunner instans och som ger kontroll av varje test för användaren.

Se Steg
Relaterade Ämnen

Hur man bygger en egen vattning planter.

i detta DIY projekt, jag kommer att visa dig hur man bygger en egen vattning behållare för din sommar plantering. Det finns många fördelar container trädgårdsskötsel och detta projekt tar det ett steg längre. En inre behållare kan smutsa till naturli...

Hur man bygger en egen anpassa Stretched Canvas

detta instructable är mitt försök att förklara hur man bygger en egen anpassad storlek duk för målning. 16 x 20 och 18 x 24 vanliga storlek är mycket prisvärd på mest konst utbudet butiker men om du vill ha stora eller anpassade storlekar priset går...

Hur man bygger en egen hylla: återvinning samtidigt

Hej och Välkommen!Detta Instructable består av en hur man bygger en egen hylla; och återföring på samma gång. Det är en spinoff idé av Innerbubba's insperational Instructable 60-minuters-bokhylla. Så som alltid jag måste ge beröm till vem är det due....

Hur man bygger en egen webbplats

hur man bygger din egna webbplats, inklusive länkar, bilder, videor och även ett sätt att sälja saker och samla in pengar med Paypal....

Hur man bygger en egen djur tema Vechile

i detta Instructable kommer jag visa dig hur man gör mitt Raven Tri-rulla, och även några tips och tekniker på hur man bygger ditt eget fordon. Njut!Steg 1: Välj ditt djur För att börja göra din bil, måste du först välja ett djur att basera det på. F...

Behöver skicka något säkert? Hur man bygger en egen låda... för mindre än $100.

Du har förmodligen redan kontaktat ett företag som spjällådan, och är förvånad hur mycket det kostar för att ha något spjällådan för frakt. Sig kostnad mer effektiv och verkligen inte att svårt att göra en egen låda... som är avgörande om du ska åter...

Hur man bygger en egen dator!

Detta Instructable visar hur man montera en anpassad dator från sin grundläggande delar tillgängliga online eller i elektroniskt butiker. Manuell montering har ett antal fördelar inklusive lägre kostnad, kraften att bygga en maskin tailed till använd...

Hur man bygger en egen cykel

jag såg en Lägg till (http://www.dreambike.com/home.htm) nyligen för anpassade cyklar online och jag trodde att jag vet hur man gör detta att cyklar jag redan äger så detta är ett stort projekt om du har en hel del av cyklar liggande du kunde göra en...

Hur man bygger en egen eldgrop

Det finns få saker så avkopplande som en varm eld på en cool kväll. En utomhus eldgrop gör någon uteplats eller bakgård till en bra samlingsplats där vänner och familj kan äta, prata eller bara vila vid elden.Medan du kan bygga en eldgrop från rock e...

Hur man bygger en egen struktur och klo

Jag, har tillsammans med många andra människor, barndomsminnen av gå in i en biosalong, livsmedelsbutik eller arcade och ser ett stort glas låda fylld med leksaker. Det fanns alltid att en leksak antingen begravd eller uppflugen ovanpå att jag ville...

Hur man bygger en egen pine loggtabell

Heres en annan Instructable visar hur lätt det är att göra cool möbler ur naturliga ponderosa pine! Den här tabellen, men byggs utan spikar, skruvar eller andra metall fästelement. Här går vi...Steg 1: material... Material och verktyg som behövs är.....

Hur man bygger en egen storlek Gate

Om du är i behov av en utfärda utegångsförbud för, så varför inte bygga den själv. Med den här metoden kan du göra en anpassad storlek gate, som är lätt ännu stel och ganska överkomligt. Mätningarna kommer att variera beroende på vilken storlek gate...

Hur man bygger en egen gevär rack

jag behövde för att skapa en anpassad storlek gevär rack att passa in i ett skåp som inte var utnyttjades. Du kan använda denna design för de flesta någon ansökan med tillräckligt djup för att rymma gevären.Jag gjorde detta med hjälp av verktyg och f...

Hur man bygger en egen modell rymdskepp

För så länge jag kan minnas har jag meka i garaget med alla mina fäder verktyg. Bygga allt mitt hjärta önskas, men detta var min mest omfattande projekt ännu.Steg 1:Jag började med en 1/8' styren ark som jag skär i alla de stora karosseridelar med in...

Hur man bygger en egen DC-motor.

A DC-motor använder en likström snarare än en växelström. Uppfinningen av elektriska motorn härstammar från Faradays lag av elektromagnetisk induktion. När du flyttar en magnet nära en elektrisk ledare blir en ström i ledaren.Med en DC-motor endast l...

Hur man bygger en sköld för Linkit en

Hej världen! Rent kol här med en annan Instructable. Idag kommer jag visa dig hur man bygger en egen sköld för Linkit en styrelsen. Innan vi kommer in i det men jag måste berätta varför jag gick på detta arbete i första hand. Jag äger bara en sköld f...

Hur man bygger en hotrod lastbil i 3 enkla steg

I detta instructable jag kommer att introducera dig till programmet CUT. Följ med när vi bygger en hotrod från början till slut. Vi hade lite kändis hjälp och många, många människor som frivilligt att föra denna idé till livet. Bilden ovan är en foto...

Hur man bygger en Lego Star Wars slaget kryssaren

Idag, ska jag visa dig hur man bygger en egen Star Wars battle cruiser. Det är bara tretton steg! Hoppas du njuter! Om du gillar detta, kommentera gärna.Steg 1: delar Steg 2: Vingar och golv Steg 3: Sida delar av golv och vita vinkling Steg 4:2 x 4 p...

Hur man bygger en Sonic skruvmejsel

detta instructable visar hur man bygger en egen sonic skruvmejsel.Eftersom jag anser att en sonic är något som byggare bör design, brukar jag även exakta mått.Steg 1: Inälvsprodukter THE CIRCUITDetta är den krets som jag används för både sonic ljud s...