Come utilizzare l'automazione per applicazioni di test che coinvolgono calcoli altamente complessi?
-
23-08-2019 - |
Domanda
Voglio seguenti cose per testare un'applicazione che coinvolge i calcoli complessi:
- Come utilizzare strumenti di automazione di test per i calcoli di test? (Utilizzando strumenti di automazione, come strumenti QTP o open source)
- Come decidere la copertura durante il test i calcoli, come progettare casi di test?
Grazie in anticipo, Testmann
Soluzione
Abbiamo dovuto provare alcuni calcoli molto complessi in un'applicazione abbiamo costruito. Per fare questo abbiamo utilizzato una chiamata utensile FitNesse, che è un test harness wiki (e open source troppo). Funziona davvero bene quando si fornisce dati in un formato stile di tabella.
Abbiamo avuto qualche codice in C # che eseguono alcuni calcoli molto complessi. Allora, cosa che abbiamo fatto è scritto un test harness in FitNesse, e poi abbiamo fornito con un sacco di dati di test. Abbiamo lavorato molto duramente per coprire tutti i casi, quindi abbiamo utilizzato una sorta di verità tavolo interno per garantire stavamo ottenendo ogni possibile combinazione di input dei dati.
Il test imbracatura FitNesse è stato prezioso a noi come la complessità dei calcoli è cambiato nel tempo a causa mutate esigenze. Siamo stati in grado di garantire la correttezza dei calcoli perché i nostri test FitNesse agiscono come una suite di regressione molto bello.
Altri suggerimenti
A volte, è necessario stimare la conclusione prevista, e quindi popolare il banco di prova da una corsa del programma.
Non è così tanto di un peccato mortale, fino a quando sei convinto che sia corretta. Tali prove saranno quindi consente di sapere immediatamente se una modifica del codice rompe il codice. Inoltre, se si sta testando un sottoinsieme, non è così grande di un tratto di fiducia.
E per la copertura? Coprire ogni ramo almeno una volta (cioè, qualsiasi caso o istruzioni di ciclo). Coprire ogni soglia, entrambi i lati di esso (per divisione intera che sarebbero -1, 0, 1 e come denominatori). Quindi aggiungere un paio di più per buona misura.
Per verificare il codice esistente, si dovrebbe supporre che il codice è (soprattutto) corretta. Quindi, basta dargli un po 'di dati, eseguirlo e registrare il risultato. Quindi utilizzare tale risultato registrato in un banco di prova.
Quando si esegue il prossimo cambiamento, l'output dovrebbe cambiare troppo e il test avrà esito negativo. Confrontare il nuovo risultato con quello che ci si sarebbe aspettato. Se c'è una discrepanza, allora vi state perdendo qualcosa -.> Scrivere un altro test per capire cosa sta succedendo
In questo modo, è possibile costruire le competenze su un sistema sconosciuto.
Quando si chiede per la copertura, presumo che non è possibile creare i dati di copertura per i calcoli attuali. In questo caso, basta assicurarsi che tutti i calcoli vengono eseguiti e alimentarli a più ingressi. Questo dovrebbe darvi un'idea di come procedere.