Tendances clés des tests de logiciels de SmartBear: types et tendances des tests

En 2019, SmartBear a tenu son enquête annuelle auprès de la communauté des testeurs de logiciels pour la troisième fois . Alyona Batitskaya, développeur front-end, professeur et responsable de cours à la faculté de programmation en netologie, a traduit la recherche et recueilli les principaux résultats sur les méthodologies de développement, les outils et technologies de test, l'automatisation et les tendances de développement de l'industrie au cours des deux prochaines années.  

Qui a été interviewé


La société a interrogé 2 526 personnes de différents pays et industries, parmi lesquelles les ingénieurs QA et les ingénieurs d'automatisation prévalent - 37%. Parmi les répondants figuraient également des développeurs (15%), des responsables de l'assurance qualité (14%), des architectes (8%), des testeurs manuels (7%), des directeurs d'analyse produit / entreprise (5%), des consultants (4%), des DevOps ingénieurs (4%).


Les professions des répondants sont toujours différentes,

il existe de nombreux types de tests de logiciels et le plus souvent plusieurs approches sont appliquées. Le nombre moyen de types de tests dans les équipes interrogées est de 2,2. Cela montre que les services de test ne sont pas hyperspécialisés, c'est-à-dire qu'ils n'utilisent pas beaucoup d'approches de test, mais ils ne s'arrêtent pas à la même forme.  


La plupart des répondants testent des logiciels ou entrent dans les équipes appropriées
 
En ce qui concerne les testeurs qui travaillent de manière indépendante, il y a plus de responsables QA qui définissent et contrôlent les tâches. Les chercheurs expliquent cela par l'amélioration continue des qualifications des répondants et la transition vers les prochaines étapes de l'échelle de carrière.  
  
Depuis 2017, la taille des entreprises dans lesquelles les répondants travaillent a changé. Auparavant, tout le monde voulait entrer dans une grande entreprise (10 000 employés et plus), mais maintenant ils préfèrent les petites entreprises (moins de 500 employés).  

Ce qui a été testé




Applications Web (79%) et API / services Web les plus testés (77%). 

Depuis 2017, le nombre de tests d'API / services Web et d'applications Web mobiles a augmenté d'environ 10%. Dans le même temps, il existe une tendance à la baisse dans les tests d'applications de bureau, d'applications Web hybrides et progressives et de solutions en boîte. 

Temps de test


Le temps consacré aux tests n'a pas beaucoup changé depuis 2018 - en moyenne, cela représente 61% du temps de travail.

La tâche la plus longue 23% des répondants envisagent d'effectuer des tests. Création de tests automatisés en deuxième position (18%), puis rédaction de scripts pour tests manuels (17%). Le rapport / l'analyse des résultats du test est resté au même niveau - quatrième place avec 12% des répondants, mais ce chiffre est nettement supérieur à 3% qui ont déclaré que c'était la tâche la plus longue en 2017. 
 
Les employés des grandes entreprises sont plus satisfaits du processus de test logiciel intégré. La raison peut être que les grandes organisations, contrairement aux petites, ont les ressources, l'historique et les connaissances nécessaires pour de meilleurs tests. 
 
La corrélation suivante a été révélée: les répondants qui ont passé moins de 20% de leur temps à tester étaient moins satisfaits du processus de test, contrairement à ceux qui ont testé de 20 à 80%. Cela peut refléter soit une plus grande prise de conscience des processus et de leur commodité, soit un niveau moindre d'intérêt et de satisfaction chez ceux qui testent moins souvent. 
 

Cycles de test


Les entreprises continuent de passer à des cycles de test de logiciels plus rapides.

La combinaison la plus populaire de méthodologies de développement est Agile et DevOps. Cela suggère que les entreprises qui utilisent déjà Agile continuent d'améliorer ces processus et commencent à mettre en œuvre des processus DevOps. 

Une seule approche DevOps utilise à la fois les petites et les grandes entreprises. Et l'utilisation des deux approches - Agile et DevOps - est davantage observée dans les grandes entreprises. 
 

Les méthodologies Agile et DevOps ne se développent pas rapidement, prenant lentement des parts de marché à Waterfall. La plupart des répondants ont indiqué qu'ils utilisent une combinaison d'approches dans le processus de transition vers DevOps.
 

Outils et technologies de test


Parmi les outils, Jenkins mène la troisième année consécutive (52%). Dans le même temps, le nombre de ceux qui n'utilisent pas d'outils CI / CD dans leur travail diminue d'année en année - en 2019, il n'y avait que 14% du total. 


Malgré le fort leadership de Jenkins, le marché des outils de test semble fragmenté.
 
Les langages les plus courants pour écrire des applications sont Java (49%) et JavaScript (44%). La fréquence d'utilisation de C # (24%) et de VB.net (11%) diminue, mais la fréquence d'utilisation de Python augmente (18%). La popularité de Swift, R et Go continue de croître, mais ils conservent tous à peu près le même niveau de réponse. 

Le nombre moyen de langages de programmation pour l'écriture d'applications a augmenté: de 2,36 à 2,54. 

Une répartition similaire entre les langues a été préservée lors de la rédaction des tests automatiques. À moins que Python n'échange de place avec C #. 
 

Gestion des tests 


Un schéma clair s'est dégagé: plus l'entreprise est petite, plus elle n'aime pas utiliser de programmes pour gérer le processus de test.  


Les petites entreprises sont moins susceptibles d'utiliser des outils de gestion des tests. 

Parmi celles qui utilisent encore de tels logiciels, il n'y a pas un seul programme leader:  



Test de résistance 


De 30% à 35%, le nombre de répondants a augmenté que les tests de charge sont effectués avant chaque publication du projet.  


La popularité des tests de charge pour différents types de logiciels
 
Parmi les outils de test de charge, l'Apache JMeter open-source éclate avec une marge de confiance - 37% des testeurs le choisissent. La tendance open source se développe dans la communauté informatique, donc un tel leader n'est pas surprenant. 

Deuxième place - chez LoadRunner (18%). Les «autres» outils non désignés sont utilisés par 17%. 
 

 

Automatisation des tests 


Le degré de couverture des logiciels par les tests automatiques n'a pratiquement pas changé depuis 2017:
 

seulement 18% des applications sont couvertes par des autotests de plus de 75%
 

Plus l'entreprise est grande, plus le degré de couverture des applications avec les autotests est important. 
 Le maintien de la pertinence des tests au fur et à mesure que l'application change et grandit reste le plus gros problème ⟶ 21% des réponses. Le manque de temps pour les tests est enregistré de 15%. Des qualifications insuffisantes des salariés sont constatées de 12%.

Test de l'interface utilisateur 


Difficultés et principaux défis




Dans la liste des principales difficultés de test, l'interface utilisateur est en tête des tests de stabilité (18%).

Une nouvelle réponse «Commencez à faire cela» [ils n'ont pas testé l'interface utilisateur auparavant, sont maintenant prêts à continuer. - environ. Ed.] A immédiatement pris la deuxième place avec 17%.  
 
Distribution des autres réponses:
 
  • Détermination de l'objet à tester et contrôle du processus (15%).
  • Tests dans différents environnements (appareils, systèmes d'exploitation) (13%).
  • Test de couverture de test (11%).
  • Service de test (11%).
  • Création de données synthétiques (9%).

 

Outils


Parmi les outils de test automatisé de l'interface utilisateur, il existe de nombreuses applications à faible popularité. 

Pour la deuxième année consécutive, Selenium Webdriver reste le leader (27%). En deuxième place, TestNG (10%). TestComplete ferme les trois premiers (8%).



 

Exécuter des tests en même temps


L'exécution de plusieurs types de tests en même temps permet de gagner du temps sur les tests, ce qui est crucial dans les conditions d'un cycle de développement court.  
Cependant, quelques testeurs utilisent cette puce: seulement 30% des répondants effectuent plus de 10 tests à la fois.



Le nombre de tests lancés simultanément

Une autre régularité: presque tous ceux qui ne font pas de tests en parallèle n'automatisent pas les tests. 

Presque tous ceux qui utilisent des scripts ou d'autres méthodes de test des interfaces utilisateur utilisent des tests parallèles, contrairement à ceux qui ont choisi Enregistrer et répéter comme moyen principal de tester les interfaces utilisateur. 

Choix d'une approche d'automatisation par rapport aux tests parallèles
 

Exécution de tests dans le cloud 


Le nombre de ceux qui effectuent des tests dans le cloud augmente lentement mais régulièrement. En 2017, il y avait 45% de ces réponses, et en 2019 déjà 50%.  

Navigateurs populaires


Les trois dirigeants n'ont pas changé depuis 2017. Le navigateur le plus populaire pour tester les applications Web est Chrome (53%). Viennent ensuite Firefox (41%) et Internet Explorer (35%). 

Chrome, FireFox et Internet Explorer ont fortement chuté en 2018, mais les deux premiers ont augmenté d'environ 5% en 2019, mais Internet Explorer continue de baisser.  

38% des répondants testent dans trois navigateurs ou plus. La grande majorité (51%) n'est testée que dans la dernière version des navigateurs, 20% - dans les deux derniers, 11% - dans les trois derniers.  

Navigateurs sans tête 


La technologie des navigateurs sans tête augmente considérablement le nombre de tests exécutés en parallèle, accélérant ainsi presque trois fois l'ensemble du processus de test. Jusqu'à présent, seuls Chrome et FireFox ont des versions sans tête. 
 
Selon l'enquête, 25% des répondants utilisent cette technologie. Les 75% restants ne connaissent pas l'utilisation de navigateurs sans tête dans l'entreprise ou sont sûrs que cette technologie n'est pas mise en œuvre.  

Test mobile


Chaque année, le besoin pour les entreprises de tester le produit sur des appareils mobiles augmente: seulement 15% des personnes interrogées ont déclaré ne pas avoir testé les appareils mobiles du tout. 
 
Le leader, comme l'année dernière, est les appareils iOS. Android est sur les talons. 
 


— , , . 

 



En 2018, 45% des tests étaient automatisés, en 2019 - 46%. Croissance certes non substantielle, mais stable. 

Selon les plans des répondants, d'ici 2021, ils souhaitent automatiser 69% des tests. Les ingénieurs QA ont les attentes les plus élevées.  

Selon l'enquête, ceux qui ont un taux d'automatisation actuel de 1 à 25% prévoient de l'augmenter à 26 à 50%. Et ceux avec 26–50% veulent obtenir 51–75%. Autrement dit, personne ne revendique une automatisation absolue, évaluant vraiment leurs capacités.  

L'option la plus efficace est une sortie hebdomadaire du produit, environ 37% des répondants l'ont choisi. En deuxième position, le cycle de développement mensuel (28%). La troisième place est occupée par la sortie trimestrielle du produit (12%). 


Les répondants ont atteint la plupart des objectifs qu'ils s'étaient fixés en 2017

Le graphique ci-dessus vous permet de comparer les attentes des répondants de l'enquête de l'an dernier concernant la fréquence des publications et la réalité. Les objectifs de publication hebdomadaire et mensuelle ont non seulement été atteints, mais ont même dépassé les attentes. Mais chaque jour, ou publier plusieurs fois par jour ne fonctionnait pas pour beaucoup - les attentes étaient surestimées. 

Tendances à l'horizon sur deux ans


Les répondants ont tenté de prédire les directions qui gagneront en popularité dans le domaine des tests au cours des deux prochaines années. À partir des réponses qui ont été mentionnées plus de 10 fois, nous avons collecté un nuage de balises simplifiées.  


Selon les prévisions, les domaines les plus populaires seront l'automatisation, l'intelligence artificielle et l'apprentissage automatique. 

la chose principale 


La fréquence des versions continue de croître alors que de plus en plus d'entreprises passent de la méthodologie Waterfall à une combinaison de méthodologies Agile et DevOps.

Les tests sont dominés par les applications Web et les API.  

Il existe de nombreux outils de test différents, parmi lesquels figurent les tests manuels. 

La tâche la plus difficile pour les tests automatisés consiste à synchroniser les scripts de test avec la version actuelle de l'application. 

Les scripts sont l'approche la plus courante pour l'automatisation des tests, et Selenium est l'outil de script le plus populaire. 

Selon les plans des répondants, d'ici 2021, ils souhaitent automatiser 69% des tests. 

Les répondants voient toujours la nécessité de tester dans différents navigateurs et versions de navigateur, mais le nombre de versions de navigateur est insignifiant, mais a diminué. 

Un quart des testeurs utilisent des navigateurs sans tête, tandis qu'un peu plus du quart ne savent pas si leurs organisations utilisent cette technologie. 

Au cours des deux prochaines années, les domaines les plus populaires de l'industrie des tests seront l'automatisation, l'intelligence artificielle et l'apprentissage automatique.

Des éditeurs de Netology


Nous vous invitons à vous familiariser avec le métier de testeur dans la leçon ouverte " Testeur: qui est-ce et comment devenir le principal en termes de qualité en informatique " - la prochaine aura lieu le 23 avril à 19h00.

Et pour ceux qui veulent déjà obtenir ce métier informatique, nous vous suggérons d'étudier le programme " Software Tester ". 

All Articles