Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Arrêtons de (dé)tester nos applications web

25 juillet 2024 à 04:44

Dans ce billet, nous allons discuter d’un sujet crucial pour les développeurs et les testeurs : la pertinence des tests de bout en bout (ou end-to-end E2E) web.
En effet, lorsqu’il s’agit de tester des applications web, les tests automatisés jouent un rôle vital, car ils peuvent être exécutés à plusieurs reprises sans effort et manuel supplémentaire. Parmi les tests automatisés, les tests bout en bout sont particulièrement importants, car ils simulent des cas d’utilisation réels. Cependant, il existe des pratiques courantes qui limitent la pertinence de ces tests.
Nous allons ici examiner 3 mauvaises pratiques, ou erreurs courantes, qui limitent la pertinence de vos tests de bout en bout.

  • lien nᵒ 1 : UUV

1. Écrire des tests centrés développement

La première erreur courante que l’on peut citer est de rédiger des tests E2E centrés sur la personne qui développe.
Pour comprendre ce que nous entendons par test E2E centré sur le développement, prenons un exemple.
Imaginons que je souhaite écrire un test pour vérifier que le titre « Welcome to weather App » et le bouton « Get Started » sont bien présents sur la page web suivante :

Application Weather App

Avec un outil populaire comme Cypress (sous MIT), je peux écrire le test suivant :

Test Développer centric

Et ça marche ! Mais ce test a, au moins, les 2 limitations suivantes :

  • Il est écrit en Typescript : Il n’est donc pas facile à comprendre pour les personnes qui ne développent pas (on entend ici toute personne qui ne comprend pas du code de programmation), et c’est un peu dommage, car il est censé représenter un cas d’utilisation réel.
  • Utilisation de testId : les testIds sont des attributs ajoutés par les développeurs pour faciliter la localisation des éléments de la page lors des tests.

Mais lorsqu’on les utilise dans nos tests, nous n’interagissons pas avec notre application comme un utilisateur final. Nos utilisateurs finaux ne connaissent pas les ID de test, ils connaissent les boutons, les liens, les champs de formulaire, ils connaissent tout ce qu’ils peuvent voir et/ou entendre.

Alors, comme bonne pratique, adoptons une approche centrée sur la personne utilisatrice (user-centric), qui consiste à utiliser des éléments connus de la personne utilisatrice finale pour interagir comme elle le ferait avec notre application.
Cet exemple montre le même test écrit avec la solution UUV.

Test User centric

Le nom et le rôle accessibles sont utilisés pour exprimer le cas d’utilisation dans un langage anglais simple.

2. Oublier l’utilisation du clavier

La seconde erreur courante est de négliger l’usage du clavier lors des tests. Les directives WCAG stipulent que tous les éléments interactifs doivent être accessibles via une interface clavier. Cela profite non seulement aux personnes ayant des handicaps visuels ou moteurs, mais aussi à ceux qui préfèrent utiliser le clavier pour des raisons de productivité.
Pour remplir un formulaire comme celui-ci :

Formulaire à remplir

Les utilisateurs déplacent naturellement une souris pour naviguer, car c’est l’usage par défaut qui est enseigné pour manipuler un ordinateur. Les développeurs ont donc l’habitude de reproduire ce genre de scénario lors de tests E2E, comme sur cet exemple :

Remplissage du formulaire à la souris

Pour les plus expérimentés d’entre nous, la navigation au clavier est un excellent moyen d’augmenter la productivité. Ainsi lorsque nous testons nos applications, une bonne pratique est de vérifier l’usage du clavier. Pour cet exemple, il convient donc de vérifier le remplissage du formulaire au clavier. Voici un scénario écrit avec l’outil UUV pour le faire :

Remplissage du formulaire au clavier

La première partie est identique à la navigation à la souris. Ensuite, nous plaçons le focus sur le coin gauche de l’application. Puis nous déplaçons le focus lorsque nous appuyons sur la touche tabulation et nous vérifions que le focus est sur le lien nommé Weather App's Logo. Nous reproduisons ce mécanisme avant de le soumettre.

3. Ignorer l’accessibilité (#a11y)

Contrairement à ce que l’on pourrait croire, les tests E2E sont un excellent contexte pour effectuer des vérifications d’accessibilité en utilisant des outils comme axe-core (sous MPL2) pour effectuer des contrôles de référence WCAG, ou en utilisant des bibliothèques comme uuv/a11y pour les vérifications RGAA. Il est important de garantir la non-régression de l’accessibilité lorsque l’on met à jour nos interfaces, surtout à une époque où l’intelligence artificielle prend de plus en plus de place.

Voici un exemple de scénarios effectuant des vérifications d’accessibilité :

Vérification d’accessibilité

En résumé

Commencer ou continuer à :

  • Écrire des tests centrés sur l’utilisation
  • Tester l’utilisation du clavier
  • Effectuer des vérifications d'accessibilité

En adoptant ces pratiques, nous pouvons nous assurer que nos applications web sont robustes, accessibles et prêtes pour une utilisation réelle par tous nos utilisateurs.

Mais au fait, qu’est-ce que UUV ?

Logo UUV

Pour faire simple, UUV est une solution opensource (MIT) qui facilite l’application des pratiques évoquées et de bien d’autres en matière de tests E2E.

Disponible en tant que dépendance npm, UUV offre des phrases prêtes à l’emploi user-centric pour rédiger les tests E2E. Pour les développeurs, le plugin Jetbrains et l’extension VS Code facilite l’écriture des scénarios. De plus, l’assistant UUV, une application de bureau, permet de générer des scénarios de tests comme ceux pour vérifier la navigation au clavier, les interactions avec les boutons, et bien plus encore.

Vous pouvez tester UUV directement sur vos projets ou à l'aide du Kata UUV E2E et contribuer à son développement sur GitHub.

Merci pour votre lecture, n'hésitez pas à partager votre avis en commentaire !

Commentaires : voir le flux Atom ouvrir dans le navigateur

L’Union Européenne doit poursuivre le financement des logiciels libres

16 juillet 2024 à 17:50

De nombreux projets de logiciel libre (*) bénéficient du programme de financement européen Next Generation Internet (NGI). Or celui-ci est en danger. Pour prendre conscience de l'effet éventuel, il suffit de se rappeler que ce programme est fréquemment mentionné dans de nombreuses conférences du Libre, associé à de nombreux projets communautaires et relié à des éléments libres essentiels (voir l'étiquette next_generation_internet et la liste des signataires).

(*) ce n'est le cas de LinuxFr.org et cela ne change rien à notre propos.

Pour tous les projets libres bénéficiant de ce précieux soutien, l'association LinuxFr signe la lettre publique ci-dessous, et vous invite à contacter vos parlementaires pour rappeler l'importance du programme et le pérenniser.

Cette lettre a été publiée initialement par les petites singularités. Si vous souhaitez la signer, merci de la publier sur votre site et de compléter le tableau. Au moment de notre signature, il comprend les petites singularités, John Livingston, Inventaire, CryptPad, Acoeuro, Fedicat, Fidus Writer, French Data Network, Framasoft, Code for France, YunoHost, Deuxfleurs, Parinux, Club Linux Nord-Pas de Calais, OW2, Radically Open Security, multi, Spare Cores, Iloth, Tetaneutral.net, OpenStreetMap France, SocialHub ActivityPub Community, Interpeer Project, VerifAI project, WordPress Francophone (WPFR), Restoration.software, Librecast Project, Open Knowledge Foundation, NextGraph.

    Sommaire

    Lettre ouverte à la Commission Européenne

    Depuis 2020, les programmes Next Generation Internet (NGI), sous-branche du programme Horizon Europe de la Commission Européenne financent en cascade (notamment, via les appels de NLnet) le logiciel libre en Europe. Cette année, à la lecture du brouillon du Programme de Travail de Horizon Europe détaillant les programmes de financement de la commission européenne pour 2025, nous nous apercevons que les programmes Next Generation Internet ne sont plus mentionnés dans le Cluster 4.

    Les programmes NGI ont démontré leur force et leur importance dans le soutien à l'infrastructure logicielle européenne, formant un instrument générique de financement des communs numériques qui doivent être rendus accessibles dans la durée. Nous sommes dans l'incompréhension face à cette transformation, d'autant plus que le fonctionnement de NGI est efficace et économique puisqu'il soutient l'ensemble des projets de logiciel libre des plus petites initiatives aux mieux assises. La diversité de cet écosystème fait la grande force de l'innovation technologique européenne et le maintien de l'initiative NGI pour former un soutien structurel à ces projets logiciels, qui sont au cœur de l'innovation mondiale, permet de garantir la souveraineté d'une infrastructure européenne. Contrairement à la perception courante, les innovations techniques sont issues des communautés de programmeurs européens plutôt que nord-américains, et le plus souvent issues de structures de taille réduite.

    Le Cluster 4 allouait 27.00 millions d'euros au service de :

    • "Human centric Internet aligned with values and principles commonly shared in Europe" ;
    • "A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life" ;
    • "A structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet commons".

    Au nom de ces enjeux, ce sont plus de 500 projets qui ont reçu un financement NGI0 dans les 5 premières années d'exercice, ainsi que plus de 18 organisations collaborant à faire vivre ces consortia européens.

    NGI contribue à un vaste écosystème puisque la plupart du budget est dévolu au financement de tierces parties par le biais des appels ouverts (open calls). Ils structurent des communs qui recouvrent l'ensemble de l'Internet, du matériel aux applications d'intégration verticale en passant par la virtualisation, les protocoles, les systèmes d'exploitation, les identités électroniques ou la supervision du trafic de données. Ce financement des tierces parties n'est pas renouvelé dans le programme actuel, ce qui laissera de nombreux projets sans ressources adéquates pour la recherche et l'innovation en Europe.

    Par ailleurs, NGI permet des échanges et des collaborations à travers tous les pays de la zone euro et aussi avec les widening countries 1, ce qui est actuellement une réussite tout autant qu’un progrès en cours, comme le fut le programme Erasmus avant nous. NGI est aussi une initiative qui participe à l’ouverture et à l’entretien de relation sur un temps plus long que les financements de projets. NGI encourage également à l'implémentation des projets financés par le biais de pilotes, et soutient la collaboration au sein des initiatives, ainsi que l'identification et la réutilisation d'éléments communs au travers des projets, l'interopérabilité notamment des systèmes d'identification, et la mise en place de modèles de développement intégrant les autres sources de financements aux différentes échelles en Europe.

    Alors que les États-Unis d’Amérique, la Chine ou la Russie déploient des moyens publics et privés colossaux pour développer des logiciels et infrastructures captant massivement les données des consommateurs, l’Union Européenne ne peut pas se permettre ce renoncement. Les logiciels libres et open source tels que soutenus par les projets NGI depuis 2020 sont, par construction, à l’opposée des potentiels vecteurs d’ingérence étrangère. Ils permettent de conserver localement les données et de favoriser une économie et des savoirs-faire à l’échelle communautaire, tout en permettant à la fois une collaboration internationale. Ceci est d’autant plus indispensable dans le contexte géopolitique que nous connaissons actuellement. L’enjeu de la souveraineté technologique y est prépondérant et le logiciel libre permet d’y répondre sans renier la nécessité d’œuvrer pour la paix et la citoyenneté dans l’ensemble du monde numérique.

    Dans ces perspectives, nous vous demandons urgemment de réclamer la préservation du programme NGI dans le programme de financement 2025.


    1. Tels que définis par Horizon Europe, les États Membres élargis sont la Bulgarie, la Croatie, Chypre, la République Tchèque, l’Estonie, la Grèce, la Hongrie, la Lettonie, la Lituanie, Malte, la Pologne, le Portugal, la Roumanie, la Slovaquie et la Slovénie. Les pays associés élargies (sous conditions d’un accord d’association) l’Albanie, l’Arménie, la Bosnie-Herzégovine, les Îles Féroé, la Géorgie, le Kosovo, la Moldavie, le Monténégro, le Maroc, la Macédoine du Nord, la Serbie, la Tunisie, la Turquie et l’Ukraine. Les régions élargies d’outre-mer sont: la Guadeloupe, la Guyane Française, la Martinique, La Réunion, Mayotte, Saint-Martin, Les Açores, Madère, les Îles Canaries. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Trois projets récompensés durant OW2con'24 : Mercator, WIdaaS et Centreon

    La conférence OW2con a récompensé trois projets de la communauté OW2 :

    • catégorie communauté (Community Award) : Mercator, pour la cartographie du système d’information
    • catégorie performance sur le marché (Market Award) : WIdaaS, pour la gestion d’identité et d’accès
    • catégorie technologie (Technology Award) : Centreon, pour la supervision

    OW2con24 Awards

    Mercator

    Le prix OW2con'24 Best Project Community Award est remis à MERCATOR. Cette application web procure une cartographie du système d'information et suit les recommandations de l’ANSSI précisées dans son "Guide de la cartographie du système d'information". L’application permet une approche globale de la gestion des risques, autorisant une protection et une défense complètes ainsi qu’une résilience du système d'information. La cartographie du S.I. est un outil essentiel à sa maîtrise. Elle constitue une obligation pour les Opérateurs d'Importance Vitale (OIV) et les opérateurs de services essentiels (OSE).

    WIdaaS

    Le prix OW2con'24 Best Project Market Award revient à W'IdaaS (Worteks IDentity as a Service, l’identité comme service par Worteks), un logiciel de gestion d’identités et d’accès, en mode Cloud, accessible via des interfaces Web et piloté par des API REST. Ce programme s’appuie sur le projet OW2 FusionIAM, et gère l’authentification multi-facteurs (2FA/MFA). Ses fonctionnalités et son modèle économique correspondent aux attentes actuelles du marché des entreprises et des collectivités territoriales.

    Centreon

    Centreon est une plateforme de supervision ouverte, extensible et facile à intégrer, pour superviser de bout en bout des infrastructures d’entreprise. La solution est interopérable avec ITSM (information technology service management, voir ITIL), les outils d’observabilité, d’analyse de données, d’orchestration et d’automatisation.

    Le mot d’OW2

    (NdM: deux dépêches ont été proposées et fusionnées)

    Cette année, l’association OW2 est ravie de récompenser trois logiciels open source pouvant aider les entreprises à protéger l’ensemble de leur patrimoine numérique et à conserver la maîtrise de leurs infrastructures en interne, en périphérie et dans le cloud. Centreon, W’IDaaS et Mercator méritent leur prix pour leur ouverture aux solutions tierces, leurs fonctionnalités, leur ergonomie et leur modèle économique,” déclare le CEO d'OW2 Pierre-Yves Gibello.

    Les prix OW2con’24 Best Project Awards distinguent des réalisations exemplaires. Ils apportent aux membres d’OW2, aux chefs de projet et à leurs équipes une distinction communautaire et des opportunités de visibilité sur le marché.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Conférence OW2con’24 : financements et nouveaux défis réglementaires pour les logiciels libres

    Avec quatre discours inauguraux, quatre sessions en petits groupes et 30 présentations d’experts, la conférence annuelle d’OW2 traite des aspects techniques, éthiques et juridiques de l’open source à Paris, les 11-12 juin 2024.

    Bannière OW2Con

    La 15ᵉ édition d’OW2con rassemble des développeurs, entreprises, universitaires et organisations à but non lucratif. La conférence accueille également la Tunisie en tant que pays invité et met en lumière trois projets OW2 en leur décernant un prix OW2con'24 Best Project Awards distinguant des réussites dans plusieurs domaines : technologies, marché, communauté. L’édition 2024 est soutenue par 12 sponsors proches d’OW2 : Collabora Online, Huawei, Orange, Worteks, la Ville de Paris, Rocket.chat, Xwiki, OnlyOffice, la MAIF, NGI Search, NGI Zero Commons, et OpenUp.

    Durant deux jours, plus de 200 développeurs internationaux auront l’occasion de discuter avec quelques dizaines d’intervenants, partenaires et membres de la communauté. Le thème central de cette édition est "Le financement des logiciels libres". Tous les participants pourront découvrir divers exemples de modes de financement et échanger sur les challenges et visions liés à ce sujet. Les appels à propositions en cours des fonds européens NGI Search et NGI Zero Commons Fund seront également présentés.

    D’autres témoignages et débats aborderont les dernières tendances technologiques et sociales, y compris l'avenir de l’open source. Par ailleurs, les nouvelles réglementations (CRA, AI Act), et systèmes de standards européens seront discutés lors d’une table ronde animée par Simon Phipps de l’OSI, ainsi que dans diverses conférences.

    Cette année, les orateurs "keynote" de renommée mondiale sont :

    Thierry Carrez, General Manager, Open Infra Foundation, Stefano Maffulli, Executive Director, Open Source Initiative, Frank Karlitschek, CEO, Nextcloud, Patrick Masson, Executive Director, Apereo Foundation.

    Quatre sessions parallèles en petits groupes sont également prévues au cours de l'événement :

    • L’Open Source dans l’enseignement, la recherche et les sciences, menée par Apereo Foundation
    • OSPO, vous pouvez être les héros ! Session coordonnée par l’OSPO Alliance
    • Réussites de projets financés par Next Generation Internet, moderée par NGI Search
    • Accessibilité Open Source, coordonnée par l’initiative OSAi (Open Source Accessibility Initiative)

    Le programme complet est consultable en ligne : https://www.ow2con.org. Les conférences ont lieu en anglais.

    OW2con’24 se déroulera les mardi 11 juin et mercredi 12 juin 2024 au campus d’innovation d’Orange Gardens, 44 Avenue de la République, 92320 Châtillon.

    Les professionnels IT peuvent participer gratuitement, sur pré-inscription en ligne : https://pretix.ow2.org/ow2con-2024/

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Appel à présentations - Conférence OW2con'24

    12 janvier 2024 à 13:50

    La conférence annuelle OW2con'24 aura lieu cette année les 11 et 12 juin 2024, sur le site des Jardins de l'Innovation de Orange à Paris-Châtillon. Communauté open source internationale et indépendante, OW2 est dédiée au développement de logiciels professionnels de qualité industrielle, et regroupe des entreprises, des collectivités et des organismes de recherche de premier plan dont Orange, l’Inria, la Mairie de Paris et l'institut allemand Fraunhofer Fokus. L'appel à présentations est ouvert jusqu'au 25 février 2024.

    OW2Con 2024

    OW2con est la conférence open source européenne organisée par OW2. Rencontre internationale de contributeurs, éditeurs, ESN, académiques, et organisations à but non lucratif, OW2con rassemble l'ensemble de la communauté open source. OW2con est ouvert à tous, l’évènement est gratuit et les conférences ont lieu en anglais.

    Appel à présentations:

    Cette année l'accent sera mis sur le thème du financement de l'open source : quelles sont les solutions actuelles pour les innovateurs, start-ups, associations ou ESN pour financer leur développement? financement privé ou public? les politiques publiques nationales et européennes sont-elles à la hauteur des enjeux?
    Merci de soumettre vos propositions, en anglais, avant le 25 février 2024 dans ce thème ou dans l'un des sujets annoncés dans le formulaire de l'appel à présentations.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌