Les tests de compatibilité font partie intégrante de nombreuses stratégies d’assurance qualité, permettant aux entreprises de vérifier si leurs logiciels fonctionnent correctement sur différentes plateformes. Même pour un programme réservé aux ordinateurs de bureau, il faut tenir compte de plusieurs grands systèmes d’exploitation et de centaines, voire de milliers, de différences matérielles susceptibles d’affecter la stabilité. La compréhension du processus de test de compatibilité et de ses avantages habituels peut contribuer à garantir un lancement de produit efficace, capable d’atteindre le plus grand nombre possible d’utilisateurs.
Bien que les tests de compatibilité puissent offrir un certain nombre d’avantages, il existe également de nombreux défis importants qu’une équipe de test de logiciels doit surmonter afin de maximiser le potentiel de cette technique. Il existe également des pratiques spécifiques que ces départements devraient employer pour obtenir les meilleurs résultats – et garantir une couverture globale des tests.
Dans cet article, nous examinons de près les tests de compatibilité, y compris les étapes essentielles que les équipes doivent suivre ainsi que les outils de test les plus utiles actuellement disponibles.
Qu’est-ce que le test de compatibilité ?
test et ingénierie de logiciels ?
Les tests de compatibilité examinent les logiciels sur différents appareils, matériels et microprogrammes afin de s’assurer qu’ils répondent aux attentes de l’équipe. Chaque utilisateur peut être amené à utiliser son programme sur un nouvel appareil, d’où l’importance pour l’entreprise de garantir une expérience similaire pour tous. Les tests de compatibilité, par exemple, peuvent consister à vérifier chaque caractéristique d’une application pour s’assurer qu’elle fonctionne sur tous les principaux systèmes d’exploitation.
En l’absence de tests de compatibilité approfondis, il est tout à fait possible qu’une entreprise lance une application qui ne fonctionne pas avec certains appareils courants. Ces vérifications doivent être exhaustives, car un problème peut survenir de différentes manières – cette application peut ne pas fonctionner avec un type de carte graphique très spécifique, par exemple. Lorsqu’elles sont associées à d’autres formes de tests de logiciels, les équipes d’assurance qualité peuvent s’assurer que leur programme est prêt à être lancé.
1. Quand et pourquoi devez-vous effectuer des tests de compatibilité pour les applications mobiles, les sites web, les systèmes et les navigateurs croisés ?
Les entreprises effectuent des tests de compatibilité lors de la phase de test des logiciels, en particulier lorsqu’elles disposent d’une version « stable » du programme qui reflète fidèlement la manière dont il se comportera pour les clients. Ces tests se poursuivent après les tests alpha, les tests d’acceptation et les autres formes de tests qui portent souvent sur la stabilité générale et les problèmes liés aux fonctionnalités. Si une application rencontre des problèmes au cours de la phase de test de compatibilité, cela est généralement dû à des problèmes spécifiques liés à la compatibilité. Le fait d’effectuer ces contrôles trop tôt peut effectivement les rendre redondants, car des changements mineurs survenant plus tard dans le cycle de développement du programme peuvent avoir une incidence radicale sur la compatibilité.
Les tests de compatibilité des navigateurs et des logiciels sont importants car ils permettent aux entreprises de mettre sur le marché une application dont elles savent qu’elle fonctionnera correctement sur pratiquement tous les appareils possibles. Par exemple, les tests de compatibilité entre navigateurs permettent de s’assurer que les utilisateurs d’Opera ont la même expérience que ceux qui utilisent Firefox et d’autres navigateurs importants. L’équipe teste généralement autant de variantes de matériel/logiciel que le temps et le budget le permettent. Cela signifie qu’ils doivent intelligemment donner la priorité aux systèmes ou aux navigateurs que leurs clients sont le plus susceptibles d’utiliser, ce qui leur permet de garantir une large couverture des tests et un produit viable.
2. Quand il n’est pas nécessaire d’effectuer des tests de compatibilité des logiciels
Les entreprises peuvent créer une application sur mesure pour un système d’exploitation ou un modèle spécifique, ce qui limite considérablement le nombre de contrôles nécessaires. Les tests de compatibilité entre navigateurs dans les tests de logiciels pourraient être redondants si ce programme ne nécessite pas de navigateur, par exemple. Le temps peut également être un facteur important dans la capacité d’une entreprise à effectuer ces tests, bien que les équipes de test doivent toujours s’efforcer de garantir que les principaux systèmes et navigateurs sont compatibles avec le logiciel. Certains projets ne peuvent pas non plus bénéficier de tests de compatibilité de base.
3. Qui est impliqué dans les tests de compatibilité ?
Voici les principales personnes qui effectuent des tests de compatibilité dans le cadre des tests de logiciels:
1. Développeurs
L’équipe de développement vérifie les performances de l’application sur une seule plateforme au cours du développement et il se peut même que ce soit le seul appareil sur lequel l’entreprise a l’intention de publier le programme.
2. Testeurs
Les équipes d’assurance qualité, qu’elles soient internes à l’entreprise ou recrutées à l’extérieur, vérifient de nombreuses configurations possibles dans le cadre de la phase de test de compatibilité de l’application, y compris tous les principaux systèmes d’exploitation et navigateurs.
3. Les clients
Les clients de l’entreprise peuvent avoir du matériel ou des configurations que l’équipe n’a pas pu tester en profondeur, ce qui fait de leur expérience utilisateur la première véritable vérification de cette configuration spécifique.
Avantages des tests de compatibilité
Les avantages habituels des tests de compatibilité des logiciels sont les suivants :
1. Un public plus large
Plus une équipe teste son logiciel en profondeur, plus elle peut le diffuser en toute confiance pour un grand nombre d’appareils, garantissant ainsi qu’un large public sur de nombreuses plates-formes puisse profiter de son application. Cela permet aux entreprises de vendre davantage de produits sur le programme et peut également améliorer le nombre d’avis positifs que ce logiciel reçoit de la part des utilisateurs.
2. Améliore la stabilité
Les tests de compatibilité dans les essais de logiciels sont essentiels pour mettre en évidence les problèmes de stabilité et de performance, qui peuvent souvent être plus prononcés sur différents appareils – en particulier si les développeurs n’ont conçu l’application que pour une seule plateforme. Un test de compatibilité du système montre à l’entreprise ce que les utilisateurs (sur une large gamme d’appareils) peuvent attendre des performances globales du logiciel.
3. Affine le développement
Ces tests ont également des répercussions importantes à long terme sur l’équipe de développement. Par exemple, les tests de compatibilité mobile peuvent fournir des informations précieuses sur le développement d’applications dont les entreprises peuvent tenir compte lorsqu’elles créent des programmes supplémentaires. Cela peut réduire considérablement les dépenses liées aux tests de compatibilité pour les projets futurs, en leur permettant de réutiliser les leçons tirées de ce processus.
4. Vérifie les autres tests
La plupart des tests effectués jusqu’à présent ont une portée limitée et ne testent pas toutes les combinaisons possibles de matériel ou de logiciel. Les tests de compatibilité entre navigateurs, par exemple, valident les étapes préexistantes de l’assurance qualité en montrant que les résultats sont les mêmes lorsque l’utilisateur utilise un autre navigateur.
5. Réduire les coûts
Les tests de compatibilité peuvent également réduire les coûts du programme actuel, en aidant les équipes à identifier les problèmes avant que l’application ne soit diffusée au public – à ce stade, la correction des erreurs devient plus coûteuse. Plus les tests d’une équipe sont variés (et plus le taux de couverture des tests est élevé), moins il est coûteux d’éliminer les erreurs au fur et à mesure qu’elles apparaissent.
Les défis des tests de compatibilité
Voici les difficultés auxquelles les entreprises peuvent être confrontées lorsqu’elles mettent en œuvre des tests de compatibilité dans le cadre de l’évaluation des logiciels :
1. Temps limité
Si les outils d’automatisation et autres solutions permettent d’accélérer considérablement les tests de compatibilité en simulant une série d’appareils, ce processus doit néanmoins respecter le calendrier de développement de l’entreprise. Cela signifie que l’équipe chargée des tests doit donner la priorité aux appareils et aux navigateurs les plus courants afin de garantir qu’ils reçoivent l’audience la plus large (et la plus populeuse).
2. Absence de dispositifs réels
Ces contrôles font généralement appel à des machines virtuelles qui simulent les composants et les conditions des appareils réels ; cette méthode est beaucoup moins coûteuse (et plus rapide) que l’acquisition indépendante des pièces et des plates-formes concernées. Toutefois, cela peut affecter la précision de ces résultats, d’autant plus que les performances dépendent souvent de la manière dont les utilisateurs utilisent un appareil réel.
3. Difficile d’assurer l’avenir
Les tests de compatibilité ne peuvent porter que sur des plateformes existantes, ce qui signifie qu’ils ne peuvent pas garantir que l’application fonctionnera comme prévu sur les futures versions de Windows et de Google Chrome. Les organisations ne peuvent y remédier qu’après le lancement, ce qui est souvent plus coûteux, et l’application risque alors d’être obsolète.
4. Entretien des infrastructures
Si une équipe décide de vérifier un nombre important de plateformes en interne, cela peut entraîner des frais d’infrastructure élevés. Les tests de compatibilité pour les applications mobiles, par exemple, pourraient impliquer l’approvisionnement d’un certain nombre de dispositifs mobiles réels. Bien que cette méthode soit plus précise que les tests de compatibilité matérielle simulés, elle est coûteuse et implique généralement une maintenance régulière.
5. Nombre élevé de combinaisons
Les tests de compatibilité tiennent compte de nombreux facteurs qui se croisent, tels que le système d’exploitation, le navigateur, le matériel, le micrologiciel et même la résolution de l’écran. Même si l’équipe de test dispose de beaucoup de temps, il lui serait impossible de tenir compte de toutes les possibilités. Les tests de configuration et de compatibilité doivent à nouveau donner la priorité aux combinaisons d’appareils les plus probables.
Caractéristiques des tests de compatibilité
Les principales caractéristiques des tests de compatibilité sont les suivantes
1. Rigoureux
Ces vérifications doivent permettre d’isoler les éventuels problèmes de compatibilité entre les appareils, faute de quoi l’équipe risque de publier un programme défectueux. Par exemple, ces contrôles doivent permettre de s’assurer que chaque fonctionnalité de l’application s’affiche comme prévu, quelle que soit la résolution de l’écran de l’utilisateur.
2. Expansif
Les tests doivent maintenir un équilibre entre la profondeur et l’étendue, afin d’aider les équipes à étudier un certain nombre de problèmes dans de nombreuses configurations d’appareils. Les tests de compatibilité entre navigateurs portent sur un large éventail de combinaisons de systèmes d’exploitation et de navigateurs, garantissant un niveau de couverture élevé, parfois à l’aide d’une solution automatisée.
3. Bidirectionnel
Ce processus implique des tests de compatibilité ascendante et descendante ; le premier permet à l’équipe de voir comment son application fonctionnera sur du matériel plus ancien. Ce dernier permet à l’équipe d’accéder à des plateformes de pointe, ce qui l’aide à garantir des performances à long terme, même si ses capacités d’anticipation sont assez limitées.
4. Répétitif
Les problèmes mis en évidence par ces contrôles doivent pouvoir être répétés facilement par d’autres testeurs et d’autres services, afin de montrer qu’ils reflètent les erreurs que les utilisateurs sont susceptibles de rencontrer. Si un test de compatibilité d’un site web indique que des fonctionnalités spécifiques ne fonctionnent pas sur un certain navigateur, la répétabilité aide les développeurs à résoudre le problème.
Types de tests de compatibilité
Les principaux types de tests de compatibilité sont les suivants :
1. Tests de rétrocompatibilité
Les tests de rétrocompatibilité consistent à vérifier l’application en utilisant des versions plus anciennes du matériel actuel – ce qui est essentiel, car le fait de limiter ces vérifications aux appareils modernes risque de restreindre considérablement le nombre d’utilisateurs. De nombreuses personnes utilisent encore des systèmes d’exploitation plus anciens, comme Windows 8, par exemple.
2. Test de compatibilité en amont
Le test de compatibilité avec l’avenir est similaire, mais il porte sur les technologies modernes ou à venir, afin de déterminer si l’application est susceptible de continuer à fonctionner pendant des années malgré les progrès et les mises à jour. Sans ces tests, le logiciel pourrait même cesser de fonctionner lors de la prochaine mise à jour du navigateur, par exemple.
3. Test de compatibilité des navigateurs
Les tests de compatibilité avec les navigateurs web permettent de s’assurer qu’une application web ou un site peut fonctionner sur différents navigateurs, ce qui est essentiel car ils utilisent des moteurs de mise en page différents. Les équipes d’assurance qualité testent même la compatibilité entre les navigateurs, c’est-à-dire qu’elles vérifient que chaque navigateur peut gérer l’application sur des systèmes d’exploitation différents.
4. Test de compatibilité mobile
Le test des applications mobiles est un processus similaire à celui des applications de bureau et des applications web, d’autant plus que le système d’exploitation du téléphone est un autre élément clé à prendre en compte. Les applications Android et iOS, par exemple, se présentent sous des formats totalement différents et nécessitent un processus de développement et de test entièrement distinct.
5. Test de compatibilité du matériel
Ces vérifications portent sur les composants spécifiques de la machine et sur la manière dont ils peuvent affecter un programme ; il s’agit d’un aspect essentiel pour pratiquement tous les types d’appareils. Par exemple, un ordinateur peut être équipé d’une carte graphique qui ne peut pas rendre l’interface d’une application web.
6. Test de compatibilité des appareils
Certaines applications se connectent à des appareils externes par le biais de Bluetooth, d’une connexion à large bande ou d’une connexion câblée. Une application peut avoir besoin de se connecter à une imprimante, par exemple. Ces tests visent à s’assurer que le programme s’engage avec les connexions de la plateforme et tous les appareils auxquels il peut accéder.
7. Tests de compatibilité des réseaux
Si une application nécessite une fonctionnalité réseau pour fonctionner – par exemple en se connectant à une base de données en ligne via le serveur de l’entreprise – cela nécessite de nombreux contrôles de compatibilité. Cela permet de s’assurer que le programme peut fonctionner à une vitesse appropriée avec une connexion réseau Wi-Fi, 4G ou 3G.
Que testons-nous dans les tests de compatibilité ?
Les testeurs de compatibilité vérifient généralement les éléments suivants :
1. La performance
L’un des principaux objectifs des tests de compatibilité est de garantir la stabilité, car certains aspects de l’application peuvent être totalement incompatibles avec les plates-formes courantes. En examinant la réactivité globale de ce programme, l’équipe chargée des tests s’assure qu’il n’y a pas de plantage grave sur certains appareils.
2. Fonctionnalité
Les tests de compatibilité vérifient également les caractéristiques et les fonctions générales d’une application afin de s’assurer que le logiciel est en mesure de fournir des résultats corrects. Par exemple, un système de gestion de la relation client peut être incapable de fournir des données sur les ventes ou des analyses générales aux utilisateurs dont le système d’exploitation est obsolète.
3. Graphique
Certains navigateurs ou appareils peuvent avoir du mal à restituer certains éléments graphiques pour un certain nombre de raisons – et les contrôles de compatibilité peuvent aider à résoudre ce problème. Il se peut qu’un programme ne puisse fonctionner qu’à certaines résolutions d’écran, à moins que les développeurs ne modifient la façon dont le programme affiche son contenu.
4. La connectivité
Les tests de compatibilité examinent également la manière dont le programme s’intègre spécifiquement à l’appareil de l’utilisateur et à sa propre base de données, ce qui lui permet de détecter des appareils tels que des imprimantes. Ces contrôles peuvent, par exemple, révéler que l’application n’est pas en mesure de se connecter à sa propre base de données sur les réseaux 3G.
5. La polyvalence
Ces contrôles permettent de s’assurer que l’application de l’entreprise est suffisamment polyvalente pour fonctionner sur les anciennes et les nouvelles versions du même système d’exploitation grâce à des tests de compatibilité ascendante et descendante. Cela garantit que les utilisateurs ne sont pas exclus du programme si leur logiciel est obsolète depuis quelques années.
Types de résultats des tests de compatibilité
Les trois principaux résultats des tests de compatibilité sont les suivants
1. Résultats des tests
Le résultat le plus courant de ces contrôles est le résultat lui-même, qui peut prendre plusieurs formes. Par exemple, les tests de compatibilité avec les navigateurs peuvent révéler qu’une application web entraîne une fuite de mémoire sur Microsoft Edge alors que la même application n’a pas d’effets négatifs sur les navigateurs basés sur Chrome. Par ailleurs, l’application pourrait fonctionner exactement comme l’équipe s’y attend sur les plateformes concernées.
2. Journaux d’essai
Les résultats des tests se manifestent également sous la forme des journaux de l’application, qui mettent en évidence tout problème logiciel découvert par le biais de messages d’erreur. Ces journaux peuvent même identifier la partie spécifique d’un programme qui est à l’origine de cette erreur. Pour les tests de compatibilité en particulier, les testeurs doivent être familiarisés avec la manière dont ces journaux se manifestent et présentent ces problèmes sur les différentes plateformes.
3. Cas de test
Les cas de test de compatibilité définissent les tests que l’équipe effectuera et offrent un espace pour enregistrer les résultats dans un format simple. Les testeurs doivent utiliser leur connaissance du logiciel, en conjonction avec les résultats et les journaux, pour identifier la cause d’un problème. Plus ils fournissent d’informations, plus les développeurs peuvent rapidement commencer à corriger les bogues.
Types de défauts détectés
grâce à des tests de compatibilité
Voici les erreurs les plus courantes que les tests de compatibilité permettent d’identifier :
1. Mise à l’échelle de la présentation
Un test de compatibilité de site web peut montrer si les éléments qui composent une application web, ou même des pages web, s’adaptent à l’appareil de l’utilisateur, en particulier à la résolution et à la taille de son écran. Par conséquent, certains graphiques peuvent être difficiles à voir sur certains navigateurs.
2. Crash du logiciel
Les tests de compatibilité permettent de vérifier plus facilement si une application peut fonctionner sur certaines plates-formes. Par exemple, un développeur de jeux pourrait découvrir la configuration minimale requise pour son produit en vérifiant quels appareils se bloquent en raison d’une mémoire vive et d’une vitesse de processeur insuffisantes lorsque les testeurs le lancent.
3. Problèmes de validation HTML/CSS
Les navigateurs et les appareils lisent le code de manière différente, certains corrigeant automatiquement les fautes de frappe simples, comme le fait de ne pas fermer correctement une balise HTML. Les tests de compatibilité avec les navigateurs peuvent identifier des cas de CSS invalides qui empêchent l’application de générer son contenu et même ses fonctions de base.
4. Erreurs de lecture vidéo
De nombreux lecteurs vidéo modernes utilisent HTML5 pour diffuser des vidéos en ligne, ce qui pourrait constituer un élément clé de l’application web d’une entreprise. Toutefois, les équipes qui vérifient la compatibilité des navigateurs des sites web peuvent constater que les fonctions vidéo de leur application ne sont pas compatibles avec les navigateurs obsolètes.
5. Sécurité des fichiers
Les tests de compatibilité dans le domaine de l’ingénierie logicielle peuvent également mettre en évidence des problèmes liés à la sécurité des fichiers et à la manière dont celle-ci varie d’un appareil à l’autre. Par exemple, les nouvelles versions de Windows disposent d’une sécurité d’entrée/sortie plus robuste. L’application (par exemple un logiciel antivirus) peut alors avoir du mal à accéder aux fichiers de l’appareil.
Processus de test de compatibilité
Les étapes habituelles des tests de compatibilité sont les suivantes :
1. Élaborer un plan de test
Un plan de test complet est essentiel pour les tests de compatibilité ; l’équipe d’assurance qualité peut s’y référer si nécessaire lors de ses vérifications. Par exemple, elle détaille les dispositifs qu’elle testera et les critères de réussite ou d’échec ; elle doit également déterminer si elle utilisera l’automatisation des processus robotiques.
2. Configurer les cas de test
Les cas de test sont tout aussi importants, car ils précisent les contrôles de compatibilité spécifiques effectués par les équipes et les appareils spécifiques avec lesquels elles travaillent. Il contient également les étapes exactes que les testeurs doivent suivre, ainsi qu’un espace suffisant pour leur permettre d’enregistrer les résultats et toute information susceptible d’aider les développeurs à assurer la compatibilité.
3. Établir l’environnement de test
Un environnement de test isolé et indépendant, exempt d’influences extérieures, est nécessaire pour garantir la précision des tests et permettre à l’équipe d’assurance qualité d’identifier l’origine des problèmes qu’elle découvre. En outre, les testeurs peuvent effectuer leurs contrôles sur l’application sans compromettre la « vraie » version de quelque manière que ce soit.
4. Exécuter les tests
Une fois les cas de test et l’environnement entièrement préparés, l’équipe peut commencer les tests de compatibilité – même avec une solution automatisée, elle ne dispose que d’un temps limité. Les testeurs devront donner la priorité aux systèmes d’exploitation et aux configurations d’appareils les plus courants pour en tenir compte et assurer une large couverture des tests malgré ces limitations.
5. Nouveau test
Une fois que les tests sont terminés et que les développeurs reçoivent les cas de test, ils modifient l’application de manière à améliorer sa compatibilité, même si cela n’est pas toujours possible pour tous les appareils. Les testeurs vérifient ensuite à nouveau l’application et s’assurent que les problèmes qu’ils ont découverts précédemment ont disparu et qu’il n’y a pas de nouvelles erreurs majeures.
Paramètres courants des tests de compatibilité
Voici quelques indicateurs couramment utilisés pour les tests de compatibilité :
1. Largeur de bande
Les tests de compatibilité réseau mesurent la façon dont l’application fonctionne avec différents réseaux, y compris les réseaux de données à large bande et mobiles. La bande passante minimale nécessaire pour que le programme effectue ses tâches habituelles et se connecte à la base de données de l’entreprise peut être trop élevée pour une connexion 3G moyenne, par exemple.
2. Utilisation de l’unité centrale
Les problèmes de performance se manifestent notamment par une utilisation disproportionnée de l’unité centrale, ce qui peut signifier que l’appareil ne répond pas aux exigences minimales du programme. Les problèmes de CPU peuvent également affecter le temps de réponse de l’application, limitant sa fonctionnalité et provoquant un décalage suffisant pour décourager les utilisateurs.
3. Échelle de convivialité du système
L’échelle d’utilisabilité du système est un moyen courant de mesurer les détails subjectifs d’un programme. Elle comprend dix questions de base sur la facilité d’utilisation d’une application. Le score SUS obtenu est sur 100 et peut varier d’une plateforme à l’autre en raison d’erreurs graphiques.
4. Nombre total de défauts
Cette mesure est constante dans la plupart des types de tests et permet aux testeurs de comprendre l’état de santé actuel du programme. L’équipe peut également comparer les totaux de défauts entre les différentes plateformes. Ce faisant, les testeurs peuvent mettre en évidence les erreurs dues à l’incompatibilité.
5. Score SUPRQ
Similaire au score SUS d’une application, le questionnaire de rang centile de l’expérience utilisateur standardisée permet aux testeurs d’évaluer une application sur plusieurs facteurs clés, dont la convivialité et l’apparence. Cela leur permet d’identifier les difficultés rencontrées par les clients pour utiliser l’application sur certains appareils.
7 erreurs et pièges dans la mise en œuvre des tests de compatibilité
Voici sept erreurs importantes à éviter lors des tests de compatibilité :
1. Absence de dispositifs réels
Bien qu’il soit impossible de tester toutes les combinaisons possibles d’appareils, l’équipe chargée des tests a tout intérêt à utiliser autant d’appareils réels qu’elle peut en trouver. Diverses plateformes proposent des appareils « réels » via des solutions en nuage afin de faciliter les tests de compatibilité entre navigateurs de manière à refléter les performances natives.
2. Éviter les anciens dispositifs
De nombreux utilisateurs accèdent encore à leurs applications sur d’anciennes versions de Windows ou d’iOS ; se concentrer uniquement sur les nouvelles éditions des appareils et systèmes d’exploitation les plus populaires pourrait limiter la portée d’un produit. Si l’équipe n’élargit pas ses tests aux appareils « dépassés », une grande partie de son public pourrait avoir du mal à utiliser le programme.
3. Mauvaise gestion du temps
Il y a souvent un grand nombre d’appareils et de configurations qui nécessitent un test de compatibilité, ce qui signifie que l’équipe doit gérer son temps pour en vérifier le plus grand nombre possible. Ceci est important car les tests sont généralement encore en cours vers la fin du développement ; une mauvaise gestion pourrait limiter considérablement le nombre de vérifications.
4. Programmation inadéquate
De même, il est primordial que les équipes veillent à effectuer ces tests à un stade raisonnable du développement du programme, de préférence après les tests alpha et la plupart des formes de tests fonctionnels. Il est ainsi plus facile de déterminer si un problème est d’ordre général ou s’il est spécifique aux appareils examinés par l’équipe.
5. Ne pas tenir compte de la résolution de l’écran
La résolution de l’écran peut être un facteur de compatibilité bien plus important que ne le reconnaissent de nombreuses équipes de test, d’autant plus qu’elle est personnalisable et qu’elle a un impact sur la manière dont un appareil affiche les éléments graphiques. Même si l’échéance des tests de compatibilité se rapproche, il est essentiel que les équipes de test s’efforcent de tenir compte de cet aspect dans leur stratégie.
Manque d’expertise
Les testeurs doivent être hautement qualifiés pour vérifier la compatibilité des sites web, des navigateurs et des logiciels, parmi les nombreuses autres formes que peuvent prendre ces tests. Si un responsable des tests charge l’un des membres de son équipe d’effectuer les contrôles de compatibilité et que celui-ci n’a pas suffisamment d’expérience, cela pourrait ralentir les tests et en limiter la précision.
6. Pas de discussion préalable
Les tests de compatibilité prenant souvent beaucoup de temps (et pouvant nécessiter un large éventail d’appareils), les équipes doivent définir l’étendue de leurs vérifications dès le début de la phase d’assurance qualité. Par exemple, ils doivent avoir une idée claire des dispositifs ou des configurations spécifiques qu’ils ont l’intention de tester avant même que les contrôles ne commencent.
Bonnes pratiques pour les tests de compatibilité
Les meilleurs moyens de garantir des tests de compatibilité de haute qualité sont les suivants :
1. Tester tout au long du développement
Les logiciels évoluant considérablement d’une semaine à l’autre, cela peut avoir une incidence sur la compatibilité du programme avec les appareils auxquels il est destiné. Les équipes doivent effectuer des tests de compatibilité logicielle et entre navigateurs à plusieurs reprises pour s’assurer que l’application fonctionne toujours correctement sur ces plates-formes après les changements de développement.
2. Utiliser des appareils réels
Certains outils de test de compatibilité permettent d’accéder à de « vrais » appareils simulés, capables de ressembler étroitement à l’expérience de l’utilisateur pour la plateforme en question. Cela vous permet d’assurer la compatibilité avec un plus grand nombre d’appareils tout en maintenant un niveau élevé de précision que n’offrent pas certaines solutions automatisées.
3. Classer les tests par ordre de priorité
Disposant d’un temps limité pour effectuer ces vérifications, les testeurs de compatibilité peuvent être amenés à donner la priorité aux appareils, navigateurs et systèmes d’exploitation les plus courants. De même, l’équipe chargée des tests devrait inspecter en premier lieu les fonctions les plus critiques du logiciel afin de garantir un fonctionnement de base sur ces appareils.
4. Intégrer les techniques agiles
Certaines entreprises choisissent d’adopter une approche basée sur le sprint pour leurs tests de compatibilité, ce qui leur permet d’atteindre facilement les étapes de test, comme la vérification d’un nombre spécifique d’appareils. L’approche agile encourage la communication entre les départements tout en fournissant une structure de test définie qui peut garantir une amélioration constante et rapide.
5. Limiter la portée des tests
Les équipes d’assurance qualité doivent savoir quand mettre fin à leurs tests et même accepter un cas d’incompatibilité. Dans ce cas, le développeur pourrait ne pas modifier le logiciel et pourrait à la place modifier les exigences minimales s’il est trop difficile de les contourner en corrigeant les bogues.
Exemples de cas et de scénarios de test de compatibilité
Les cas de test de compatibilité établissent les données d’entrée de l’équipe de test, la stratégie de test et les résultats escomptés ; ces derniers sont comparés aux résultats réels. Comme les contrôles portent sur de nombreux appareils et configurations, il s’agit souvent d’un processus de longue haleine.
Ces cas sont généralement les suivants
– Testez l’affichage correct du code HTML de l’application web.
– Vérifiez que le code JavaScript du logiciel est utilisable.
– Vérifiez si l’application fonctionne dans différentes résolutions.
– Vérifiez que le programme peut accéder au répertoire de fichiers.
– Assurez-vous que l’application se connecte à tous les réseaux viables.
Voici des exemples spécifiques de tests de compatibilité dans les tests de logiciels pour différents programmes :
1. Application de réseau social
Les réseaux sociaux prennent généralement la forme d’applications web sur les navigateurs et d’applications mobiles pour les appareils correspondants ; ces deux types d’applications nécessitent des tests tout aussi approfondis. Par exemple, cette application mobile doit être pleinement opérationnelle sur les appareils iOS et Android au minimum – l’équipe vérifiant les anciens et les nouveaux appareils sous chaque système d’exploitation. Si un modèle spécifique d’iPhone ne peut pas rendre les fichiers GIF animés, par exemple, l’équipe doit en identifier la cause pour garantir une expérience utilisateur cohérente.
2. Jeu vidéo
Les jeux vidéo offrent généralement des options graphiques personnalisables que les utilisateurs peuvent adapter à leur machine. Il s’agit notamment de contrôler la résolution de l’écran et de veiller à ce que l’interface utilisateur soit adaptée à la taille de l’écran. Certains problèmes peuvent apparaître en fonction du matériel spécifique du joueur – les erreurs d’anticrénelage entraînant des graphismes granuleux. Cela peut être dû à une carte graphique commune incompatible avec le rendu des textures de l’entreprise. En fonction du problème exact, cela peut même se manifester par un plantage du système lorsque certains appareils lancent le jeu.
3. Système CRM en nuage
Les solutions de gestion de la relation client font un usage intensif des bases de données pour récupérer des informations sur les transactions, les fournisseurs et d’autres aspects importants de l’activité, principalement à l’aide d’un système de stockage en nuage. Les testeurs doivent s’assurer que cette base de données et ses services en nuage fonctionnent sur différents réseaux, y compris 3G et 4G si un utilisateur doit y accéder sans connectivité internet. L’équipe doit également inspecter un large éventail de systèmes d’exploitation, car certains problèmes peuvent n’apparaître que sur des appareils Linux, par exemple.
Tests de compatibilité manuels ou automatisés ?
L’automatisation pourrait s’avérer très utile pour les tests de compatibilité, en permettant aux équipes de vérifier un grand nombre d’appareils beaucoup plus rapidement qu’avec une approche manuelle. Toutefois, les tests manuels peuvent s’avérer plus appropriés pour effectuer des contrôles sur un nombre limité de navigateurs et d’appareils – par exemple, un jeu vidéo disponible sur deux plates-formes seulement. La facilité d’utilisation du logiciel est souvent un facteur essentiel dans les tests de compatibilité et nécessite généralement une perspective humaine qui permet de mieux identifier les problèmes de rendu graphique. L’automatisation des processus robotiques peut y contribuer en mettant en œuvre des robots logiciels qui peuvent plus facilement imiter l’approche d’un utilisateur humain lors des tests de compatibilité.
Pour les programmes conçus pour un large éventail d’appareils, tels que les applications mobiles et web, l’automatisation permet à l’équipe d’assurer une couverture de test plus large. Ils pourraient même utiliser l’hyperautomatisation pour externaliser intelligemment ces vérifications, tout en veillant à ce que des testeurs humains inspectent ces plates-formes pour y trouver des fonctionnalités spécifiques à l’utilisateur. Les tests de compatibilité dans le cadre des tests manuels restent obligatoires pour certaines tâches, comme la vérification de l’affichage correct de l’interface utilisateur sur tous les appareils. Cela signifie que la meilleure approche pourrait être une stratégie mixte permettant de tester un plus grand nombre d’appareils grâce à l’automatisation, en accélérant le rythme tout en tenant compte de l’importance de la facilité d’utilisation.
De quoi avez-vous besoin pour commencer les tests de compatibilité ?
Les principales conditions préalables aux tests de compatibilité sont généralement les suivantes :
1. Personnel d’essai qualifié
Les testeurs de compatibilité ont généralement des exigences de compétences plus élevées que les autres formes d’assurance qualité, car ils vérifient une gamme plus large d’appareils et rencontrent souvent plus d’erreurs. Il peut s’agir de la résolution de problèmes, de la communication et de l’attention portée aux détails. Les chefs d’équipe doivent désigner des testeurs qui ont l’expérience de l’examen de la même application sur de nombreuses plateformes.
2. Forte émulation des dispositifs
Il peut s’avérer difficile de trouver et de tester chaque appareil physique dans le champ d’action de l’équipe, ce qui rend l’émulation essentielle pour voir comment les différentes plates-formes réagissent au même programme. Ce processus est rarement parfait et les testeurs doivent examiner les nombreux émulateurs et outils de test automatisés disponibles pour voir lequel offre le plus de précision.
3. Un champ d’application des tests clair
L’équipe doit avoir une bonne compréhension de son champ d’action avant le début des vérifications, d’autant plus que cela peut déterminer le rythme de travail. Bien que le programme puisse viser à couvrir de nombreuses plates-formes, les testeurs doivent identifier un seuil approprié. Par exemple, tester des systèmes d’exploitation antérieurs à Windows 7 peut conduire à des rendements décroissants.
4. Gestion du temps
Les tests de compatibilité peuvent intervenir à n’importe quel moment de la phase d’assurance qualité, mais ils sont généralement réservés à la fin du développement, lorsque le programme est stable et que ses fonctionnalités sont complètes. Cependant, les testeurs devraient envisager la compatibilité bien avant cela, car cela prend souvent beaucoup de temps. Une planification rigoureuse à l’avance permet à l’équipe de s’assurer qu’elle dispose de suffisamment de temps pour chaque contrôle.
Test de compatibilité
liste de contrôle, conseils et astuces
Voici d’autres conseils que les équipes d’assurance qualité doivent garder à l’esprit lorsqu’elles effectuent des tests de compatibilité :
1. Ne pas viser une couverture absolue
Bien que toutes les stratégies de test visent à maximiser la couverture des tests, elles s’arrêtent généralement avant d’atteindre 100 % en raison des rendements décroissants qui n’apportent que des améliorations mineures pour un très petit nombre d’utilisateurs. Dans le contexte de la compatibilité, les équipes doivent comprendre quand trop peu de leurs clients utiliseront un appareil pour que ces vérifications en valent la peine.
2. Donner la priorité aux combinaisons inter-navigateurs
Les tests de compatibilité entre navigateurs consistent à vérifier chaque navigateur sur différents systèmes d’exploitation. Les testeurs doivent utiliser des données analytiques complètes sur leur public pour déterminer ce qui est le plus populaire dans les deux cas et s’en servir pour orienter leur approche. Ils peuvent même élaborer une matrice de compatibilité des navigateurs, qui définit la portée de ces contrôles et leurs diverses configurations.
3. Vérifier la mise en page
Garantir une expérience cohérente est au cœur des tests de compatibilité et ces vérifications doivent aller plus loin que de déterminer si les fonctionnalités du programme fonctionnent sur différents appareils. Les équipes doivent également vérifier la présentation générale du logiciel, y compris l’alignement des formulaires ou des tableaux, ainsi que l’intégrité des feuilles de style CSS et HTML du programme.
4. Vérifier les API
Les interfaces de programmation d’applications sont un élément essentiel de la lecture des applications par les navigateurs, ce qui les rend vitales pour les tests de compatibilité entre navigateurs d’une équipe. Les différents navigateurs web ont leurs propres appels d’API, et leurs mises à jour au fil du temps peuvent affecter la compatibilité. Les testeurs doivent les vérifier régulièrement, même si l’entreprise utilise une API similaire pour chaque programme.
5. Examiner le certificat SSL
Les certificats SSL renforcent la sécurité d’un navigateur en cryptant le trafic web et en permettant aux utilisateurs de bénéficier des protocoles HTTPS. Un site web ou une application web peut avoir un certificat incompatible avec certains navigateurs. Cela signifie que les testeurs doivent valider le certificat sur toutes les principales plateformes afin de s’assurer que les utilisateurs se sentent en sécurité sur leur site web.
6. Valider les lecteurs vidéo
Les programmes qui affichent des vidéos, tels que les services de streaming ou les jeux mobiles freemium soutenus par des publicités, doivent être soumis à des tests pour s’assurer que ces vidéos s’affichent sur tous les appareils prévus. Pour de nombreuses applications, ces contrôles porteront à la fois sur les ordinateurs de bureau et les appareils mobiles et pourront porter sur la qualité, la vitesse et le taux de rafraîchissement de la vidéo.
5 meilleurs outils et logiciels de test de compatibilité
Les outils gratuits et payants les plus efficaces pour tester la compatibilité sont les suivants :
1. ZAPTEST Free & Enterprise Edition
ZAPTEST offre d’excellentes fonctionnalités à la fois dans sa version gratuite et dans sa version Entreprise (payante), aidant les entreprises de toute taille (ou de tout budget) à effectuer leurs contrôles de compatibilité. Les entreprises qui choisissent la version Entreprise de ZAPTEST peuvent même bénéficier d’un retour sur investissement allant jusqu’à 10 fois leur investissement initial. La fonction 1SCRIPT de la solution est spécifiquement adaptée aux besoins des testeurs de compatibilité, leur permettant d’exécuter exactement les mêmes tests sur plusieurs plates-formes sans modifier le code en conséquence. Ajoutez-y une fonctionnalité RPA de pointe sans frais supplémentaires et vous disposez d’une solution d’automatisation de toutes les tâches.
2. Test Lambda
LambdaTest utilise une approche basée sur le cloud pour fournir 3 000 dispositifs automatisés – bien que l’accent soit mis sur les navigateurs web, ce qui pourrait limiter l’efficacité de cette solution pour certains programmes. La plateforme se spécialise dans les tests continus, intégrant plus étroitement le processus d’assurance qualité au développement. Les contrôles de cette application permettent également aux utilisateurs de définir leur résolution, ce qui facilite grandement les tests de compatibilité entre les navigateurs. Cette solution propose un modèle freemium, bien qu’il s’agisse de tests limités sans mise à niveau et sans appareils réels.
3. BrowserStack
Comme LambdaTest, BrowserStack donne accès à 3 000 appareils réels ; son catalogue comprend également des options héritées et bêta pour les navigateurs. Bien que les gens soient plus enclins à mettre à jour leur navigateur que leur système d’exploitation, il se peut que de nombreuses personnes utilisent encore des versions plus anciennes – BrowserStack en tient compte. Les utilisateurs peuvent également effectuer des tests de géolocalisation pour voir comment les sites web et les applications web se présentent dans différents pays. Cependant, il n’y a pas d’options gratuites ou freemium, et les tests d’appareils réels peuvent être lents.
4. Grille de test
TestGrid permet de réaliser des tests en parallèle, ce qui permet aux équipes de vérifier plusieurs combinaisons en même temps afin d’accélérer le processus. Cette solution s’intègre également bien dans le flux de travail des tests et du développement, ce qui peut faciliter une approche agile en constituant un élément clé des sprints du département. Cependant, TestGrid éprouve parfois des difficultés à se connecter aux appareils et aux navigateurs du cloud. En outre, le programme est assez limité en termes de tests de charge, de documentation et d’ajout de nouveaux appareils à la configuration de l’entreprise.
5. Navigateurs
Browsera se concentre principalement sur le test des sites web afin de s’assurer qu’ils s’affichent correctement sur différents appareils, navigateurs et systèmes d’exploitation. En tant qu’approche basée sur le cloud, les équipes d’assurance qualité n’ont pas besoin d’installer ce laboratoire de test virtuel sur leurs appareils. Browsera peut également comparer les résultats afin de repérer intelligemment les problèmes de mise en page et les erreurs JavaScript qui pourraient échapper à un testeur humain. Cependant, Browsera ne prend pas en charge plusieurs navigateurs courants, dont Opera, et n’offre gratuitement qu’une fonctionnalité de test de base.
Conclusion
Les tests de compatibilité sont essentiels pour une stratégie d’assurance qualité réussie, car ils permettent aux équipes de valider leurs applications sur un large éventail d’appareils. Si elles n’adoptent pas cette technique, les entreprises risquent de ne pas savoir que leur logiciel ne fonctionnera pas pour une grande partie de leur public cible jusqu’à ce qu’il soit lancé. Cela coûte beaucoup de temps et d’argent par rapport aux tests de préversion et des applications telles que ZAPTEST peuvent rationaliser encore davantage ce processus. Avec 1SCRIPT et de nombreuses autres fonctionnalités disponibles gratuitement telles que les tests parallèles, choisir ZAPTEST comme outil de test peut transformer n’importe quel projet en donnant aux équipes une confiance totale dans leur application.