Spezifikation, Konformitäts-, Kompatibilitäts-Tests ... Was sie alle zu werden?
Manchmal scheinen all diese Begriffe ziemlich verwirrend. Oder ist es besser zu sagen, dass sie in der Regel oder sogar immer.
Vor allem, wenn verschiedene Personen und Unternehmen verstehen die Situation um sie auf unterschiedliche Weise. Deshalb fangen wir von Anfang an.
Es gibt eine Vielzahl von Spezifikationen oder Normen um uns herum. Webster Dictionary beschreibt Standard als etwas von der Autorität, Gewohnheit oder allgemeine Zustimmung als Modell oder Beispiel gegründet. Also im Grunde ist es die Liste der Regeln, die bei der Verwendung anderer zu gehorchen haben.
Lassen Sie uns eine Programmiersprache. Vor allem die Spezifikation erforderlich ist, wird die beschreiben, das ganze Konzept Modell, sagen, was man als Entwickler ein Programm geschrieben werden, wie sie sich verhalten wird, was wird erstellt, durchgeführt und usw. Nach der Erstellung aller erforderlichen Unterlagen diese - das ist es, kann man halten direkt dort. Wenn die Idee gut genug ist, mehrere andere Unternehmen sollten sich an ihren Implementierungen zu erstellen: zB Compiler und Ausführung Umgebungen. Aber sie müssen die Spezifikation gehorchen. Ansonsten gelten die gleichen Programme werden auf einer läuft und läuft anders oder gar auf der anderen Seite die Umsetzung scheitern. Erfüllung durch eine Umsetzung aller genannten Anforderungen heißt Konformität.
Warum ist es so wichtig?
Nun, sagen wir diese neue Sprache verwendet wurde, um ein Programm für die Börse zu schaffen. Stellen Sie es in den USA geschrieben, gut getestet und an der NYSE verwendet. Es war so gut, dass andere Länder der ganzen Welt gekauft haben eine Lizenz und begann, setzt es auf die Umsetzung dieser neuen Sprache. Wenn eine Anwendung nicht der Spezifikation gehorchen, könnte das gleiche Programm andere Dinge zu tun mit dem Geld der Kunden. Im Grunde Börse Programm kann verkaufen, wenn Handelsvertreter schob die Schaltfläche "Kaufen", oder Stahl zu kaufen statt der Früchte.
Die gute Frage wäre: "Warum unterschiedliche Implementierungen? Lassen Sie uns ein und nutzen. ". Es gibt verschiedene Antworten. Mehrere Unternehmen möchten auf diese Sprache auf unterschiedlichen Plattformen (Solaris, Linux, Windows) und Geräte (Desktop-, Handy-, PDA-, Studenten-Rechner, etc). Andere wollen Algorithmen für ihre Bedürfnisse zu optimieren, sie umzusetzen, so zB die großen Datenbank-Programm werden 10-mal schneller.
Der zentrale Punkt ist, dass mehrere unterschiedliche Implementierungen genau das gleiche und nach der Spezifikation arbeiten müssen. Wenn sie das tun, werden als kompatibel. Das Schlimme ist, dass niemand sicher sein kann. Deshalb ist der Bestätigungs-Mechanismus erforderlich ist. Normalerweise ist es ein Test-Suite, die die Konformität und Kompatibilität überprüft. Und in diesem Fall ist es falsch zu sagen, dass etwas nicht kompatibel oder fast 99% kompatibel. Es könnte entweder ja oder nein.
Let's move auf ein Beispiel. Sun Microsystems Java-Sprache erfunden. Um genauer zu sein mehrere Java-Versionen für verschiedene Märkte geschaffen. Die bekanntesten sind , Java SE und . Und ist für jeden von ihnen gibt es eine eigene Spezifikation. Sun Microsystems hat seine eigene Implementierung, die am häufigsten verwendet wird. Allerdings ist die Sprache so gut, dass es eine ganze Reihe anderer Unternehmen und deren Implementierungen. Aus Gründen der Kompatibilität und Konformität Zwecke gibt es TCKs (Conformance Test Kit). TCK ist ein Produkt, das eine Reihe von Tests, die zu überprüfen sind, wenn eine korrekte Umsetzung ist nach den Regeln von der Spezifikation.
Meine Absicht war es, eine Vorstellung davon, was Spezifikation, Konformität, Kompatibilität und TCK geben sind und warum sie so wichtig sind.
Behauptung, Kompatibilität, Konformität, Umsetzung, Java, Java-Sprache, Java SE, Sprache, Linux, Solaris, spec, Spezifikation, So., Sun Microsystems, TCK, Conformance Test Kit, Tests, Windows

