L’industrie du logiciel a tellement changé au cours des dix dernières années. Et bien qu’il soit difficile de prédire exactement ce que la prochaine décennie apportera, elle introduira certainement un tout nouvel ensemble de défis pour les spécialistes des tests et de l’assurance qualité.
Alors qu’ils sont souvent encore les héros méconnus, le travail des spécialistes de l’assurance qualité est de plus en plus reconnu pour ses contributions au DevOps. Dans le même temps, les tests continueront de devenir endémiques dans d’autres parties du processus du cycle de vie des logiciels, avec des outils en évolution rapide qui mettront les tests à la portée de beaucoup plus de membres de l’équipe.
Alors qu’est-ce que nous savons, ou du moins soupçonnons, qui aura un impact sur l’avenir des tests de logiciels?
AI et ML
Tout d’abord, l’intelligence artificielle et l’apprentissage automatique, qui ont longtemps été prédits comme un moyen de rendre les tests de logiciels meilleurs, plus rapides et moins chers.
Cependant, il faudra du temps pour mûrir. Simultanément, le type de compétences requises changera. Les emplois impliquant des tests de logiciels nécessiteront plus d’expérience en données et en analyse, de sorte que l’éducation en science des données et en apprentissage profond devra faire partie du rôle du testeur de logiciels. De plus, avec plus de tests automatisés, l’interaction humaine aura une réelle valeur pour approuver et agir sur les résultats des tests.
Les applications web progressives (PWA) ont été l’une des plus grandes avancées de la technologie Web ces dernières années, offrant la commodité d’une application mobile et d’un site Web de bureau en un, offrant aux utilisateurs une expérience transparente.
Alors que les PWA sont appelées à défier les applications natives mobiles, elles devront toutes deux coexister dans l’espace numérique. Les équipes doivent préparer des stratégies de développement et de test solides pour couvrir les deux types d’applications.
Il existe encore des lacunes techniques et des avantages des systèmes d’exploitation mobiles par rapport aux PWA. Les PWA doivent rattraper leur retard sur des fonctionnalités telles que la prise en charge des capteurs, la sécurité, l’interface utilisateur et d’autres considérations pour que les applications mobiles restent pertinentes et prioritaires.
Mobile obtient une mise à niveau
Téléphones à rabat (qui étaient si populaires dans les années 1990!) font un grand retour, plusieurs fournisseurs ayant lancé des téléphones flip-style, y compris une refonte de l’emblématique RAZR de Motorola. Bien que ce soit une excellente nouvelle pour les consommateurs et une opportunité de marché pour les fournisseurs de téléphones, le test de logiciels et d’applications pour téléphones pliables va exercer une pression supplémentaire énorme sur les tests de logiciels.
Le volume de cas de test augmentera de façon exponentielle, ce qui entraînera le risque de cycles de rétroaction plus longs et de rejets plus lents. Il n’y a pas de temps à perdre pour s’assurer que les laboratoires de test de logiciels sont prêts pour ce qui devrait être l’une des plus grandes tendances de 2020 et au-delà.
En restant sur le thème mobile, les réseaux cellulaires 5G seront bientôt standard, offrant une vitesse, une couverture et une connectivité plus intelligentes. Encore une fois, les développeurs d’applications seront confrontés à encore plus de défis de test. Les équipes devront se concentrer sur la façon dont les applications se connectent et fonctionnent avec d’autres appareils et systèmes d’exploitation. La compatibilité sera importante, non seulement d’un appareil à l’autre, mais également compte tenu de l’interopérabilité de l’IoT. En plus d’assurer un environnement de laboratoire de test plus robuste, une aide supplémentaire pour couvrir les scénarios de test 5G est fournie par les solutions de virtualisation réseau, les journaux, les fichiers HAR et des approches similaires.
Une autre tendance apparemment imparable est la reconnaissance vocale, avec une technologie pilotée par la voix intégrée à de nombreux téléphones et autres appareils grand public. Lors du test de logiciels et d’applications mobiles, la reconnaissance vocale pose quelques difficultés.
Tester les commandes vocales nécessite des systèmes et des approches très sophistiqués, et ceux-ci augmenteront à mesure que l’adoption des fonctionnalités de commande vocale augmentera. C’est pourquoi les frameworks open source pour l’automatisation des tests mûriront pour prendre en charge le test des commandes vocales.
L’IoT est une mégatendence encore plus importante, qui devrait atteindre un nouveau niveau, en particulier avec la « connectivité intelligente » que la 5G apportera. Lorsque l’IoT deviendra vraiment courant dans la plupart des parties de notre vie quotidienne, un laboratoire infonuagique hautement sophistiqué sera essentiel pour tester les applications IoT. Même maintenant, il est déjà complexe de tester la variété des systèmes d’exploitation et des appareils disponibles aujourd’hui, et cela ne fera qu’augmenter avec de plus grands volumes et types d’appareils intelligents.
Méthodologies nouvelles ou améliorées
Les DSI explorent déjà l’utilisation d’outils de développement à faible et sans code pour accélérer le développement de logiciels. À son tour, le mouvement low-code / no-code introduit des nuances supplémentaires lors des tests de logiciels, avec plus de cas de test et une couverture plus large pour correspondre à ce paysage plus vaste. Plus de logiciels sont créés, avec une barrière à l’entrée plus faible et un délai de mise sur le marché plus rapide. Ainsi, une rétroaction rapide, soutenue par des plates-formes intelligentes d’automatisation des tests, va être vitale.
DevOps n’a pas besoin d’être présenté. Mais ce qu’il est important de garder à l’esprit, c’est qu’il en est encore à ses débuts, et cela aura des implications bien au-delà des tests de « décalage à gauche ». DevOps deviendra davantage une machine de déploiement continu prise en charge par des services cloud, une automatisation des tests et des outils qui fournissent des données en temps opportun et continues qui évaluent les performances.
Le succès du déploiement continu au sein de DevOps n’est cependant pas dû à la technologie. Les gens vont être le facteur le plus important ici. Les équipes devront travailler ensemble pour mélanger les compétences entre les départements. Encore une fois, une utilisation accrue de l’automatisation des tests et des outils de test à faible code aidera à faire en sorte que davantage de personnes au sein d’une organisation puissent contribuer.
Il sera intéressant de revoir ces prédictions dans un an, encore moins dix. La seule certitude dans l’industrie des tests de logiciels — et au sein de celle—ci, les tests – est le changement. De plus, bien qu’il soit impossible de prédire exactement ce que l’avenir réserve aux tests, certaines exigences se démarquent, avec l’évolutivité, l’automatisation, l’analyse et des techniques plus intelligentes en tête de liste. Le début de 2020 est le moment idéal pour commencer à planifier des stratégies de test non seulement pour les 12 prochains mois, mais pour les années à venir.
Par Eran Kinsbruner, évangéliste en chef chez Perfecto (une entreprise Perforce)