Asserzione colorazione

rainbow Assertion coloring sviluppo di test di conformità implica l'identificazione affermazioni in un apposito disciplinare, scrivendo test di conformità che verificare le affermazioni identificati e che collega la prova per l'affermazione che essa test.
Iniziamo dai punti seguenti:
- L'affermazione è segnato
- L'affermazione reale è difficile vedere nelle specifiche (attualmente ci sono solo piccole gif affermazione alla fine di ogni affermazione)
- Affermazioni completi sono visualizzati solo leggendo l'html direttamente o guardando ogni singolo test
- Inizio di affermazioni sono difficili da vedere nel codice html
- Fornire un modo visivo per visualizzare l'affermazione è facilmente il problema che stiamo cercando di risolvere.

Il punto principale è quello di colorare le affermazioni (testo specifica se stessa) utilizzando i tag HTML. La ricerca è stata fatto che i tag HTML da utilizzare. Div, span, tavolo e tag font sono guardato. La soluzione migliore è il tag font. Quindi il testo è circondato con tag font. L'attributo di classe del tag font corrisponde al tipo di affermazione. Fe se il asserion è nuovo è colorato di rosso, per indicare, che i test devono essere scritti, affermazioni vecchi sono colorati di verde per indicare che i test già esistenti. Ci dovrebbe essere una utility (uno script o un programma Java) per eseguire la scansione marcato capitolato d'oneri e aggiunge automaticamente i tag necessari per la colorazione. Il colore di sfondo del testo sarà determinato dal colore del titolo attributo della affermazione. Questo metodo è stato applicato e funziona bene. Ai fini dell'usabilità, ci dovrebbe essere un meccanismo per nascondere la colorazione, la fe un javascript.

Uno svantaggio di questa soluzione è che il colore è dato it statica si basa sulla attributo title. Una seconda soluzione sarebbe che l'attrezzo sarebbe check per una esistenza di un test (in base all'ID affermazione or link nella affermazione). Se esiste un test, dovremmo fare qualcosa per impostare il colore di questa affermazione. Potrebbe essere semplice come la fissazione di un attributo title. Uno svantaggio di questa soluzione sarebbe che la colorazione affermazione sarebbe ancora statico, ma in base a quando l'utente esegue gli script.

Una variante della soluzione data è che avremmo generare dinamicamente i dati di copertura quando la specifica è visualizzato in un browser. Vogliamo determinare se un test presente nella directory di prova per una determinata affermazione e il colore l'affermazione di conseguenza. Ciò potrebbe essere fatto attraverso un JavaScript / VBScript utilizzando oggetti, che permettono l'accesso del file system. Questo metodo dovrebbe essere dinamico e deve avere sempre le ultime status copertura affermazione.

Ecco alcuni esempi da JLS3 capitoli "Conversioni e Promozioni" e "interfacce":

JLS3 colored Assertion coloring

JLS3 colored2 Assertion coloring

Asserzioni conv063, conv047, conv065, conv48, conv66 e conv049 sono dalla versione precedente di specifiche, essi non sono stati modificati e aggiornare le prove non è necessario - il colore è acquamarina (verde neurtal). Conv155 e conv156 sono nuovi, nuovi test dovrebbero essere sviluppate, le affermazioni sono colorati in rosso abbagliante. Conv064 è stato modificato, l'aggiornamento di prova è necessario - colore arancio. Annot019 è nuova, le prove esistono, ma sono necessari per cambiare - di colore salmone. Annot020 è nuovo, ma esistono prove кудумфте - colore verde chiaro.

Il vantaggio principale di colorazione specifica è che la specifica è visualizzato. L'utente può vedere l'intero affermazione e il suo titolo. Si può dire guardando le specifiche, dove ci sono zone con bassa copertura, dove alcune o molte prove devono essere aggiunti o modificati. Non vi è praticamente la possibilità di vedere quanto bene una specifica è marcato e quanto bene è testato.



, , , , , , ,
  • Bookmark
Print This Post Stampa questo post

Markup metadati

11 Markup metadata La più semplice definizione di metadati è che si tratta di dati sui dati. I metadati possono essere molto utili. Per quanto riguarda il markup c'era qualche metadati incorporati: id, piccola descrizione di affermazione, link al test. Durante il trasferimento markup mi sono reso conto che più i metadati sarebbe molto utile. Nella nuova versione della specifica c'erano vari tipi di asserzioni:

  • di età:
    testo non modificato, le prove non hanno bisogno di eventuali modifiche;
  • oldToBeChanged:
    testo cambiato, le prove hanno bisogno di essere cambiato;
  • nuovo:
    totalmente nuovo testo, nuove prove necessarie;
  • newWritten:
    nuovo testo, ma i test già esistenti (perché il processo di sviluppo di test iniziata non appena il progetto di spec era disponibile);
  • newWrittenToBeChanged:
    nuovo testo, le prove esistono, spec progetto modificato, in modo i test devono essere cambiate o prove esistenti non sono sufficienti.

L'aggiunta di questo tipo di dati al markup semplificherebbe notevolmente il lavoro futuro - lo sviluppo di test. Perché solo guardando una affermazione in quella specifica può facilmente dire se sono necessari più test o di più dovrebbe essere aggiornato.

Con il dato architettura markup è stato deciso di utilizzare l'attributo title nel tag href-bis (la seconda ancora). Quindi il codice sarà simile:

<a name=assertionID> <! - descrizione shord come commento html ->
affermazione dichiarazione qui
<a href="path src="pics/assert.gif"> a title=assertType> ID test" prova che è la stessa affermazione ID </ a>

L'attributo title possono essere visualizzati in un browser come un suggerimento.

JLS3 html Markup metadata

JLS3 html code Markup metadata



, , , , , , , , , ,
  • Bookmark
Print This Post Stampa questo post

Markup trasferimento - incubo o un pezzo di torta?

train Markup transfer   nightmare or a piece of cake?
L'intero processo di creazione di un codice e lo sviluppo di test molto tempo. E quando sembra che il lavoro è fatto, una nuova versione della specifica viene rilasciato. Cosa succede dopo? Naturalmente vi è la necessità di una nuova versione della suite di test. Nuovi test deve essere scritta e quelle vecchie aggiornati o addirittura eliminato.

Il modo migliore per iniziare è fare la marcatura. Questo compito può essere suddiviso in due attività:

  • trasferimento dal vecchio codice spec precedente alla nuova specifica (questo è necessario perché molte prove sono già state scritte, esse sono legati a specifiche id, il riutilizzo di tutti i test possibili è una buona idea);
  • markup affermazioni nuovi e aggiornati.

Trasferire il codice è abbastanza semplice per farlo a mano:

  1. Trovare il tag di marcatura nelle specifiche del vecchio.
  2. Trovare il posto migliore per inserire il tag nella nuova versione di spec.
  3. Inserire il tag.

Se ci sono solo 10 affermazioni - questo lavoro è un pezzo di torta. Ma se ce ne sono migliaia, è un lavoro duro che dovrebbe essere automatizzati. La parte più difficile è trovare una nuova sede adeguata per i tag di marcatura. E 'difficile solo perché la specifica è stata modificata. Per JLS2 per il processo di migrazione JLS3 alrorithm flollowing è stato utilizzato:

Ogni affermazione è arrotondata con ancore html. Entrambi dovrebbero essere trasferiti utilizzando l'algoritmo del genere.

Hin 1T: se alcuni tag viene trasferita, c'è una grande possibilità, che il tag successivo in spec vecchio sarà posizionato dopo quello che viene trasferito.

Suggerimento 2: algoritmo dovrebbe verificare che la seconda ancora deve essere posizionato dopo il primo e non troppo lontano da essa.

  1. Consulta il testo prima e dopo il tag nella vecchia spec. Trova nella nuova specifica. Se uno di loro 72s Markup transfer   nightmare or a piece of cake? non è stato cambiato - la risposta è stata trovata. di solito la lunghezza dovrebbe essere di 1-2 sentances, almeno 60 caratteri. Se sentances nessuno o più trovati - saltare questo passaggio.
  2. Provate a fare lo stesso come in (1), ma rimuovere tutti i tag html da vicino il testo che circonda la tag. Se nessuno trovati - saltare questo passaggio.
  3. Prova il adotta algoritmo, che cerca di trovare il testo simile nelle specifiche del nuovo.
    un. passi Usa (1) e (2), ma desrease la lunghezza del testo di ricerca in un ciclo fino a quando il sentance si trova o la lunghezza è troppo breve. Il lavoro pratico ha dimostrato che questo numero non dovrebbe essere inferiore a 20.
    b. Se i passaggi (1) e (2), o (3 bis) ha trovato diverse sentances aumentare la lunghezza del testo per la ricerca fino a quando il testo si trova nella nuova specifica o il limite superiore (Fe 140 caratteri) è raggiunto. Utilizzare i parametri per trovare il migliore testo di corrispondenza.

Adottare algoritmo potrebbe essere utilizzato sia con ignorando tag html e di trarne vantaggio. Algoritmo è valido per le specifiche scritte in formato testo, HTML o XML.

Questo algoritmo è stato implementato in JLS2-> strumento JLS3 trasferimento markup. L'84% dei marcatori sono stati trasferiti automaticamente. Il resto di loro sono state effettuate manualmente.



, , , , , ,
  • Bookmark
Print This Post Stampa questo post