, La conformità, di compatibilità, test di specificazione ... Che stanno tutto questo?

A volte tutto questo termini sembrano piuttosto confusi. 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 dall'inizio.

Ci sono un sacco di specifiche o di norme che ci circonda. Dizionario Webster descrive come qualcosa di standard da essa stabiliti, su ordinazione, o il consenso generale, come modello o esempio. Quindi, fondamentalmente, è l'elenco di regole, che durante l'utilizzo di altri devono obbedire.

Creiamo un linguaggio informatico. Prima di tutto la specificazione è necessaria, che descriverà il modello intero concetto, dicono gli sviluppatori che cosa può essere scritta 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 fallire sull'attuazione altri. Rispetto da parte di una implementazione di tutti i requisiti specificati si chiama conformità.

Perché è così importante? money coins Specification, conformance, compatibility, tests... What are they all about? Beh, diciamo che questo linguaggio è stato utilizzato per creare un programma per la borsa. Immaginate che è stato scritto negli Stati Uniti, ben testato e utilizzato al NYSE. E 'stato così buono, che altri paesi in tutto il mondo, ha acquistato una licenza e iniziato a utilizzare la loro attuazione di questo nuovo linguaggio. Se l'applicazione non obbediva le specifiche, il programma stesso potrebbe fare cose diverse con i soldi dei clienti '. In pratica questo programma di scambio azionario 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é le implementazioni diverse? Creiamo uno e usarlo. ". Ci sono risposte diverse. Diverse aziende potrebbero voler usare questo linguaggio su diverse piattaforme (Solaris, Linux, Windows) e dispositivi (desktop, cellulare, PDA, calcolatore degli studenti, ecc.) Altri vogliono ottimizzare gli algoritmi per le loro esigenze, fe attuarle in modo che il programma di database grande sarà 10 volte più veloce.

Il punto chiave è che molte implementazioni diverse devono funzionare esattamente lo stesso e secondo le specifiche. Se lo fanno in modo che siano chiamati compatibili. La parte negativa è che nessuno può essere sicuro. Ecco perché il meccanismo di verifica è necessario. Di solito si tratta di una suite di test che verifica la conformità e compatibilità. E in questo caso è sbagliato dire che qualcosa è 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 diverse 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 una propria implementazione, che è più comunemente usato. Tuttavia, il linguaggio è così buono, che ci sono un bel alcune aziende di altri e le loro implementazioni. Per ragioni di compatibilità e conformità ci sono TCKs (test di conformità Kit). TCK è un prodotto che include una serie di test, che verificare se un applicazione è corretta in base alle regole da specifica.

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



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

99% - è sufficiente o no?

99% Oggi è un grande giorno. Cercherò di spiegare perché. Come ho detto nel mio intro-post la nostra squadra è la creazione di diversi TCK differente. L'area che ci lavoro è LANG cosiddetto - I test per sviluppare linguaggio Java. Molto tempo fa, più di 2 anni da oggi, abbiamo iniziato a lavorare su JLS 3 specificazione . Abbiamo dovuto risolvere molti problemi che spesso si verificano durante il cambio di spec (prometto di scrivere di più su questo). Il nostro team sta finendo 6a JCK, lang test fa parte di questo JCK. Oggi ho eseguito lo script di copertura e finalmente possiamo dire che abbiamo affermazione% di copertura 99 per JLS 3. Per essere più precisi, abbiamo 99,4%. Significa che abbiamo scritto le prove per il 99% di sentances in JLS 3 che avevamo segnato come potenzialmente verificabili. Non è cool? Scommetto che è!

Il lavoro non è certo ancora finita e non sarà così - ci sono molte ragioni per cui sono necessari più test:

  • miglioramento profondità di copertura - più prove per le affermazioni sono necessari più;
  • ci sono sentances che sono verificabili, ma per vari motivi non li aveva segnalati come potenzialmente verificabili;
  • ci saranno 4 JLS presto, dovremmo iniziare a lavorare su di esso il più presto possibile.

Diverse persone possono avere risposte di fronte ad una questione che in un titolo. La maggior parte direbbe "Sì, naturalmente". Infatti il 99% è quasi il 100%. E ciò che è al 100% - si tratta di una perfezione. 99% sembra grande, ed è grande. Ma dobbiamo capire che cosa questo numero rappresenta, e cosa può essere migliorato. La mia opinione è "sì, è grande, colossale, enorme, ma no, non basta, voglio di più, anche oltre il 100%", è per questo che ho intenzione di creare uno script per il calcolo approfondimenti.

Grazie a tutti gli sviluppatori di Sun che ha funzionato JCK-Lang, grazie a persone che hanno contribuito (in particolare alla squadra del compilatore) e certamente grande grazie a tutti gli sviluppatori che utilizzano Java :-)

mondo Java è diventato ancora più compatibile e più sicuro!



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