PyUseCase

Software skärmdump:
PyUseCase
Mjukvaruinformation:
Version: 3.5.1
Ladda upp dagen: 11 May 15
Utvecklare: Geoff Bache
Licens: Gratis
Popularitet: 108

Rating: 2.0/5 (Total Votes: 1)

PyUseCase är ett GUI testning av programvara för PyGTK.
underhålla GUI tester med ett användningsfall Recorder
Inspelning avsikten snarare än mekanik
Det mest naturliga sättet att skapa tester via ett användargränssnitt är att helt enkelt utföra de åtgärder som du vill utföra och har ett verktyg som kan spela in dem och sedan återge dem senare. Detta är ett enkelt och snabbt sätt att skapa grafiska tester och det finns många verktyg som gör detta.
Mest verktyg par testerna tätt till GUI
Problemen börjar när du har några tester och dina GUI förändringar. Inspelningen kan vara ett bra sätt att skapa tester, men det är ett fruktansvärt sätt att upprätthålla ett stort antal av dessa. Det är felbenägen, frustrerande och mycket tidskrävande när du har några tester. Den första generationen av verktyg inspelade pixelpositioner och bröt så snart du har ändrat skärmupplösningen. Dagens verktyg affären i termer av GUI mekanik: hitta ett bord med ett visst namn och klicka i den tredje kolumnen i den fjärde raden. De kan överleva förändringar skärmen och mindre åter arrangemang av det grafiska gränssnittet men inte mycket annat. De inspelade skript är tät och inte förmedla syftet med testet, och är en sluten bok för alla icke-tekniska personer (och ibland till alla utom författaren av verktyget).
Problemet är i huvudsak en av kopplingen. Testerna och GUI är tätt kopplade till varandra och kan inte bekvämt variera oberoende av varandra. Denna punkt görs väl av Robert C. Martin i sin blogg här och hans slutsats är att GUI testning är till sin natur spröd och du bör göra så lite av det som du kan komma undan med.
Detta verkar ganska defaitistisk ändå. Det finns ett stort värde i att kunna visa vad dina tester gör att en användare av systemet. Om testerna kringgå användargränssnittet då denna process kräver en hel del teknisk skicklighet och en hel del förtroende från den del av ditt användarnamn. Och ändå, mjukvaruutvecklare löser kopplingsproblem hela tiden. Svaret är, som vanligt, att införa en annan nivå av indirekthet.
Avbrott kopplingen med en UI karta
Affärsmän och användare arbetar i allmänhet i användningsfall. Dessa är beskrivningar på hög nivå i en sekvens av åtgärder på ett språk som de förstår: det vill säga att av domänen. Idén om en "Använd Case Recorder" är därför ett verktyg som kan spela in och spela upp sådana sekvenser och därigenom fånga syftet med användaren. Detta kommer sedan att tillåta ökad förståelse, mindre beroende av den exakta formen av det grafiska gränssnittet och enklare anpassning av befintliga tester utan att tillgripa att klicka på alla knappar igen.
Den grundläggande mekanismen är att vi upprätthåller en mappning mellan de åtgärder som för närvarande kan utföras med vår GUI och uttalanden i detta område språk. GUI Förändringarna innebär då att denna enda kartläggning måste uppdateras, men testerna kan förbli orörd, fortsätter att beskriva vad som behöver göras på konceptuell nivå. Kartläggningen sker i form av en extern fil i PyUseCase 3.0 och kommande JUseCase 3,0, medan det i äldre versioner det sker i form av instrumentering i programkoden.
Kontrollera beteende via stockar och TextTest
Så vår användning fall inspelare kan spela in och spela upp usecases för oss. Men hur kan vi kontrollera att det vi ser på skärmen är korrekt? De flesta GUI-verktyg gör detta genom att låta testskript att innehålla "påståenden", som ser upp några widget och kontrollera att en viss egenskap hos den är lika med en hårdkodad värde. Detta skapar ännu mer beroende på den aktuella GUI layout och kan inte vara "in" på något naturligt sätt, utan måste programmeras i efterhand. Nej "usecase" skulle naturligtvis innehålla följande information: om det gjorde det skulle förvandlas till ett testskript.
Denna diskussion är inte på TextTest plats för ingenting. Om vi ​​bara kan få vår ansökan för att producera en logg över vad det grafiska gränssnittet ser ut som vi kan kontrollera vad den gör genom att övervaka innehållet i den loggen med TextTest. PyUseCase 3.0 gör detta åt dig: det skapar en ASCII-art typ logg över den aktuella GUI utseende och övervakar ändringar i den. Programmet kan komplettera den med sin egen avverkning som det önskar. Med andra användningsfall inspelare ansökan måste bygga sin egen logg för detta ändamål för närvarande.
Synkronisera tester av koden instrumentering
Nästan alla GUI testning insatser plågas av problem med att se till att manuset väntar tillräckligt länge innan du fortsätter när något händer i bakgrunden. Lösningarna sträcker sig från svårbegripliga sätt att vänta på någon widget att ha ett visst utseende (ännu fler beroenden på GUI-mekanik) att "sova" uttalanden frikostigt utspridda. Vilka misslyckas när systemet laddas och orsaka tester för att köra mycket långsammare än de annars skulle göra. Någon utan ingående kunskap om koden är illa rustade för att lösa sådana problem, men att göra det är en viktig del av skrivtester.
Använd tänkbara inspelare införa begreppet "Application händelse". Detta är i grunden något instrument i koden som visar användningen fall brännaren att något har hänt som måste väntade, vilket gör det möjligt att spela in och spela upp väntar liksom klick. Dessa beskrivs mer i detalj här.
inspelning makron samt test
Hög nivå, lätt manipulerade "usecases" är användbara för annat än att testa. De är också mycket användbart för användare av systemet som kan skapa sina egna makron för sekvenser av åtgärder de utför ofta.
Dessa är kända som "GUI genvägar" här. A Använd fall Spelaren typiskt tillåta en ansökan om att begära en "verktygsfältet" från den som innehåller kontroller för inspelning och uppspelning av dem som kan sättas in i ansökan GUI som önskas. Förutom att tillåta användare att skapa makron, kan de också användas för att skapa abstraktioner ännu högre nivå för "test språket" som beskrivs ovan, medhjälp testare att utföra upprepade åtgärder för att nå en viss skärm för att testa. Dessa beskrivs mer i detalj här.
Mer information finns på projektets hemsida

Vad är nytt i den här versionen.

  • Mycket grundläggande stöd för wxPython var sattes.
  • Det finns också ett antal förbättringar och buggfixar för PyGTK. Noterbart är gtk.Dialog.run nu stöds utan att kräva källkod förändringar.
  • Python 2.6 och PyGTK 2.12 eller senare krävs nu.
  • Arvet instrumentering baserade gränssnittet har tagits bort.

Krav :

  • Python
  • PyGTK
  • TextTest

Liknande mjukvara

filterunit
filterunit

11 May 15

nose-kleenex
nose-kleenex

15 Apr 15

Ahven
Ahven

15 Apr 15

mockfs
mockfs

11 May 15

Annan programvara för utvecklare Geoff Bache

TextTest
TextTest

18 Jul 15

Kommentarer till PyUseCase

Kommentarer hittades inte
Kommentar
Slå på bilder!