Essais d'automatisation services web

je travaille pour une équipe de Midtier et j'ai testé les services web manuellement en utilisant SOAP UI. J'ai la tâche de faire automatiser le test de régression. Nous n'avons pas d'équipe D'automatisation en ce moment et c'est pourquoi j'ai toute la liberté d'utiliser n'importe quel outil que je veux et de faire savoir à mon manager quel outil convient bien..Mais je n'ai pas encore appris les tests D'Automation. Quelqu'un a-t-il des suggestions à propos de ce qui sera un bon outil pour les essais D'automatisation Midtier? Nous avons de nombreux services où nous validons résultats avec les résultats dans SAP. Par exemple, si je teste le prix d'un article dans Midtier, je devrais aller vérifier si le prix retourné correspond au prix dans SAP. J'ai fait cela manuellement où je me connecte à SAP aller au code de transaction fourni et vérifier le prix pour cet article, quelqu'un peut-il penser à un bon outil de test D'automatisation où je peux gérer ce genre de situation?

13
demandé sur izna009 2013-04-17 22:04:05

5 réponses

je travaille sur une demande similaire. Comme le client a déjà automatisé certains des services en utilisant soapUI (OS) mon travail est un peu plus difficile.

la version OS n'a pas la source de données, les étapes de test de boucle de données pour faire une suite de test axée sur les données, mais il ya toujours un travail autour.

vous pouvez même utiliser la version Open Source pour implémenter les trois types de cadres d'automatisation courants.

  1. cadre axé sur l'Action - à appliquer cadre à soapUI vous devez identifier quelques étapes de test communes dans la configuration, l'exécution et la validation du service. Une fois identifiés, séparez-les dans une suite de test et/ou des cas de test et appelez simplement la suite de test/étape de test appropriée.

    Par exemple: J'ai une étape de test qui a validé qu'une entrée de commande a été faite dans le db par le service donc je vais créer une suite de test + cas de test et ajouter une étape de test jdbc là-dedans pour rechercher l'id de commande basé sur les données que je fournis. Le la requête sera paramétrée. Dans le script actuel, j'exécuterai le service et extrai toutes les valeurs nécessaires pour exécuter la requête db. Ces valeurs seront transmises au cas d'essai réutilisable à l'aide de l'étape d'essai de fonctionnement.

    quelques choses à retenir, c'est que si vous avez un grand nombre de cas/paramètres de test et que vous pensez que le service devra être modifié, alors mettez les paramètres dans un fichier excel et chargez-les en utilisant groovy de la zone script de configuration de la suite de test.

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

  2. data Driven framework, dans ce cadre, vous identifiez essentiellement différents scénarios que vous voulez exécuter sur le service et peupler un excel avec des données pertinentes, puis en utilisant groovy et scriptom ou boucle api jexcel ou jxl à travers toutes les lignes dans l'excel et exécuter le service avec différents éléments de données. Cette approche peut être aussi complexe que vous le souhaitez et aussi simple que vous vouloir.

  3. keyword driven framework-il s'agit probablement des cadres les plus complexes de tous à mettre en œuvre, car il nécessite beaucoup de planification, de développement et autres. Je suis en train de concevoir un tel cadre. J'aurais partagé quelques détails avec vous si il n'y avait pas d'accords de confidentialité en place.

je comprends aussi que vous êtes nouveau à groovy, vous devriez vérifier soapUI et groovy du site qu'ils ont vraiment un bon exemples et n'oubliez pas qu'il y a toujours stackoverflow pour répondre à vos questions.

Laissez-moi savoir comment vous faites avec cet effort.

7
répondu Abhishek Asthana 2013-08-27 12:17:28

ce que nous avons fait au cours d'un grand projet, c'est avec de nombreux systèmes existants 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 mis en place Hudson pour exécuter la liste de ces projets de SoapUI pour les services. Le tout exécuté services sont consignés (request, response)
  • nous avons créé des emplois pour analyser les réponses et de créer un rapport quotidien (aussi fonctionner sur d'Hudson)

nous avons aussi touché les services async en cherchant des motifs dans les journaux du serveur. Ce qui était important ici d'avoir une convention de création de projet de SoupUI (nommage, assertions nécessaires, etc).

2
répondu nzs 2013-04-25 09:04:36

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 quelques tests unitaires en utilisant L'environnement JUnit 4 régulier, mais au lieu de tester les classes locales java, j'ai effectué des appels de service web et vérifié la réponse. Si vous avez besoin de vérifier les résultats par rapport à un backend SAP R/3, c'est aussi possible en utilisant le connecteur Java (JCo) disponible à partir de http://service.sap.com/connectors