Frage

Jetzt plane ich, auf 32-Bit, 64-Bit, Windows XP Home, Windows XP Pro, Windows Vista Home Basic, Windows Vista Ultimate, Windows 7 Home Basic und Windows 7 Ultimate ... alles mit derNeueste Service Pack.

Jedoch frage ich mich, ob es sich lohnt, sowohl für AMD als auch auf Intel für alle aufgelisteten Szenarien oben zu testen, oder wäre es eine Zeitverschwendung?

Hinweis: Dies ist eine Sicherheitsanwendung für alltägliche durchschnittliche Benutzer.

War es hilfreich?

Lösung

Mein Gefühl ist, dass dies nur lohnend sein würde, wenn Sie eine von Hand codierte Montagesprache oder eine Art unglaublich enge Timings (die Sie nicht mit dieser Auswahl von Betriebssystemen treffen würden).

Wenn Sie off-the-the-Regal-Commercial Compiler verwenden, können Sie sicherlich sicher sein, dass sie Code generieren, der auf allen normalen Prozessoren läuft.

Natürlich konnte niemand noch nicht beweisen, dass sie nicht auf einer bestimmten Plattform testen mussten, aber ich würde denken, dass es größere Ursachen für Plattformunterschiede gibt, die sich um Sorgen um die Marke CPU (alle verschiedenen Multi-Core / Hyperthreading-Permutationen,Dies kann beispielsweise alle Ihre multithreaded Code-Fehler auf unterschiedliche Weise freigeben)

Andere Tipps

nur, wenn Sie in der Montage programmieren und erweiterte, vengespezifische Anweisungssätze verwenden.Da AMD und Intel jedoch lizenzierende Vereinbarungen vorhanden sind, ist dies eher ein historisches Thema als ein aktueller.

In jedem anderen Fall (z. B. mit einer hohen Sprache mit hoher Ebene) ist es der Job der Compiler-Autoren, sicherzustellen, dass der Code X86-kompatibel ist und auf jeder CPU läuft.

oh, und außer dem FDIV Bug Prozessoranbieter meist normalerweise keine Fehler.

Ich denke, Sie schauen in die falsche Richtung, um Szenarien zu testen.

Ja, es ist möglich, dass Ihr Code an Intel funktioniert, aber nicht auf AMD oder in Windows Vista Home, jedoch nicht in Windows Vista Professional. Aber es sei denn, es sei denn, Sie tun, wenn Sie im ersten Fall etwas sehr eng mit niedrigem Niveau gebunden sind, oder auf Details der OS-Implementierung in der zweiten, sind die Chancen klein. Man könnte sagen, dass es nie tut, jedes denkbare Szenario zu testen. Aber im wirklichen Leben muss es ein gewisses Limit auf den von Ihnen zur Verfügung stehenden Ressourcen geben. Die Prüfung an verschiedenen Prozessoren oder unterschiedlichen Betriebssystemen ist in den meisten Fällen, in dem Sie Ihr Programm nicht testen, ertet den Compiler, das Betriebssystem oder den Prozessor. Wie viel Zeit müssen Sie frei sein, um die Arbeit anderer Menschen zu testen? Ich denke, Ihre Zeit wäre besser, mehr Szenarien in Ihrem eigenen Code zu testen. Sie geben nicht viel detailliert darüber, was Ihre App tut, aber nur um eines meiner eigenen Beispiele zu nehmen, wäre es viel produktiver, ein Tagesuntersuchungsverkauf Produkte zu verbringen. Unsere eigenen Firma macht gegen Produkte, die wir von anderen Herstellern wiederverkaufen, oder Testen von Umsatzsteuerregeln für verschiedene Zustände oder was auch immer.

In der Praxis teste ich in der Praxis sogar die Bereitstellung von Bereitstellen unter Windows versus, um auf Linux einzusetzen, achtlich verschiedene Windows-Versionen, und ich werde selten davon verbrannt.

Wenn ich mit niedrigem Niveau-Gerätetreiber oder etwas so schrieb, wäre das eine andere Geschichte. Aber normale Apps? Verschwenden Sie nicht Ihre Zeit.

klingt sicherlich, als wäre es eine Zeitverschwendung für mich - welche Sprache (en) sind Ihre Programme in?

Ich würde nein sagen.Wenn Sie nicht Ihre Bewerbung in Assembler schreiben, sollten Sie weit genug vom Prozessor entfernt sein, um sich nicht um Unterschiede zu kümmern.Die Prozessoren unterstützen das Windows-Betriebssystem, dessen APIs das ist, was Sie interessieren (je nach Sprache).Wenn Sie .NET verwenden, ist das einzige von Ihnen nur unersetzbare Problem, wenn Sie eine Version des Frameworks verwenden, die diese Plattformen nicht unterstützen.Da sie alle XP oder später sind, sollten Sie in Ordnung sein.Wenn Sie sich Sorgen um etwas Sorgen machen möchten, stellen Sie sicher, dass Ihre Anwendung mit dem Vista und einem späteren Sicherheitsmodell auf schöne Weise spielt.

Die Frage ist wahrscheinlich ", was Sie testen".Es ist unwahrscheinlich, dass einer der Prüfung etwas testet, das möglicherweise zwischen AMD- und Intel-Hardware-Plattformen unterschiedlich wäre.Die Unterschiede könnten auf Treiberebene erwartet werden, aber Sie scheinen nicht zu testen, dass Ihre Software für jedes vorhandene Bit von PC-Hardware, die in der Nähe verfügbar sind, testen.Am wahrscheinlichsten würde es viel mehr Unterschiede zwischen verschiedenen Ebenen des Windows-Servicepakets als zwischen AMD- und Intel-Prozessoren geben.

Ich nehme an, es ist möglich, dass in Ihrem Code einige Funktionen vorhanden ist, die (ob Sie es wissen, dass sie wissen oder nicht) nutzen, um einige Verarbeitung / Optimierung in der einen oder der anderen zu nutzen, die einen ernsthaften Effekt auf das Ergebnis haben könnte.Stichwort möglich.

Ich würde sagen, dass Sie sich im Allgemeinen nicht sagen, dass Sie sich unwahrscheinlich machen müssen.Wenn Sie es trotzdem auf mehreren Maschinen tun, mischen Sie es auf sie auf.Aber ich würde nicht betonen.

Ich würde nie alle meine Regressionstests auf AMD und Intel führen, es sei denn, ich hatte ein einzigartiges Thema ein einzigartiges Problem mit einem einzigartigen.Das ist, was Regressionstests ist.

Einheitsprüfung auf der anderen Seite ... Ich würde keinen Unterschied vorhersehen.Also würde ich also nicht mehr Mühe mit der Leitung von Unit-Tests auf beiden, bis ich tatsächlich ein Thema gesehen hatte, das für AMD oder Intel spezifisch ist.

Wenn Sie sich auf genaue / konsistente Fließkomma-Ergebnisse verlassen, dann ja, definitiv.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top