Introduktion
I mange projekter, jeg har arbejdet med, har folk ikke tilpasset TestRail til deres behov og har klaret sig med de standardindstillinger, der findes. Derfor vil jeg i denne artikel forsÞge at beskrive et eksempel pÄ individuelle indstillinger, der kan hjÊlpe dig med at Þge din arbejdeffektivitet. Som eksempel vil vi tage et projekt til udvikling af en mobilapp.
Lille disclaimer. Denne artikel indeholder ikke en beskrivelse af den grundlĂŠggende funktionalitet i TestRail (der findes mange vejledninger til dette) eller salgsfremmende udtryk, der farverigt beskriver, hvorfor du skal vĂŠlge netop denne leverandĂžr til at oprette et repository til testene.
Projektplan (hvad der vil blive implementeret)
Generelle krav
Kassen skal kunne gennemfĂžres af enhver person
Kasserne skal opretholde relevans sÄ lÊnge som muligt
Kasserne skal dÊkke funktionaliteten af mobilappen sÄ grundigt som muligt, sÄ lÊnge det ikke strider mod de to fÞrstnÊvnte punkter
Opdeling i TestCase og TestScenario
Hurtig oprettelse af TestRun af forskellige typer
Smoke
Regress
Impact testning osv.
Optimering af stĂžtte til kasserne
OphÞr med "dÞde" hÄrdkodede screenshots og overgang til "movable data"
Krav
For at redigere felterne skal du have administratoradgang
Valg af projekttype
Du kan vĂŠlge tre projekttyper:

Vi vĂŠlger standardtypen. Her vil alle kasser vĂŠre tilgĂŠngelige samtidig. Vi vil bruge smart filtrering og dynamisk styre alle kasser samtidigt.
TilfĂžjelse af felter til visning af listen over testkasser
Vi tilfĂžjer et felt til at vise prioriteten af testkasser:

Du kan ogsÄ tilfÞje andre felter.
Konfiguration af felter og tags i testkassen
Ă bn indstillingsmenuen:

Vi fÄr brug for fÞlgende felter:
Feltet "Summary" (overskrift for testkassen)
![]()
Dette felt eksisterer allerede, vi systematiserer blot dets anvendelse. Vi vil opdele kasserne i TestCase og TestScenario. For bedre lÊsbarhed af en stor liste af kasser er det en god idé at blive enige om reglerne for skrivning af overskrifter.
TestScenario:
Eksempel: TestScenario â Hovedbrugsscenarie for mobilappen
TestCase:
Eksempel: MainScreen â Logindel â Indtastning af brugernavn
Samlet set ser vi i oversigten over kassen den klassiske forstĂ„else: âhvad, hvor, hvornĂ„râ. Vi adskiller ogsĂ„ visuelt de overordnede testsituationer og de detaljerede testkasser i den mest hensigtsmĂŠssige form for automatisering.
Tag "StartScreen" (the screen from which the TestScenario begins; many test cases may also touch neighboring screens)
Purpose: we will remove standard steps from the text of the test cases that lead the user to the current test case screen. (standard steps for creating a particular test situation) All standard steps for all test cases will be documented in one file. I will write more about it separately.
Creating a new field:

Filling in the components of the new field:

In this case, we are creating a selection field from a list of values. We enter the values for this field:

Note that the value IDs do not start from one and do not go consecutively. Why is that? The reason is that if we have test cases written with a specific ID,

and then we need to create a third screen between two existing ones,

we will have to rewrite the IDs, and since existing test case tags are already tied to these IDs, they will simply be deleted. This would be very unpleasant.
Tag "Screen" (the name of the screen addressed by TestCase)
Purpose: one of the anchors for impact testing. For example, developers have created a new cool feature. We need to test it, but for that, we need to understand what this feature could have affected. By default, we can rely on the paradigm that different screens (Activity) of the application have different classes and therefore form different components of the application. Of course, in this case, an individual approach is needed.
Example: home_screen, MapScreen, PayScreen, etc.

Field "MovableData" (link to a proxy database with modifiable test data)
Next, we will try to solve the problem of maintaining the relevance of data in test cases:
Links to up-to-date layouts (this is much better than making dead screenshots)
Standard steps to the screen with the test situation
SQL queries
Links to external data and other information
I stedet for at skrive testdata direkte ind i hver test case, vil vi oprette én ekstern fil, og alle test cases vil referere til denne. Ved opdatering af disse data behÞver vi ikke at gennemgÄ alle test cases og Êndre dem, men kan blot Êndre dataene ét sted. Hvis nogen uden forberedelse Äbner testcasen, vil de se et link til filen i testen og en besked om, at de skal henvende sig til den for testdata.
Alle disse data vil vi pakke ind i én ekstern fil, som vil vÊre tilgÊngelig for alle interesserede i projektet. For eksempel kan vi bruge Google Sheet eller Excel og oprette en sÞgefunktion i filen. Hvorfor lige disse leverandÞrer? Det er fordi, vi baserer os pÄ paradigmet om, at enhver i teamet skal kunne Äbne og gennemfÞre en test case uden at skulle installere forskellige vÊrktÞjer pÄ forhÄnd.
For Google Sheet man kan bruge SQL-forespĂžrgsler. Eksempel:
=query(DATA!A1:M1146;"
SELECT C,D
WHERE
C contains '"&SEARCH!A2&"'")For Excel man kan oprette praktiske makroer til Ăžjeblikkelig sĂžgning. (filtrering) Eksempel .
Selve ideen er ikke ny og er beskrevet i den fÞrste bog af testeren "Testning dot com". (forfatter Savin Roman) Vi integrerer blot de metoder, som Roman Savin foreslÄr, i TestRail. For dette formÄl opretter vi et felt med et link til den oprettede fil:

vi udfylder standardvÊrdien for linket, sÄ hver ny test case allerede har et link:

Hvis placeringen af den eksterne fil Êndres (vi forudser enhver force majeure), kan man nemt Êndre et eller flere felter i alle test cases pÄ én gang:


Feltet "Descriptions" (beskrivelse eller idé til test case, typiske instruktioner)
Hvad det kan vĂŠre nyttigt til: I dette tekstfelt vil vi placere en kort beskrivelse af test casen og typiske instruktioner.
Eksempel: Alle testdata (aktuelle skabeloner, brug af vĂŠrktĂžjer og andre data) fra denne test case er angivet med links {âŠ} og findes i filen MovableData. Linket til MovableData er i det relevante felt ovenfor.

Tagget "Component" (komponent af mobilapplikationen)
Hvad det kan bruges til: til impact-testning. Hvis en mobilapplikation kan opdeles i komponenter (der pÄvirker hinanden sÄ lidt som muligt), er det tilstrÊkkeligt at teste Êndringer i en komponent (med nogle risici) inden for den samme komponent, og der vil vÊre fÊrre grunde til at udfÞre omfattende regressionstest af alt. Hvis der er information om, at en komponent kan pÄvirke en anden, oprettes der en matrice for impact-testning.
Eksempler pÄ komponenter: GooglePay, Ordre, Brugere, Kort, Autorisation osv.

Tag «TAG» (andre tags til filtrering)
Tagging af test cases med etiketter for vilkĂ„rlig filtrering.Â
SĂŠrdeles nyttigt til:Â
hurtigt at oprette TestRun til forskellige standardopgaver: smoke, regression osv.
vil testene blive automatiseret eller er allerede automatiseret
enhver anden tag
Eksempel: Smoke, Automated, WhiteLabel, ForDelete osv.


Vi konfigurerer rĂŠkkefĂžlgen for visning af felter i test casen
Vi har oprettet mange nye felter, nu er det tid til at arrangere dem i en praktisk rĂŠkkefĂžlge:

Oprettelse af TestRun
Vi vil nu oprette et nyt test run med de relevante cases til udfÞrelse af smoke testning pÄ tre klik:

Andre nyttige tips
Hvis der er flere projekter i TestRail, skal du ikke glemme at oprette nye felter kun til dit projekt, ellers vil kolleger fra nabogrupper blive meget overraskede over forekomsten af nye, usÊdvanlige felter. Lokale svimmelhedsproblemer kan opstÄ.

2. Cases med mange felter er lettere at kopiere fra en lignende gruppe end at oprette nye:

3. Du kan bruge konti fĂŠlles. For eksempel: en administrativ, flere brugerkonti.
Konklusion
De fÞrnÊvnte eksempler er implementeret i flere projekter og har vist sig effektive. Jeg hÄber, de vil hjÊlpe med at forbedre din forstÄelse af dette vÊrktÞj og hjÊlpe med at skabe effektive og bekvemme "testlagre". Jeg vil vÊre meget taknemmelig, hvis du i kommentarerne beskriver din erfaring med at bruge TestRail og nyttige tips.
Links:
Bog:
Tusind tak for opmĂŠrksomheden!
Kilde: habr.com
