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, è la lista delle regole, che durante l'utilizzo di altri devono obbedire.

Creiamo un linguaggio informatico. Prima di tutto la specifica è necessaria, che descriverà l'intero modello concetto, gli sviluppatori dicono 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 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. In tal caso 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

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 spec (mi prometto di scrivere più su questo). Il nostro team sta finendo JCK 6a, lang test fa parte di questo JCK. Oggi ho eseguito gli script di copertura e finalmente possiamo dire che abbiamo una copertura 99% per l'affermazione JLS 3. Per essere più precisi, abbiamo 99,4%. Significa che abbiamo scritto test 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 approfondimenti - Prove di più per diverse affermazioni sono necessarie;
  • ci sono sentances che sono verificabili, ma per vari motivi non li aveva contrassegnato come potenzialmente verificabili;
  • ci saranno 4 JLS presto, dovremmo cominciare a lavorare su di esso il più presto possibile.

Persone diverse potrebbero 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. Il 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 lavorato JCK-Lang, grazie a persone che hanno contribuito (soprattutto ai compilatore squadra) e grazie certamente grandi a tutti gli sviluppatori che utilizzano Java :-)

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



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

Ciao, mondo.

Leggo i weblog. Ho iniziato a leggere loro molto di più. Perché sto facendo questo? Bene .. Sono un credente che la condivisione delle informazioni rende divertente lavoro di altre persone di più. E non solo funziona, ma la gente vive insieme. Condividere le conoscenze e pensieri è un grande passo verso la costruzione di comunità. Weblog permette di pubblicare pensieri, opinioni, idee, preoccupazioni per i lettori. Mentre i lettori in grado di aprire una finestra di dialogo su un argomento discusso con i commenti.
Ho voluto creare il mio weblog personale molto tempo fa, ma credo finalmente fatta.
Io lavoro come ingegnere del software in un gruppo che crea un prodotto molto importante. Questo prodotto non è altrettanto ben noto come Java o Solaris. Direi che la maggior parte degli ingegneri del software, in questo mondo immenso non sapere. Tuttavia senza questo prodotto non ci saranno Java come lo conosciamo. Almeno Java non sarà così buona, così popolare e diffusa come è e come vogliamo che sia. Senza questo prodotto non ci saranno WORA (Write Once Run Anywhere). Sì, sto parlando di compatibilità. E il prodotto è un TCK (Technology Compatibility Kit) per Java. In due parole TCK è una suite di test, il che assicura che le implementazioni di Java conformi alla specifica. Il mio gruppo opera sotto diversi TCK's. Ma la principale è per la piattaforma Java SE.
Ci sono diversi ambiti in JCK (TCK per Java SE): API, Java Lingua e VM.
La mia zona che io lavoro per più di 2 anni "Java Language". Scrivo compilatore e runtime test per verificare che le implementazioni di Sun e di altre società 'si comportano esattamente come è detto nel JLS (Java Language Specification).
In questo blog cercherò di condividere le mie conoscenze, le mie opinioni e pensieri riguardanti il mio lavoro.
PS: l'inglese non è la mia lingua nativa. Ecco perché vorrei scusarmi per eventuali errori (sono sicuro che ci sono molti di loro già fatto) e sentances strano nel mio weblog. Cercherò di fare del mio meglio.



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