Catégories
Start-up et applications

Pratiques d'ingénierie qui font progresser les tests

Les pratiques de test évoluent de gauche à droite, façonnant la manière dont le génie logiciel est réalisé. En plus des nombreux types de tests décrits dans ce Deeper Look, le développement piloté par les tests (TDD), l'ingénierie progressive et l'ingénierie du chaos sont également considérés comme des tests aujourd'hui.

TDD
TDD est devenu populaire auprès des équipes Agile et DevOps car il fait gagner du temps. Les tests sont écrits à partir d'exigences sous forme de cas d'utilisation et de user stories, puis du code est écrit pour réussir ces tests. TDD fait progresser le concept de construction de morceaux de code plus petits, et les petits succès de la qualité du code en cours de route s'ajoutent aux grands. TDD s'appuie sur l'ancien concept de programmation extrême (XP).

CONTENU CONNEXE: les tests ne se limitent pas à des tests

«Le développement piloté par les tests aide à améliorer la qualité dès le début et (aide les développeurs) à détecter les défauts dans les exigences avant d’avoir besoin d’écrire du code», a déclaré Thomas Murphy, analyste directeur principal chez Gartner.

Todd Lemmonds, architecte QA chez Health Benefits Company Hymne, a déclaré que son équipe avait du mal avec elle parce qu’elle était coincée dans une phase intermédiaire.

«TDD est la première étape vers une sorte de mouvement dans la direction Agile», a déclaré Lemmonds. «La façon dont je l'explique aux gens, c'est que vous concentrez essentiellement toute votre attention sur (la validation) de ces critères d'acceptation basés sur cette seule histoire. Et puis ils se disent: OK, quels tests dois-je créer et réussir avant que cette chose puisse passer au niveau suivant? Ils valident les spécifications techniques alors que (le développement piloté par les tests d'acceptation) valide les spécifications commerciales et c'est ce qui est présenté aux parties prenantes à la fin de la journée. "

Livraison logicielle progressive
La livraison progressive de logiciels est souvent mal définie en analysant les mots. L'idée est que si les tests progressent (deviennent plus modernes ou mûrissent), alors ils sont «progressifs». La livraison progressive est quelque chose que les équipes Agile et DevOps avec un pipeline CI / CD utilisent pour poursuivre leur mission de fournir des applications de meilleure qualité plus rapidement que les utilisateurs aiment réellement. Il peut impliquer une variété de tests et de déploiements, y compris des tests A / B et multivariés à l'aide d'indicateurs de fonctionnalités, de déploiements bleu-vert et canari ainsi que d'observabilité. La partie «progressive» déploie une fonctionnalité à un public progressivement plus large.

«La livraison progressive de logiciels est une stratégie efficace pour atténuer le risque pour les opérations commerciales causé par les changements de produits», a déclaré Nancy Kastl, directrice exécutive des services de test à l'agence de transformation numérique SPR. «Le but est de tirer les leçons des expériences du groupe pilote, de résoudre rapidement les problèmes qui pourraient survenir et de planifier des améliorations pour le déploiement complet.»

Les autres avantages perçus par Kastl comprennent:

  • Vérification de l'exactitude de la configuration des autorisations pour les utilisateurs professionnels
  • Découverte des problèmes de flux de travail de l'entreprise ou de l'inexactitude des données non détectées lors des activités de test
  • Formation efficace sur le produit logiciel
  • La capacité à fournir un support réactif lors de la première utilisation du produit
  • La capacité de surveiller les performances et la stabilité du produit logiciel dans des conditions de production réelles, y compris les serveurs et les réseaux

«Les entreprises mondiales disposant d'une très large base d'utilisateurs de logiciels et de configurations personnalisées par pays ou région utilisent souvent cette approche pour planifier le déploiement de produits logiciels», a déclaré Kastl.

Ingénierie du chaos
L'ingénierie du chaos teste littéralement les effets du chaos (défaillances de l'infrastructure, du réseau et des applications) en ce qui concerne la résilience d'une application. L'idée est née à Netflix avec un programme appelé «Chaos Monkey», qui choisit au hasard un serveur et le désactive. Finalement, Netflix a créé une suite complète d'outils open source appelée «l'armée simienne» pour tester plus de types de pannes, comme une panne de réseau ou une région AWS ou une zone de disponibilité.

Le projet de l'armée Simian n'est plus activement maintenu, mais certaines de ses fonctionnalités ont été déplacées vers d'autres projets Netflix. L'ingénierie du chaos perdure. En fait, Gartner y voit beaucoup d'intérêt.

«Maintenant, vous commencez à voir quelques implémentations commerciales. Pour que le chaos soit accepté plus largement, il faut souvent quelque chose de plus commercial », a déclaré Murphy de Gartner. "Ce n’est pas que vous ayez besoin d’un logiciel commercial, c’est une communauté autour de lui, donc si j’ai besoin de quelque chose, quelqu'un peut m’aider à comprendre comment le faire en toute sécurité."

L'ingénierie du chaos n'est pas quelque chose que les équipes font soudainement. Cela prend généralement quelques années, car ils expérimenteront par étapes, telles que les tests en laboratoire, les tests d'applications et la pré-production.

Chris Lewis, directeur de l'ingénierie au cabinet de conseil en technologie Groupe DMW, a déclaré que son entreprise avait essayé l'ingénierie du chaos à petite échelle, introduisant le concept à la clientèle plutôt conservatrice de DMW.

"Nous l'avons présenté dans un sens pilote en leur montrant qu'il peut être utilisé pour passer sous le capot des exigences non fonctionnelles et en montrant qu'ils sont réellement satisfaits", a déclaré Lewis. «Je pense que très peu d’entre eux seraient prêts à appuyer sur le bouton pendant la production parce qu’ils sont encore nerveux. Les personnes occupant des postes de direction (dans ces organisations clientes) sont issues d'un milieu beaucoup plus traditionnel. »

L'ingénierie du chaos est plus courante parmi les perturbateurs numériques et les petites entreprises innovantes qui se distinguent en utilisant les dernières technologies et techniques.

H2: procédez avec prudence

L'élargissement de plus de techniques de test peut être bénéfique lorsque les organisations sont réellement prêtes à le faire. Une erreur courante est d'essayer d'en prendre trop trop tôt et de ne pas récolter les avantages escomptés. Raj Kanuparthi, fondateur et PDG d'une société de développement de logiciels personnalisés Narwal, a déclaré que dans certains cas, les gens doivent être plus réalistes.

«Si je n’ai rien en place, j’arrive à bien comprendre les bases, (créer) une feuille de route, puis un instrument étape par étape. Vous pouvez le faire très vite, mais vous devez savoir comment vous l’abordez », a déclaré Kanuparthi, qui est un grand partisan de Tricentis. "Beaucoup en prennent trop et essaient 10 choses, mais ne font pas de progrès significatifs sur quoi que ce soit et disent ensuite:" Cela ne fonctionne pas. "

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *