Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>

BLOG

Pourquoi (et comment) passer des tests automatisés aux tests continus

Pourquoi (et comment) passer des tests automatisés aux tests continus Temps de lecture : 4 minutes

Les initiatives DevOps et «Continuous Everything» d'aujourd'hui nécessitent la capacité d'évaluer les risques associés à une release candidate, instantanément et en continu. Les tests continus offrent un moyen automatisé et discret d'obtenir un retour d'information immédiat sur les risques commerciaux associés à une version logicielle candidate. Il guide les équipes de développement pour répondre aux attentes de l'entreprise et aide les responsables à prendre des décisions éclairées afin d'optimiser la valeur commerciale d'une version candidate.

Les tests continus ne sont PAS simplement plus d'automatisation des tests. Compte tenu des attentes de l'entreprise à chaque étape du SDLC, les tests continus fournissent une évaluation quantitative des risques ainsi que des tâches réalisables qui aident à atténuer les risques avant qu'ils ne passent à l'étape suivante du SDLC. L'objectif est d'éliminer les activités inutiles et de produire des tâches à valeur ajoutée qui conduisent l'organisation de développement vers une version réussie - en préservant l'intégrité de l'expérience utilisateur tout en protégeant l'entreprise contre les impacts potentiels des lacunes des applications.

DevOps.com a récemment publié un nouvel article sur les tests continus par Wayne Ariola de Parasoft. Voici un extrait de cet article…

Évolution des tests automatisés aux tests continus

Alors que les pratiques de développement agile mûrissent et que les principes DevOps infiltrent nos cultures d'entreprise, les organisations réalisent l'opportunité distincte d'accélérer la livraison de logiciels. Cependant, lorsque vous accélérez un processus, les domaines de pratique immatures tels que les tests et les barrages routiers deviennent beaucoup plus prononcés. C'est la différence entre conduire sur un dos d'âne à 5 mi / h contre 50 mi / h… à 50 mi / h, ce dos d'âne va être assez discordant.

L'accélération de tout processus métier exposera les contraintes systémiques qui entravent l'ensemble de l'organisation à son composant le plus lent. Dans le cas du cycle de vie accéléré du développement logiciel (SDLC), les tests sont devenus l’obstacle le plus important pour tirer pleinement parti d’approches plus itératives du développement logiciel. Pour que les organisations puissent tirer parti de ces stratégies de développement transformatrices, elles doivent passer de l'automatisation des tests aux tests continus.

Faire une distinction entre l'automatisation des tests et les tests continus peut sembler un exercice de sémantique, mais l'écart entre l'automatisation des tests fonctionnels et l'exécution d'un processus de test continu est considérable. Cet écart sera comblé au fil du temps au fur et à mesure que le processus de fourniture de logiciels évoluera. Les influences tant internes qu'externes guideront l'évolution des tests continus. En interne, les initiatives agiles, DevOps et de processus Lean seront les principaux moteurs qui génèrent la demande de changement. À l'externe, les dépenses et les frais généraux liés à la vérification des programmes de conformité du gouvernement et de l'industrie seront le principal moteur du changement.

Une feuille de route pour les tests

Toute véritable initiative de changement nécessite l'harmonisation des personnes, des processus et de la technologie, la technologie étant un catalyseur et non la solution miracle. Pourtant, il y a quelques thèmes technologiques de base que nous devons explorer alors que nous migrons vers un véritable processus d'assurance qualité. En général, nous devons passer d'une seule focalisation sur l'automatisation des tests à l'automatisation du processus de mesure des risques. Pour commencer ce voyage, nous devons considérer les éléments suivants:

Poussées par des objectifs commerciaux, les organisations doivent passer à des méthodes plus automatisées d'assurance qualité et s'éloigner de la tâche tactique de tester les logiciels de bas en haut.

Des observations causales à l'évaluation probabiliste des risques

Avec l'assurance qualité (AQ) exécutant traditionnellement des tests manuels ou automatisés, le retour d'information de l'effort de test se concentre sur le cas où un test réussit ou échoue - cela ne suffit pas. Les tests sont causaux, ce qui signifie que les tests sont construits pour valider une portée très spécifique de fonctionnalités et sont évalués comme des points de données isolés. Bien que ces points de données autonomes soient essentiels, nous devons également les utiliser comme entrées dans une équation étendue pour identifier statistiquement les points chauds des applications.

Le SDLC produit une quantité importante de données qui est assez simple à corréler. Les modèles de processus de surveillance peuvent produire des résultats très exploitables. Par exemple, une révision de code doit être déclenchée si un composant d'application rencontre tous les problèmes suivants dans une version d'intégration continue donnée:

  • Échecs de régression supérieurs à la moyenne
  • Densité des défauts d'analyse statique supérieure à la moyenne
  • Complexité cyclomatique supérieure à un seuil prescrit
  • De la documentation des défauts à la relecture simulée

Le ping-pong entre testeurs et développeurs sur la reproductibilité d'un défaut signalé est devenu légendaire. Il est plus difficile de renvoyer un défaut au développement que de renvoyer une entrée d'un chef de renommée mondiale. Compte tenu de l'objectif ambitieux d'accélérer les cycles de publication de logiciels, la plupart des organisations gagneront beaucoup de temps en éliminant simplement ces va-et-vient.

En tirant parti de la virtualisation des services pour simuler un environnement de test et / ou des technologies d'enregistrement et de lecture de machine virtuelle pour observer la façon dont un programme s'exécute, les testeurs devraient être en mesure de livrer au développement une instance de test et d'environnement très spécifique dans un simple package conteneurisé. Ce package doit isoler un défaut en l'encapsulant avec un test, ainsi que donner aux développeurs le cadre nécessaire pour vérifier le correctif.

Des données structurées aux données structurées et non structurées

Les outils et les systèmes d'infrastructure actuels utilisés pour gérer le SDLC ont apporté des améliorations significatives dans la génération et l'intégration de données structurées (par exemple, la façon dont les moteurs CI importent et présentent les résultats des tests). Ces données sont précieuses et doivent être exploitées beaucoup plus efficacement (comme nous l'avons indiqué ci-dessus dans la section «Des observations causales au probabiliste».

La richesse des données de qualité non structurées dispersées dans les applications internes et accessibles au public détient souvent les secrets qui font la différence entre les utilisateurs finaux satisfaits et les prospects mécontents utilisant le produit d'un concurrent…

Nouveau livre de tests continus: tests continus pour les responsables informatiques

Êtes-vous prêt à passer des tests automatisés aux tests continus ? Lisez le nouveau livre de 70 pages Tests continus pour les responsables informatiques pour savoir comment les tests continus peuvent aider votre organisation à répondre à la question, "La version candidate présente-t-elle un niveau de risque commercial acceptable?"

Vous allez apprendre à:

  • Combler en collaboration l'écart entre les attentes de l'entreprise et les activités de DevTest
  • Établissez un filet de sécurité qui vous aide à mettre plus rapidement de nouvelles fonctionnalités sur le marché
  • Prenez de meilleures décisions de compromis pour optimiser la valeur commerciale d'une version candidate
  • Établir des boucles de rétroaction qui favorisent l'amélioration progressive et continue des processus

Ce livre fournit une perspective commerciale sur la façon d'accélérer le SDLC et de le publier en toute confiance. Il s'adresse aux responsables du développement senior et aux dirigeants d'entreprise qui ont besoin d'un équilibre optimal entre vitesse et qualité.

Écrit par

Parasoft

Les outils de test de logiciels automatisés de pointe de Parasoft prennent en charge l'ensemble du processus de développement logiciel, depuis le moment où le développeur écrit la première ligne de code jusqu'aux tests unitaires et fonctionnels, jusqu'aux tests de performance et de sécurité, en exploitant des environnements de test simulés en cours de route.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.