Ho 3 domande:Che cos'è la copertura del codice?
- Che cos'è CodeCoverage?
- A cosa serve?
- Quali strumenti vengono utilizzati per analizzare la copertura del codice ?
Ho 3 domande:Che cos'è la copertura del codice?
È possibile ottenere ottime informazioni da SO SITO WEB
What is Code Coverage and how do YOU measure it?
Code Coverage è una misura di quanto molte linee/blocchi/archi del codice vengono eseguiti mentre l'automatismo d test sono in esecuzione.CC viene raccolto utilizzando uno strumento specializzato per strumentare i binari per aggiungere chiamate di traccia ed eseguire una serie completa di test automatici contro il prodotto strumentato. Un buon strumento CC ti darà non solo la percentuale del codice che viene eseguita, ma ti permetterà anche di visualizzare i dati e vedere esattamente quali linee di codice sono state eseguite durante un particolare test.
Gli algoritmi di copertura del codice sono stati creati per risolvere il problema della valutazione di un codice sorgente guardando direttamente il codice sorgente. La copertura del codice appartiene alla categoria dei test strutturali a causa delle affermazioni fatte sulle parti interne del programma e non sugli output di sistema. Pertanto la copertura del codice mira a trovare parti del codice che non vale la pena di testare.
http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=ART&ObjectId=7580 alt text http://www.codecoveragetools.com/images/stories/software_lifecycle.jpg
il suo bene per
copertura funzionale che mira a trovare il modo sono state eseguite molte funzioni o procedure.
L'istruzione o la copertura della linea che identifica il numero di righe nel codice sorgente è stata eseguita.
La copertura delle condizioni o la copertura delle decisioni risponde alla domanda sul numero di condizioni del ciclo eseguite nel programma.
La copertura del percorso che si concentra sulla ricerca di tutti i possibili percorsi da un determinato punto di partenza nel codice è stata eseguita.
Copertura di entrata e di uscita che rileva il numero di funzioni (C/C++, Java) o procedure (Pascal) eseguite dall'inizio alla fine.
UTENSILI
http://www.codecoveragetools.com/
http://java-source.net/open-source/code-coverage
http://www.codecoveragetools.com/index.php/coverage-process/code-coverage-tools-java.html
http://open-tube.com/10-code-coverage-tools-c-c/
Il termine indica quanto il programma è coperto dai test. Vedere il seguente articolo di Wikipedia per ulteriori informazioni:
la copertura di codice è una misura utilizzata in test del software. Descrive il livello a cui è stato testato il codice sorgente di un programma . Si tratta di un modulo di test che ispeziona direttamente il codice ed è quindi un modulo di prova della scatola bianca 1. Attualmente, l'uso della copertura del codice viene esteso a nel campo dell'hardware digitale, la metodologia di progettazione contemporanea di lingue (HDL).
Advocating the use of code coverage
Uno strumento di copertura di codice registra semplicemente traccia di quali parti del codice ottengono eseguito e quali parti non lo fanno.
In genere, i risultati sono granulari verso il basso al livello di ogni riga di codice. Quindi, in una situazione tipica, si avvia l'applicazione con uno strumento di copertura del codice configurato per monitorarlo. Quando si esce dall'applicazione , lo strumento produrrà un rapporto di copertura del codice che mostra quali righe di codice sono state eseguite e quali no. Se contate il numero totale di linee che sono state eseguite e dividere per il numero totale di linee che potrebbe essere stato eseguito , si ottiene una percentuale. Se credi nella copertura del codice, il maggiore è la percentuale, meglio è. Nella pratica , raggiungere il 100% è estremamente raro .
L'utilizzo di uno strumento di copertura del codice è in genere combinato con l'uso di alcuni tipi di suite di test automatizzati . Senza il test automatizzato , uno strumento di copertura del codice indica semplicemente le funzioni che un utente umano si è ricordato di utilizzare. Tale strumento è molto più utile quando è misurando la completezza della suite di test rispetto al codice che è stato scritto .
articoli relativi
The Future of Code-Coverage Tools
The effectiveness of code coverage tools in software testing
Strumenti
La copertura del codice è una misura utilizzata nei test del software. Descrive il grado in cui è stato testato il codice sorgente di un programma.
http://en.wikipedia.org/wiki/Code_coverage
La definizione di wikipedia è abbastanza buono, ma con parole mie copertura del codice ti dice quanta test automatizzati che hai rappresentato. 100% significherebbe che una singola riga di codice nella tua applicazione viene coperta da un test unitario.
NCover è un'applicazione per .NET
la copertura di codice è una metrica, che mostra come "bene" il codice sorgente viene testato. Esistono diversi tipi di copertura del codice: copertura delle linee, copertura delle funzioni, copertura delle filiali.
Per misurare la copertura, è necessario eseguire l'applicazione manualmente o tramite test automatico.
Gli strumenti possono essere suddivisi in due categorie: - quelli che eseguono il codice compilato in un ambiente modificato (come il debugger), contando i punti richiesti (funzioni, linee, ecc.); - quelli che richiedono una compilazione speciale - in questo caso il binario risultante contiene già il codice che effettivamente esegue il conteggio.
Esistono diversi strumenti per misurare e visualizzare il risultato, che dipendono dalla piattaforma, dalla lingua del codice sorgente.
Si prega di leggere l'articolo sul Wikipedia
Per fornirgli strumenti, si prega di definire per quale sistema operativo e la lingua si usa.
La copertura del codice non significa che il codice sia stato testato correttamente. Se si eseguono test ottimali e si ottengono valori di test elevati, si avrà una buona copertura del codice – AutomatedTester
Accetto, tuttavia per ottenere un valore di copertura elevato, è necessario creare test per i numerosi casi di errore solitamente contenuti nel codice. Questo implicherà test "buoni" – CsTamas
Le altre risposte coprono già la copertura del codice. Il pensiero che vorrei sottolineare è che devi stare attento a non trattare l'alta copertura in quanto implicitamente significa che hai testato tutti gli scenari. Non dice necessariamente come bene hai testato il codice o la qualità dei tuoi test, solo che hai raggiunto una certa percentuale di codice come parte dei test in esecuzione.
alta Code Coverage non significa necessariamente di alta qualità di prova, ma di alta qualità di test significa alta Code Coverage
In pratica, di solito miro per la copertura di codice 90-95% che è spesso realizzabile. Gli ultimi% sono spesso troppo costosi per valere la pena provare a colpire.
Ci sono molti modi per sviluppare applicazioni. Uno di questi è "Extreme Programming" o "Test Driven Design (TDD)". Dichiara che tutto il codice dovrebbe essere testato. La copertura del codice è un mezzo per misurare quanto viene testato.
Vorrei fare una piccola osservazione al riguardo: non penso che tutto il codice debba essere testato, né che si debba impostare una percentuale specifica di copertura del codice. Nemmeno penso che il codice non debba essere testato con Test unitari (codice di test del codice). Penso che si dovrebbe decidere cosa abbia senso testare. Per questo motivo generalmente non utilizzo la copertura del codice.
Una cosa che forniscono alcuni strumenti, è evidenziare le parti che vengono testate. In questo modo potresti incappare in un codice che non è stato testato, ma in realtà dovrebbe essere, che è l'unica cosa per cui lo uso.
Buone risposte.
I miei due centesimi sono che non esiste un metodo di test che raccolga tutti gli errori, ma meno test non avranno mai più errori, quindi qualsiasi test è buono. A mio avviso, il test di copertura non è quello di mostrare quale codice è stato stato esercitato, ma per mostrare quale codice è stato non stato esercitato, perché questo è dove gli insetti amano in agguato.
Se lo si combina con single-stepping, è un ottimo modo per rivedere il codice e catturare i bug. Here's an example.
Un altro strumento utile per garantire la qualità del codice (che comprende la copertura del codice) che ho recentemente utilizzato è Sonar. Ecco il link http://www.sonarqube.org/
Woooww. Ottima descrizione. Capito . GRAZIE ! – n00ki3