Generazione di test dalla specifica

5

Sto leggendo "The Pragmatic Programmer". Il libro ha il seguente paragrafo

Dave once worked on an international telex switch. Quite understandably, the client demanded an exhaustive test specification and required that the software pass all tests on each delivery. To ensure that the tests accurately reflected the specification, the team generated them programmatically from the document itself. When the client amended their specification, the test suite changed automatically. Once the team convinced the client that the procedure was sound, generating acceptance tests typically took only a few seconds.

Sono curioso di sapere come ha creato i test dalle specifiche. In che formato era la specifica? Come scrivere un programma che leggerà automaticamente le specifiche e scriverà i casi di test. Ho frainteso il paragrafo precedente?

    
posta Vinoth Kumar C M 18.05.2011 - 11:19
fonte

2 risposte

9

What format was the specification in ?

Non inglese informale, puoi star sicuro.

Ci sono molti altri linguaggi di specifiche formali.

Inizia qui: link

link

Z è popolare per questo genere di cose.

In una certa misura, si può usare UML per questo. Anche se raramente è abbastanza ricco da condurre a test unitari. E se l'immagine UML è sufficientemente ricca da condurre ai test unitari, può anche portare direttamente al codice funzionante.

Tuttavia, ho avuto molto successo nell'uso dei fogli di calcolo. Sì. Semplici fogli di lavoro.

La maggior parte delle persone che utilizzano un normale software aziendale può preparare un foglio di calcolo di esempi.

How to write a program that will automatically read the specification and write test cases.

  1. Analizza il linguaggio delle specifiche formali.

  2. Emetti i test delle unità nel tuo linguaggio di programmazione preferito in base alle specifiche.

Non è così facile come sembra, perché richiede ancora un notevole sforzo manuale per elaborare esempi dettagliati dei casi di spigoli e angoli.

L'automazione totale dalla specifica ai casi di test senza intervento manuale è possibile solo quando le modifiche sono relativamente minori oi dati di test sono banali da generare.

Gli switch del telefono sono (solo) macchine di stato, quindi non è difficile elaborare casi di esempio.

Per i software di contabilità, tuttavia, (o modelli attuariali o finanziari o econometria, cose che ho fatto di recente) è un po 'azzardato trovare esempi "automaticamente". Di solito richiede un foglio di calcolo che mostri il caso limite e come debba essere gestito.

    
risposta data 18.05.2011 - 11:59
fonte
1

Dato lo stato dell'elaborazione del linguaggio naturale, questo può aver funzionato solo se il documento era già in uno stato leggibile dalla macchina. Potrebbe aver elencato i segnali di uscita previsti per ogni combinazione di ingressi desiderata (come le specifiche per un circuito elettrico) o una descrizione esauriente simile in linguaggio ripetitivo. (Forse è stato anche generato automaticamente!) In generale, non è possibile trasformare una specifica in codice o automaticamente. Ecco perché la programmazione è ancora necessaria, dopotutto.

    
risposta data 18.05.2011 - 11:59
fonte

Leggi altre domande sui tag