web-dev-qa-db-fra.com

Services Web de test d'automatisation

Je travaille pour une équipe Midtier et je teste des services Web à la main en utilisant SOAP UI. J'ai pour tâche de faire en sorte que le test de régression soit automatisé. Nous n’avons actuellement aucune équipe d’automatisation et par conséquent, j’ai la liberté complète d’utiliser l’outil de mon choix et de faire savoir à mon responsable quel outil convient le mieux… Mais je n’ai pas encore appris les tests d’automatisation. Quelqu'un a des suggestions sur ce qui sera un bon outil pour tester Midtier Automation? Nous avons de nombreux services où nous validons les résultats avec les résultats dans SAP. Par exemple, si je teste le prix d'un article dans Midtier, je devrais vérifier si le prix renvoyé correspond au prix dans SAP. Je l'ai fait manuellement lorsque je me connecte à SAP, que je vérifie le code de transaction fourni et que je vérifie le prix de cet article. Quelqu'un peut-il penser à un bon outil de test d'automatisation permettant de gérer ce type de situation?

13
izna009

Je travaille à travers une demande similaire. Comme le client a déjà automatisé certains des services avec soapUI (OS), mon travail est un peu plus dur.

La version du système d'exploitation ne comporte pas d'étapes de test de la source de données et des boucles de données pour créer une suite de tests pilotée par les données, mais il existe toujours une solution de contournement.

Vous pouvez même utiliser la version Open Source pour implémenter les trois types d’infrastructures d’automatisation courantes.

  1. Framework Action Driven - Pour appliquer ce framework à soapUI, vous devez identifier certaines étapes de test courantes dans la configuration, l'exécution et la validation du service. Une fois identifiés, séparez-les dans une suite de tests et/ou des cas de tests et appelez simplement la suite de tests/l'étape de test appropriée. 

    Par exemple: J'ai une étape de test qui a validé le fait que le service a saisi une commande dans la base de données. Je vais donc créer une suite de tests + scénario de test et y ajouter une étape de test jdbc afin de rechercher ID de commande basé sur les données que je fournis. La requête sera paramétrée. Dans le script actuel, je vais exécuter le service et extraire toutes les valeurs nécessaires à l'exécution de la requête de base de données. Ces valeurs seront transmises au scénario de test réutilisable à l'aide de l'étape de test de test d'exécution.

    N'oubliez pas que si vous avez un grand nombre de scénarios/paramètres de test et pensez que le service doit être modifié, placez les paramètres dans un fichier Excel et chargez-les à l'aide de groovy à partir de la zone de script de configuration de la suite de tests.

    Vous aurez besoin de scriptom api pour travailler avec Excel ou Jxl (implémentation un peu plus compliquée)

  2. Dans Data Framework, vous identifiez différents scénarios que vous souhaitez exécuter sur le service et remplissez Excel avec les données pertinentes, puis utilisez groovy et scriptom ou jexcel ou jxl api pour parcourir toutes les lignes d'Excel et exécuter le service. avec différents éléments de données. Cette approche peut être rendue aussi complexe que vous le souhaitez et aussi simple que vous le souhaitez.

  3. Cadre piloté par mots clés - il s’agit probablement du cadre le plus complexe à implémenter car il vous oblige à faire beaucoup de planification, de développement, etc. Je conçois actuellement un tel cadre. J'aurais partagé certains détails avec vous s'il n'y avait pas eu d'accords de confidentialité.

Je comprends également que vous êtes novice dans groovy, vous devriez consulter le site web de soapUI et groovy qui contient beaucoup d’excellents exemples et rappelez-vous qu’il existe toujours un stackoverflow pour répondre à vos questions.

Faites-moi savoir comment vous faites avec cet effort.

7
Abhishek Asthana

Au cours d’un grand projet, nous avons utilisé de nombreux systèmes hérités connectés (plus de 200 services):

  • pour chaque service, nous avons créé des projets SoapUI avec les assertions appropriées qui reflètent la qualité du service (connectivité, fonctionnalité, etc.)
  • nous avons créé Hudson pour exécuter la liste de ces projets SoapUI pour les services. Tous les services exécutés sont enregistrés (demande, réponse)
  • nous avons créé des jobs ant pour analyser les réponses enregistrées et créer un rapport quotidien (également exécuté sur Hudson)

Nous avons également utilisé les services asynchrones en recherchant des modèles dans les journaux du serveur. Ce qui était important ici, c'était d'avoir une convention de création de projet SoupUI (nommer, affirmations nécessaires, etc.).

2
nzs

Vous pouvez utiliser Soap-UI Pro si vous souhaitez automatiser les tests de régression de vos services Web. L'automatisation est assez simple dans soapui, je travaille sur la même chose. J'ai automatisé mon service Web d'intégration de tous les vols à l'aide de soap ui. Vous pouvez utiliser le langage de script groovy pour des scénarios complexes. 

Merci, Hanumant

1
Hanumant

Ce que j'ai fait dans une situation similaire (nécessaire pour tester une application tierce très complexe qui avait tendance à avoir des problèmes de qualité récurrents): J'ai écrit des tests unitaires à l'aide de l'environnement standard JUnit 4, mais au lieu de tester des classes Java locales, appels de service Web et vérifié la réponse. Si vous devez vérifier les résultats par rapport à un backend SAP R/3, vous pouvez également utiliser le connecteur Java (JCo) disponible à l'adresse http://service.sap.com/connectors . L'inconvénient est que vous devez évidemment savoir coder les tests en Java.

1
vwegert

SI vos services Web sont au format REST, enregistrez d’abord avec l’exportation REST Client (plug-in Chrome) avec Maven. Créez un projet Maven et ajoutez le plugin exp:

<plugin>
    <groupId>com.restlet.client</groupId>
    <artifactId>maven-plugin</artifactId>    
    <version>2.3.0.1</version>
    <executions>
        <execution>
            <phase>test</phase>
            <goals>
                <goal>test</goal>
            </goals>   
            <configuration>
                <file>API_Testing.json</file>
                <selectedEnvironment>Staging</selectedEnvironment>
                <licenseKey/>
            </configuration>
        </execution>
    </executions>
</plugin>
0
Pavan T

Vous pouvez consulter le cours gratuit "Exploration des API de service via Test Automation" sous Test Automation University proposé gratuitement par Applitools . Ils ont également d'autres cours disponibles gratuitement sur des sujets similaires pour les tests visuels et d'automatisation.

0
Bill