web-dev-qa-db-fra.com

Avons-nous besoin de tester des logiciels 32 bits dans des fenêtres 64 bits?

Je travaille dans une équipe de développement de logiciels en tant que développeur de logiciels. Je travaille sur le même projet depuis trois ans maintenant. Le logiciel est une application C # basée sur le bureau 32 bits dans .NET 4. Notre plate-forme cible dans Windows 7 (nous avons dû prendre en charge Windows XP jusqu'à l'année dernière). Le logiciel communique avec divers matériel personnalisé. Pour quels pilotes personnalisés sont écrits. Le logiciel de fabrication de matériel et de pilote est écrit par notre client. Il existe différents pilotes pour des fenêtres de 32 bits et 64 bits bien sûr.

Au cours de notre phase de test système, nous exécutons toutes les cas de test/la plupart des tests dans des fenêtres 32 bits et 64 bits 7. Je ne me souviens pas si nous avons reçu un bogue dans notre logiciel n'existant que dans une seule saveur de Windows. Avoir cette expérience que j'ai commencé à me demander, avons-nous vraiment besoin de tester des logiciels 32 bits sur des fenêtres de 64 bits?

Quelle est la norme de l'industrie?

31
Donotalo

Le logiciel de fabrication de matériel et de pilote est écrit par notre client. Il y a un pilote différent pour les fenêtres 32 bits et 64 bits bien sûr.

Donc, sur 32 bits Windows, votre logiciel parle d'un pilote et sur 64 bits Windows, il parle à un autre? Supposons qu'il y a de nouvelles versions de ces pilotes de temps à autre. Ainsi, lorsque vous ne testez que votre logiciel sur des fenêtres 32 bits, vous ne pouvez pas être sûr qu'il n'y aura pas de différences dans le pilote 64 bits qui rendra la combinaison de votre logiciel + 64 bits. Et du point de vue de vos utilisateurs, peu importe qui est à blâmer (vous ou l'auteur du pilote), tout ce qu'ils voient est un système de non-travail. Donc, même si -votre code est exempt de bugs, un test peut révéler un bogue dans le pilote 64 bits et trouver un tel bogue pourrait vous aider à prendre les bonnes mesures (comme l'envoi d'un rapport de bogue à l'auteur. du conducteur).

Bien sûr, lorsque vous avez utilisé ces deux pilotes depuis des années et que vous êtes très confiant que le comportement est exactement le même, vous pouvez ignorer les tests pour une plate-forme, à la suite des arguments de la réponse de @ Davidperfors. En tant que compromis, vous pouvez exécuter des tests sur 64 bits Windows uniquement chaque fois qu'une nouvelle version du pilote est disponible. En fait, cela dépend de la complexité des pilotes, de votre expérience et de la confiance en eux.

Certaines choses supplémentaires à considérer:

  • quel type de système d'exploitation est votre base d'utilisateurs utilisant le plus? Windows 32 bits ou 64 bits? Si vous décidez de ne tester que sur une plate-forme, choisissez celui que vos utilisateurs utilisent le plus souvent.
  • quelle est la gravité lorsqu'une nouvelle version du logiciel ne fonctionnera pas sur une plate-forme moins fréquemment utilisée? Par exemple, vos clients peuvent-ils immédiatement reculer et installer la version précédente? Ont-ils seulement des inconvénients ou des pertes financières réelles à cet égard? Si c'est le premier, le test sur une seule plate-forme peut aller bien, si c'est ce dernier, évidemment pas.
23
Doc Brown

L'hypothèse par défaut dans les cercles QA éclairés est "si vous ne l'avez pas testé, cela ne fonctionne pas".

En tant que pratique, c'est généralement un objectif inaccessible de s'efforcer de la même manière que les ingénieurs d'application pourraient aimer avoir des tests unitaires pour tout; Mais ils ne croient pas qu'ils vont jamais l'atteindre et libérer le calendrier.

Cependant, votre question ne peut être répondu que par ou en conjonction avec les ventes et le marketing. Vous leur fournissez un coût pour tester et ils fournissent une analyse des avantages du marché. Si les estimations sur les deux Côtés étaient suffisamment précises, la réponse serait simple.

if B > C:
    test_32bit_version()

D'après mon expérience, les estimations de coûts de chacun sont inexactes. En ce qui concerne l'autre côté de l'équation, dilbert une fois la décision parodiée, rendant "je viens de demander à mon chat, des mitaines". Pour faire beaucoup mieux, ils auraient besoin d'une formation dans des méthodes de terrain anthropologiques.

16
msw

En voyant 99% de toutes les installations Windows de Windows 7 et plus, et une bonne partie de Vista également, sont également 64 bits, pourquoi envisageriez-vous même pas de tester pour cette plate-forme?
C'est juste une certitude, à moins que vous ne le rendez spécifiquement pour un groupe d'utilisateurs très limité que vous connaissez utilisez 32 bits Windows et continuera de le faire pour la vie de votre produit.

[.____] Alors oui, testez les problèmes de 64 bits. En fait, développez sur des plates-formes 64 bits et fournissez probablement une version 64 bits en standard avec une version compilée 32 bits en tant qu'option pour ces rares clients qui n'ont pas mis à niveau vers un nouvel ordinateur et un nouvel système d'exploitation au cours des 6-8 dernières années environ. .

6
jwenting

Je testerais tout programme d'installation sur autant de configurations de Windows différentes que de mon expérience que les installateurs sont les plus susceptibles d'échouer sur différents systèmes.

Sinon, comme vous savez à partir de votre Expérience avec le logiciel donné, les bogues sont très peu susceptibles de juste Afficher sur 32 bits ou 64 bits, et vous pouvez prendre des risques calculés.

Premièrement, vous devriez avoir de nombreux cycles de test avec très peu de code de changement entre les cycles ultérieurs lorsque vous vous approchez de l'expédition. Chaque fois que vous pouvez enregistrer, vous pouvez utiliser pour créer plus de cas de test et/ou permettre plus de cycles (et donc plus petits), ce qui donne des commentaires plus rapides. (Le risque de dépenser des tests de temps X peut être plus que le risque de ne pas tester y, car vous testez trop x.)

Par conséquent

  • Essayez de tester la "autre bit" à ce que vous avez utilisé pour le cycle de test de procédure.
  • Si vous connaissez la "bitness", votre développeur utilise, commencez par tester sur une autre.
  • Divisez les cas de test entre la "bitness" pour donner une couverture à venir sur chacun
  • Mais échangez-les entre les "binnes" à chaque cycle de test.
2
Ian

Nan. De même, lorsque la FDA a terminé de tester de nouveaux médicaments sur des souris et des rats, ils ignorent les tests sur des singes et la vendent simplement pour la consommation humaine.

</ sarcasme>

Oui oui oui oui oui. Il n'y a que de la tristesse en magasin pour votre logiciel si vous ne testez pas toutes les plateformes que vous pouvez. Les choses sont toujours différentes et les hypothèses de la tête du concepteur/codeur pendant le projet ne sont généralement pas pratiquement proches de la modélisation de la vie réelle. Alors s'il vous plaît, testez votre logiciel. S'il te plaît.

2
kmort