Test Case Management
QAGenbrugelige testcases, suiter og bundter — koblet til hver sag og hver CI-pipeline, med fuld sporbarhed fra krav til fejl.
Flere servere: $399

- Redmine
- 5.0 og nyere, 6.x, 7.x
- Rapporter
- 12, med CSV og Excel
- Rettigheder
- 18, pr. projektrolle
- CI/CD
- REST API, godkendelse med API-nøgle
- Sprog
- 50 sprogfiler
- Sagstrackere
- Dine egne, uændret
Reusable test cases
Suites & bundles
Immutable executions
Automation mapping
CI/CD REST API
Dashboards & reports
Én kæde fra kravet til den fejl, det førte til
Intet i kæden er en kopi. En sag peger på de testcases, der beviser den, hver kørsel tilføjer en afvikling, og en fejlet afvikling peger på den fejl, den udløste. Følg linkene i den ene eller den anden retning, og du lander på rigtige Redmine-poster.
1. Sag
En feature, en story eller et krav i den tracker, du allerede bruger. Pluginet tilføjer ingen tracker selv.
2. Testcase
Tildeles én ad gangen eller gennem et bundt. Den samme testcase, for eksempel TC-41, kan bruges af et vilkårligt antal sager.
3. Plan og kørsel
En plan (TP-2) afgrænser omfanget for en udgivelse; en kørsel (TR-5) er én session mod ét build.
4. Afvikling
Bestået, fejlet, blokeret eller sprunget over, med build, commit, miljø, trinresultater og skærmbilleder. Redigeres aldrig bagefter.
5. Fejl
En almindelig Redmine-sag, der er linket fra den fejlede test, oprettet i hånden eller automatisk, når en test fejler.
Regler, der holder kæden sammen
TC-, TB-, TP-, TR- og DS-referencer med præfikser, du selv vælger, afviklinger låst til den version af testcasen, der blev kørt, og en valgfri regel om, at en sag ikke kan lukkes, før dens tests er bestået.
Hele arbejdsgangen, optaget fra en kørende Redmine 6.1
Det er rigtige skærmbilleder fra pluginet i Redmines standardtema. Projektet, personerne og resultaterne er demodata for en fiktiv webshop ved navn Harbor Storefront.
Skriv: et bibliotek af genbrugelige testcases
Søg og filtrér på modul, status, automatisering og tags. Hver testcase har strukturerede trin, et gennemsynsspor og sin egen versionshistorik.

Planlæg: bundter, udgivelsesplaner og testdata
Bundter samler testcases til genbrug. En plan binder bundter, sager, testere og en Redmine-version sammen. Datasæt giver én testcase mange rækker.


Kør: testen foregår på sagen og i kørslen
Udviklere og testere arbejder der, hvor de allerede er. Hvert resultat er en ny afvikling, så historikken er revisionssporet.




Beslut: rapporter, der svarer på ”kan vi udgive?”
Tolv rapporter, hver med CSV, Excel og udskrift. To af dem er bygget til snakken om udgivelsen.



Kør det på din måde: import, notifikationer og indstillinger



Sådan ser tredive dages test ud i rapporterne
Tallene nedenfor kommer direkte fra demoprojektet i skærmbillederne, aflæst i pluginets egne rapporter: 70 testcases og 1.242 afviklinger mellem 9. september og 8. oktober 2026. De viser, hvad pluginet måler. De er hverken benchmarks eller kunderesultater.
| Måling | Værdi | Detalje |
|---|---|---|
| Testcases | 70 | 61 godkendt, 5 til gennemsyn |
| Afviklinger | 1,242 | 856 automatiserede, 386 manuelle |
| Beståelsesprocent | 87.8% | Mål 90 % |
| Automatiseringsdækning | 60% | 42 af 70 testcases |
| Fejl fra fejlede tests | 5 | Linket til den fejlede afvikling |
| Miljø | Afviklinger | Bestået | Fejlet | Blokeret | Sprunget over | Beståelsesprocent |
|---|---|---|---|---|---|---|
| QA | 700 | 610 | 47 | 29 | 14 | 87.1% |
| Staging | 344 | 307 | 20 | 10 | 7 | 89.2% |
| DEV | 162 | 142 | 12 | 5 | 3 | 87.7% |
| UAT | 36 | 31 | 3 | 1 | 1 | 86.1% |
| Modul | Testcases | Afviklinger | Bestået | Beståelsesprocent |
|---|---|---|---|---|
| API | 5 | 129 | 123 | 95.3% |
| Katalog | 8 | 118 | 112 | 94.9% |
| Notifikationer | 5 | 99 | 93 | 93.9% |
| Admin | 6 | 62 | 56 | 90.3% |
| Søgning | 6 | 143 | 128 | 89.5% |
| Login | 10 | 193 | 172 | 89.1% |
| Checkout | 8 | 131 | 114 | 87.0% |
| Ordrer | 6 | 89 | 73 | 82.0% |
| Kurv | 8 | 143 | 116 | 81.1% |
| Betalinger | 8 | 135 | 103 | 76.3% |
Inde i Redmine optræder de samme tal på dashboardet (ring med beståelsesprocent, resultatfordeling, 14-dages trend, modul- og komponentdækning) og i tabelrapporterne, hver med eksport til CSV og Excel.
Bygget op om én regel: en testcase bliver aldrig duplikeret
Genbrugelige testcases
Titel, forudsætninger, strukturerede trin med forventede resultater, modul, komponent, prioritet, alvorlighed, type og tags. Klon, masseredigér, importér og eksportér.
Versioner, der beskytter historikken
Når du redigerer en testcase, der allerede er afviklet, oprettes en ny version. Gamle afviklinger peger fortsat på de trin, der faktisk blev kørt.
Gennemsyn og godkendelse
Kladde, til gennemsyn, godkendt, udfaset. Hver beslutning registreres med reviewer, dato og kommentar, og forfatteren får besked.
Bundter, planer og kørsler
Bundter grupperer testcases til genbrug. Planer afgrænser en udgivelse eller et sprint mod en Redmine-version. Kørsler registrerer én session på ét build.
Et testpanel på hver sag
Tildelte testcases, seneste resultater, beståelsesprocent, linkede fejl og registrering med ét klik, på de trackere, du vælger.
Afviklinger, der kan revideres
Hver kørsel tilføjer en post med resultat, tilstand, miljø, build, commit, varighed, trinresultater, log og skærmbilleder. Intet bliver overskrevet.
Datadrevet test
Genbrugelige datasæt med navngivne kolonner. Knyt dem til testcases eller hele bundter, og registrér, hvilken række hver afvikling brugte.
Automatiseringsmapping og CI/CD
Knyt en testcase til et framework og en identifikator, som din runner forstår, og lad så pipelinen hente, hvad der skal køres, og uploade resultaterne.
Dashboard og tolv rapporter
Et dashboard, som hver bruger sammensætter af otte widgets, plus rapporter om parathed, dækning, trend, miljøer, fejl og overvågning.
Fire små livscyklusser, alle synlige på siden
| Post | Hovedforløb | Andre tilstande |
|---|---|---|
| Testcase | Kladde → Til gennemsyn → Godkendt | Ændringer ønsket, Udfaset |
| Testplan | Kladde → Aktiv → Afsluttet | Arkiveret |
| Testkørsel | Planlagt → I gang → Afsluttet | Afbrudt |
| Afviklingsresultat | Bestået, Fejlet, Blokeret eller Sprunget over | Ikke afviklet. Hvert resultat registreres som manuelt eller automatiseret. |
Din pipeline spørger, hvad der skal køres, og melder så tilbage
REST API'et ligger under /testcases/api/v1 og godkender med en almindelig Redmine API-nøgle. Alt, der kan sende en HTTP-forespørgsel, kan bruge det. En guide inde i pluginet gennemgår opsætningen med dine egne URL'er udfyldt.
| Metode | Endpoint | Formål |
|---|---|---|
| GET | /issues/:id/testing | Hvad der skal køres for en sag |
| POST | /executions/upload | Ét builds resultater for én sag |
| POST | /executions/bulk_upload | Resultater for mange sager eller builds |
| POST | /test_runs | Opret en kørsel for dette build |
| POST | /test_runs/:id/results | Send resultater ind i en kørsel |
| GET | /test_cases | Vis, opret og opdatér testcases |
| GET | /test_plans | Vis, opret og opdatér planer |
| GET | /issues/:id/coverage | Testdækning for en sag |
| GET | /reports/:name | Enhver rapport som JSON |
| GET | /dashboard | Aggregerede nøgletal |
Upload af et builds resultater
Send sags-id, buildnummer, commit-SHA, miljø og en liste med resultater som POST til /executions/upload. Resultaterne matches med testcases via automatiseringsidentifikator, testcase-id eller reference, og hvert af dem bliver til en ny afvikling. Resultatnavne normaliseres, så passed, failure og ignored fra din runner alle lander rigtigt, og et fejlet resultat sendt med create_defect opretter en linket fejl.
Atten rettigheder på ét projektmodul
Test er et almindeligt projektmodul i Redmine. Slå det til der, hvor I tester, og giv hver rolle præcis det, den har brug for. Menufanerne følger rettighederne.
| Rolle | Typiske rettigheder | Hvad de gør |
|---|---|---|
| QA-ansvarlig | manage_test_cases, approve_test_cases, manage_test_bundles, manage_test_plans, assign_test_bundles | Ejer biblioteket, godkender testcases, bygger bundter og udgivelsesplaner |
| Tester | view_test_cases, execute_tests, manage_test_runs, manage_test_data | Kører tests, registrerer resultater, vedligeholder testdata |
| Automatiseringsingeniør | manage_test_automation, view_test_executions | Knytter testcases til frameworks og identifikatorer |
| Udvikler | view_test_cases, view_test_executions, view_test_runs | Ser, hvad der er testet på en sag, og hvorfor det fejlede |
| Projektleder | view_test_reports, view_test_plans | Læser rapporterne om parathed, dækning og overvågning |
| CI-servicekonto | upload_test_results | Uploader resultater med sin API-nøgle, intet andet |
| Administrator | admin_testing_settings, manage_test_environments | Præfikser, miljøer, mål og lukkereglen |
Kører der, hvor din Redmine allerede kører
| Miljø | Status | Noter |
|---|---|---|
| Redmine 7.x | Understøttet | |
| Redmine 6.1 | Understøttet | Udviklingsmål, på Rails 7.2 og Ruby 3.4. Skærmbillederne på denne side er fra 6.1.2. |
| Redmine 6.0 | Understøttet | |
| Redmine 5.x | Understøttet | 5.0 er den laveste version, pluginet angiver |
| MySQL 8 | Understøttet | Brugt til udvikling og til demoen på denne side |
| Sagstrackere | Dine egne | Fungerer med enhver trackeropsætning. Begræns testpanelet til udvalgte trackere, eller lad det være på alle. |
| Ekstra gems | Én, valgfri | roo, kun til import af .xlsx- og .xls-filer |
Installér i tre trin
Kræver shell-adgang og mulighed for at køre rake-opgaver. Tag altid en sikkerhedskopi, før du installerer en udvidelse.
cd /opt/redmine # unpack so the folder is plugins/redmine_testcases bundle install
RAILS_ENV=production bin/rails redmine:plugins:migrate NAME=redmine_testcases
# Project → Settings → Modules → Test Case Management # Administration → Roles and permissions → grant the testing permissions # Testing → Settings → environments, pass-rate target, trackers
RAILS_ENV=production bin/rails redmine:plugins:migrate NAME=redmine_testcases VERSION=0
Tilføjer det sine egne trackere til krav, stories eller fejl?
Hvad sker der med gamle resultater, når nogen redigerer en testcase?
Kan en fejlet test forhindre, at en sag bliver lukket?
Hvilke CI-systemer fungerer det med?
Kan fejlede tests oprette fejl automatisk?
Kan vi flytte testcases over fra et regneark?
Er tallene på denne side ægte?
Priser
Én server
Én Redmine-installation · ubegrænset antal brugere · 12 måneders opdateringer.
Flere servere
Ubegrænset antal Redmine-servere · ubegrænset antal brugere · 12 måneders opdateringer.
Har du brug for en skræddersyet Redmine-løsning?
Leder du efter en funktion, som vores plugins ikke har?
RedmineKit udvikler skræddersyede Redmine-plugins, tilpasser eksisterende plugins, automatiserer arbejdsgange, integrerer tredjepartssystemer og bygger løsninger til netop jeres virksomhed.
Fortæl os, hvad du har brug for. Vi gennemgår dine krav og foreslår en passende løsning med anslået pris og tidsplan.