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 class 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 è statico perché si basa su l'attributo title. Una seconda soluzione sarebbe che lo strumento avrebbe verificare l'esistenza di un test (in base all'ID affermazione o 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 spec, non erano cambiati e aggiornare le prove non è necessaria - 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

Specifica, conformità, di compatibilità, test ... Che cosa stanno tratta?

A volte tutto questo termini sembrano piuttosto confusa. O è meglio dire che di solito o addirittura sempre. abstract Specification, conformance, compatibility, tests... What are they all about? Soprattutto quando diverse persone e le aziende a comprendere la situazione intorno a loro in modi diversi. Quindi partiamo dal principio.

Ci sono un sacco di specifiche o di norme che ci circonda. Il dizionario Webster descrive come qualcosa di standard stabiliti dalla pubblica autorità, su ordinazione, o il consenso generale, come modello o esempio. Quindi, fondamentalmente, è l'elenco di regole, che altri mentre si utilizza devono obbedire.

Creiamo un linguaggio informatico. Prima di tutto la specificazione è necessaria, che descriverà il modello intero concetto, gli sviluppatori dicono che cosa può essere scritto come un programma, come si comporterà, quello che sarà compilato, eseguito e ecc Dopo aver creato tutti questi documenti necessari - che è, ci si può fermare lì. Se l'idea è abbastanza buona società di diversi altri potrebbero voler creare le loro implementazioni: fe compilatori e ambienti di esecuzione. Ma devono obbedire le specifiche. In caso contrario, gli stessi programmi verrà eseguito in uno ed eseguire in modo diverso o addirittura non sulla realizzazione di altri. Rispetto da parte di una implementazione di tutti i requisiti di cui è chiamato conformità.

Perché è così importante? money coins Specification, conformance, compatibility, tests... What are they all about? Beh, diciamo che questo nuovo linguaggio è stato utilizzato per creare un programma per lo scambio azionario. Immaginate è stato scritto negli Stati Uniti, ben testato e utilizzato al NYSE. E 'stato così buono, che gli altri paesi in tutto il mondo hanno acquistato una licenza e ha iniziato ad usarlo per la loro attuazione di questo nuovo linguaggio. Se una applicazione non obbediva le specifiche, il programma stesso potrebbe fare cose diverse con i soldi dei clienti '. In pratica questo programma di borsa potrebbe vendere quando l'agente commerciale ha spinto il pulsante "Acquista", oppure acquistare in acciaio al posto della frutta.

La buona domanda potrebbe essere: "Perché diverse implementazioni? Creiamo uno e utilizzarlo. ". Ci sono risposte diverse. Diverse aziende potrebbero voler usare questo linguaggio su diverse piattaforme (Solaris, Linux, Windows) e dei dispositivi (desktop, cellulare, PDA, calcolatore degli studenti, ecc.) Altri vogliono ottimizzare gli algoritmi per le loro esigenze, fe li realizzano in modo che il programma di database grandi saranno 10 volte più veloce.

Il punto chiave è che molte diverse implementazioni devono funzionare esattamente lo stesso e secondo le spec. Se lo fanno sono chiamati compatibili. La parte negativa è che nessuno può essere sicuro. Ecco perché il meccanismo di verifica è necessario. Di solito è una suite di test che verifica la conformità e compatibilità. E in questo caso è sbagliato dire che una cosa è compatibile o quasi il 99% compatibile. Ci potrebbe essere o sì o no.

no bug2 Specification, conformance, compatibility, tests... What are they all about? Andiamo verso un esempio. Sun Microsystems ha inventato linguaggio Java. Per essere più precisi varie versioni di Java per i vari mercati sono stati creati. I più famosi sono Java ME , Java SE e Java EE . E per ciascuno di essi vi è una specifica separata. Sun Microsystems ha la sua implementazione, che è più comunemente usato. Tuttavia, il linguaggio è così buono, che ci sono abbastanza poche imprese di altri e le loro implementazioni. Per la compatibilità e le finalità di conformità ci sono TCKs (test di conformità Kit). TCK è un prodotto che include un numero di prove, verificare se un applicazione è corretta in base alle regole da disciplinare.

La mia intenzione era di dare un'idea di cosa specifica, di conformità, compatibilità e TCK sono e perché sono così importanti.



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