Testing & qualité logicielle (QA)
Vous êtes amenés à développer toujours plus vite de nouvelles applications, à les faire évoluer et à délivrer de nouvelles fonctionnalités à des rythmes effrénés. Une défaillance imprévue, une rupture de services ou une mauvaise expérience utilisateurs peuvent avoir des conséquences désastreuses.
Kalisoft sécurise le fonctionnement de vos applications et accélère leur time-to-market en apportant une expertise inégalée en testing. Nos consultants maîtrisent tous les processus de tests et d’automatisation et nous mettons en place une stratégie de tests efficace.
Agile testeur, l’intégration des tests dans une organisation projet en mode agile
Nos testeurs s’intègrent parfaitement dans les équipes organisées en mode agile en menant leurs campagnes de tests après chaque user story jusqu’à l’exécution et la mise à jour des tests IHM, applicatifs et de charge.
Tests manuels.
Notre équipe conçoit et met en place pour vous tout ou partie du processus de vérification de la conformité de votre application par rapport aux spécifications et autres exigences fonctionnelles et non fonctionnelles à l’origine de votre projet.
Concrètement, après avoir définis tous les cas de tests (fonctionnalités, scénarios d’usage), nos testeurs lancent votre application sur tous les différents canaux et systèmes d’exploitation en situation, c’est-à-dire exactement comme le feraient vos utilisateurs finaux. L’objectif est d’identifier les failles, les malfaçons et autres erreurs au niveau de la conception mais aussi en termes de design et d’UX.
- Analyse des besoins depuis les spécifications initiales
- Stratégie de tests
- Création des scénarios de tests tels que toutes les fonctionnalités et les interactions avec les autres systèmes, applications ou BDD
- Exécution des tests
- Gestion des référentiels et des campagnes de tests
- Tests webservices (SoapUI)
- Rapports détaillés et documentations des bugs
- Centre de formation ISTQB
Aujourd’hui, les tests manuels restent indispensables dans le processus de testing même si les outils d’automatisation, grâce aux avancées en termes d’Intelligence Artificielle et de Machine Learning, couvrent un périmètre de plus en plus large. Les tests manuels permettent de simuler l’environnement réel dans lequel votre application sera utilisée de manière très précise et ils permettent de mener une analyse approfondie sur l’usabilité réelle de votre application en terme notamment d’ergonomie et d’interface utilisateur. En effet, aucun script automatisé ne sait aujourd’hui vous fournir des feedbacks sur l’apparence de votre application.
Cependant, lorsque vous êtes amené à répéter plusieurs fois le même processus de tests, lors des évolutions de produits notamment ou l’ajout de nouvelles fonctionnalités, nous vous recommandons de passer au testing automation car les tests manuels sont pas natures non réutilisables contrairement aux scripts. Les tests manuels sont également non adaptés aux tests de charge et de performance qui nécessitent de stimuler une utilisation en volume simultanée.
Tests automatisés.
L’automatisation des tests repose sur un processus préétabli d’exécution des tests basé sur un framework qui permet d’exécuter de manière autonome et surtout de réutiliser les tests à la demande, simultanément sur plusieurs machines et navigateurs, autant de fois que nécessaire. Plus rapide, plus fiable et plus efficace que les tests manuels, ils supposent par contre une charge de conception et d’écriture des scripts de tests au préalable. Un investissement initial très vite amorti (ROI) car une fois le cadre d’automatisation défini, il suffit d’ajouter les nouveaux cas de tests lors des évolutions produits. Les tests automatisés sont également très approfondis car impartiaux par nature puisqu’ils reposent uniquement sur des algorithmes.
Le testing automation est une démarche outillée qui s’appuie sur des outils dédiés. Cela permet d’avoir accès aux résultats en temps réel, en toute transparence pour tous les membres de l’équipe. Cela est recommandé dans tout environnement où vous devez reconduire et ré exécuter fréquemment des tests. C’est également particulièrement adapté à tout projet dont la performance et la capacité de traitement de données sont primordiales, contrairement à l’interface UI/UX qui est davantage secondaire.
Chez Kalisoft, nous utilisons l’automatisation des tests dans le cadre d’une approche de développement agile et un processus d’intégration continue car cela nous permet de tester le produit dans son ensemble, à chaque itération, pour un time-to-market optimisé, à moindre effort et à moindre coût.
- Conception des scripts
- Frameworks d’automatisation
- Conseil en choix d’outils (Katalon, Selenium, HP UFT, Ranorex, JMeter)
- Automatisation des tests unitaires (Karma, Phantom JS)
- Automatisation des tests des applications web
- Automatisation de : test unitaire, test de régression
- Test de performance et de montée en charges, stress tests