Penso che sia ragionevole usare un piccolo DSL, non sono così sicuro che sia saggio costruire se si considera che non si ha molta larghezza di banda. Esistono strutture che possono fare ciò che vuoi.
Ad esempio, framework robot ti consente di scrivere il test nelle parole chiave di alto livello. Come ingegnere di test puoi scrivere queste parole chiave in python, java, .net o in altri linguaggi (e ci sono librerie predefinite per ogni genere di cose come testare applicazioni web con selenio, servizi web con interfaccia REST o SOAP, applicazioni desktop , eccetera). I tuoi colleghi meno tecnici possono quindi assemblare queste parole chiave in test.
Questo particolare framework ti consente di scrivere test in uno stile BDD (Given / When / Then), uno stile guidato dai dati (tabelle di input e output) e uno stile procedurale, il che significa che non sei bloccato in uno stile specifico per tutti i tuoi test. Nella mia esperienza, diversi scenari si prestano in modo più naturale a uno stile o all'altro, quindi essere in grado di essere flessibili ti dà un sacco di potere per esprimerti in modo appropriato.
I test di robot framework sono in chiaro e in gran parte letti e scritti come in inglese. Maggiore è il tuo impegno nella creazione di un catalogo di parole chiave, più sarà inglese.
Ad esempio, ecco come potrebbero essere alcuni casi di test per una semplice applicazione Web:
*** Setup ***
Library PageObjectLibrary
Suite Setup
... Restart the server
... Open browser ${app_root}
Suite Teardown
... Close all browser windows
... Shut down the server
*** Test cases ***
Valid user can log in
[Setup] Go to the page LoginPage
Enter valid user credentials
Click the login button
Current page should be DashboardPage
Invalid user goes to the "invalid attempt" page
[Setup] Go to the page LoginPage
Enter invalid user credentials
Click the login button
Current page should be InvalidAttemptPage
Dashboard of new user contains no projects
[Setup] Log in to the application as a new user
Verify that the page contains a list of projects
Verify that the list of projects has 0 projects
Esistono altri framework tra cui puoi scegliere in modo simile ( fitnesse , cetriolo . La scelta dipende dal tipo di applicazione testato e dal livello tecnico dei tester.
Certo, con qualsiasi framework è necessario dedicare del tempo all'apprendimento del framework, all'organizzazione dei test e così via. Nella maggior parte dei casi, tuttavia, quel tempo è molto inferiore a quello che si spenderebbe per scrivere da zero il proprio framework.