Ingénierie du test

Les enjeux du test sont bien connus des différents acteurs. Aujourd’hui, la livraison d’un logiciel sur mesure, sa qualification par le client final, la MEP d’une nouvelle version d’un produit logiciel ne peuvent pas s’accompagner de défaillances ou de régressions symptomatiques d’une mauvaise qualité logicielle. Pour l’améliorer, Kereval accompagne ses clients en leur offrant une meilleure maîtrise du processus de test, processus qui démarre tôt dans le cycle de développement d’un logiciel : dès la revue du cahier d’exigences.

Notre périmètre d’intervention comprend toute sorte de logiciels : systèmes d’information, sites web, applications mobiles, systèmes embarqués… Sur tous ces systèmes nous allons pouvoir déployer plusieurs types de tests : fonctionnels, performances, cybersécurité et conformité/interopérabilité.

Nos pratiques sont en accord avec les référentiels internationaux et en particulier l’ISO 29119.

L’expertise au profit de nos clients

Nos principales activités de conseil portent sur la cartographie d’un processus de test client. Nous remontons les KPI principaux, les comparons à ceux du domaine et auditons le processus de test afin de proposer un plan d’actions et répondre à une problématique spécifique.

En amont du processus de test, nous pouvons également accompagner nos clients en ingénierie du besoin afin de leur permettre de bien exprimer leurs exigences : une exigence doit être comprise de la même façon par la MOA, le développeur et le testeur ; ce qui n’est pas toujours le cas et qui est une cause importante d’échecs de projets.

Nous accompagnons également nos clients dans le choix d’un outil de gestion de test, d’automatisation de test… Expression fine du besoin, benchmark, POC, transfert de compétences pour un déploiement et une utilisation efficiente par le client.

Enfin, sur certains métiers comme l’interopérabilité des systèmes de santé ou les bus de communication de véhicules, nous sommes en mesure d’apporter du conseil grâce à des consultants de haut niveau maîtrisant les normes et référentiels internationaux.

Le bon test au bon moment

La stratégie de test est une activité dont l’importance est parfois sous-estimée et trop souvent peu formalisée. C’est pourtant cette activité centrale qui va permettre d’optimiser l’effort de test pendant le projet pour garantir un niveau de qualité logicielle.

La stratégie de test qui se décline dans les plans de tests va bien sûr identifier toutes les activités de test du projet avec leurs objectifs mais également ce qui sera testé et comment, et enfin ce qui ne sera pas testé. Démarrée très tôt dans le projet, la stratégie de test doit permettre de répondre très rapidement aux problématiques habituelles d’outillage de test, d’environnement de test et de jeux de données.

La stratégie de test appliquée sera bien sûr différente pour des processus de développement en V ou agiles mais elle dépend également du contexte projet. L’intérêt de l’automatisation des tests pour le projet sera évalué lors de définition de la stratégie.

La rigueur !

Les phases d’analyse des exigences et de conception des tests peuvent démarrer au plus tôt dès la rédaction des exigences.

Le plan de test est un guide important pour répartir l’effort de test et les méthodes de conception. En particulier, la connaissance de tests manuels versus tests automatisés influera sur la conception des scénarios de test.

Nous accompagnons aussi bien les équipes de développement dans les tests unitaires, les tests d’intégration et les tests systèmes que les clients finaux dans les tests d’acceptation en intégrant une modélisation des processus métier.

Nous apportons une importance extrême au reporting pendant la campagne de test et à la qualité des rapports de test qui s’accompagnent toujours d’éléments de plus haut niveau pour une prise de décision.

Pourquoi automatiser et quels tests automatiser  ?

Si l’automatisation accélère de façon indéniable le Time To Market, elle peut aussi être un coût important pour le projet (coût d’automatisation, de maintenance, d’infrastructure) et un ROI n’est pas toujours garanti.

Une telle démarche se décide au plus tôt, lors de définition de la stratégie de test. Elle va se continuer avec les choix d’automates de tests, de types et niveaux de test (fonctionnels, techniques) puis des tests qui seront à automatiser.

Ces choix sont importants pour bien maîtriser le coût de l’automatisation et son efficacité dans le temps. La mise en œuvre de chaînes d’intégration continue ou de déploiement continue a depuis quelques années renforcé l’importance de l’automatisation.

Notre expérience de testeur au profit des équipes du client

Nous avons développé depuis plusieurs années une activité de réalisation de bancs de tests de logiciels qui nécessite des profils d’architecte logiciel et de développeur informatique.

Nous mettons tout notre savoir-faire de laboratoire de test pour concevoir ces bancs qui seront utilisés par des équipes de testeurs. Un seul critère pour le démontrer : nous obtenons des taux de plus de 80 % de tests automatisés !

Tests d’interopérabilité

Kereval s’en est fait une spécialité dans certains secteurs comme le tertiaire. Ils permettent de s’assurer que le logiciel répond à un cadre d’interopérabilité défini souvent à partir de normes et de standards.

Tests de cybersécurité

Réalisés par une autre équipe spécifique de Kereval qui qualifiée PASSI par l’ANSSI, les tests de cybersécurité vont rechercher des vulnérabilités et des failles de sécurité dans un logiciel.

Tests fonctionnels

Les tests fonctionnels, qui sont les plus connus, permettre de vérifier que le logiciel sous test assure correctement les fonctionnalités attendues. Les tests de non-régression s’appuient en partie sur des tests fonctionnels.

Ils nous font confiance

Note: Carousel will only load on frontend.