Comment faire le test d'interface, lisez cet article en 5 minutes pour bien le comprendre

0 1. Structure générale du projet

02. Qu'est-ce qu'une interface

Interface : une méthode d'accès unifiée fournie par le programme serveur au monde extérieur, utilisant généralement le protocole HTTP pour exécuter différentes logiques métier via différentes URL, différents types de requêtes (GET, POST) et différents paramètres.

La plupart des opérations commerciales du client doivent appeler l'interface du serveur pour obtenir des données ou déclencher des activités, puis le client effectuera un traitement et un affichage différents en fonction du contenu des données après avoir reçu les données renvoyées par l'interface.

03. Pourquoi faire des tests d'interface

A. Dans l'entreprise, le client et le serveur sont généralement développés par des équipes différentes. Au cours du processus de développement du projet, la progression du développement du client et du serveur est incohérente. Par exemple, le développement du serveur est terminé en premier. Interface de conduite testez pour vous assurer que la logique du serveur et les données de retour sont correctes, puis testez le client. Ou certains départements de test se spécialisent dans le test de l'équipe de développement côté serveur, leur objet de test est donc l'interface.

B. Lorsque vous testez certains services, vous ne pouvez pas simplement tester via le frontal, comme l'enregistrement de l'utilisateur. Le frontal empêche le nom d'utilisateur d'être vide, mais certaines personnes peuvent utiliser des outils pour contourner le frontal et appeler directement le serveur. Si le serveur ne fait rien, les jugements logiques entraîneront des erreurs de données. Y compris s'il faut chiffrer les informations de clé lors de la transmission des données d'interface. Par conséquent, il doit être testé séparément pour l'interface serveur .

C. Après le développement et les tests, vous pouvez d'abord exécuter le test d'interface du serveur via l'outil pour vous assurer que les cas de test d'interface sont tous réussis et juger rapidement si l'interface du serveur répond aux attentes. Testez-le ensuite via l'interface utilisateur. Sinon, s'il y a des bogues dans l'interface, il doit y avoir des bogues dans la page d'accueil.

0 4. Outils et processus de test d'interface

Les outils de test d'interface HTTP courants incluent Jmeter, Postman, SoupUI, etc. Jmeter est largement utilisé dans les entreprises.

Jmeter est un outil de test d'interface open source et gratuit , qui peut tester la fonction et les performances de l'interface. L'automatisation des interfaces est également possible.

Pour l'utilisation spécifique de Jmeter, merci de vous référer au document "Jmeter Interface Tool Combat"

Processus de test d'interface :

Comme les tests Web ordinaires, l'analyse des exigences, la rédaction des cas de test, l'exécution des tests, la soumission des bogues, les tests de régression et la soumission des rapports de test sont également effectués en premier.

0 5. L'objectif des tests d'interface

1. Entrée

L'entrée fait principalement référence aux paramètres d'entrée de l'interface. Dans nos tests habituels, nous allons d'abord considérer les paramètres d'entrée normaux et les paramètres d'entrée anormaux. Les conditions anormales comprennent : les exceptions de paramètres et les exceptions de données. La conception de cas d'utilisation est principalement utilisée pour Partitionnement des classes et analyse des valeurs limites

  • entrée normale

    Les paramètres d'entrée normaux sont faciles à comprendre, c'est-à-dire selon les normes de paramètres d'entrée du document de conception d'interface, les paramètres normaux d'entrée et la réponse revient normalement selon les conditions convenues du document de conception d'interface

  • Exception de paramètre

    Les exceptions de paramètre incluent : paramètres vides, plus ou moins de paramètres, paramètres erronés

  • exception de données

    Exception de données : erreur de type de données, paramètre non nul vide, longueur non conforme à la conception, données hors plage, membres illégaux, caractères spéciaux ou caractères sensibles, données de paramètre anormales avec relations associées, etc.

2. Logique métier

Comme les tests fonctionnels basés sur l'interface utilisateur, les tests d'interface doivent également comprendre la logique métier derrière l'interface.Pour la logique de traitement du processus métier, nous pouvons l'envisager sous différentes dimensions telles que les contraintes des paramètres d'entrée, les objets d'opération des événements, et la transition d'état de l'entreprise.

  • Analyse des contraintes

    ①  Restrictions numériques : dictionnaires, notes, restrictions liées à l'industrie, restrictions de montant, restrictions de score, etc.

    ②Restrictions de statut  : valide|invalide, en ligne|hors ligne, sur liste noire|blanchi à la chaux, etc.

    ③  Restriction de relation : existence ou non-existence, contraignant ou non contraignant, etc.

    ④Limitation  des autorisations : administrateurs, utilisateurs ordinaires, etc.

  • analyse d'objet

    L'analyse d'objets consiste principalement à opérer sur des objets légaux et illégaux. Par exemple, un utilisateur de carte bancaire recharge sa carte, il peut y avoir : l'utilisateur A recharge avec une autre carte que l'utilisateur A ; l'utilisateur A recharge avec sa propre carte, et la carte a expirée ; l'utilisateur A utilise sa propre carte pour recharger, et la carte est mise sur liste noire ou déclarée perdue.

  • Analyse des transitions d'état

    Par exemple, dans le secteur des paiements, si le paiement est réussi en premier, le remboursement sera effectué après l'annulation de la commande. Si le paiement échoue à nouveau, cela signifie que le paiement a échoué. Contrôlable, qu'il y ait un état anormal, comment gérer les affaires publiques vides, etc.

  • analyse temporelle

    Dans certaines activités complexes, une activité est exécutée par une série d'actions dans un ordre spécifié. Ces actions forment un flux d'actions, qui doivent être exécutées dans l'ordre afin d'attendre le résultat attendu. Ensuite, d'autres actions de branche qui se produisent pendant l'exécution processus Que fera le programme ?

3. Sortie

Lors de l'examen des exceptions, nous pensons généralement aux situations normales et aux situations non valides, mais elles peuvent ne pas couvrir tous les codes d'erreur, et les codes d'erreur renvoyés par la définition d'interface peuvent nous aider à compléter cette partie des cas d'utilisation, tels que les exceptions réseau, les règles non valides , Paramètres invalides, ID d'entreprise invalide, tâche invalide, exception de serveur, etc., ajoutez la valeur de errorcode pour concevoir plus de cas d'utilisation

Ce type de cas d'utilisation de conception basé sur la sortie peut déterminer si les résultats de sortie frontaux et principaux sont normaux, si l'invite est conviviale, s'il y a des informations sensibles dans l'invite, etc.

4. Fonctionnement de la base de données

  • Si le stockage des données commerciales est normal, s'il y a un stockage de données en double et s'il y a des caractères brouillés

  • Si la mise à jour des données est normale, en particulier le champ de l'heure, si l'heure est au format 24 heures

  • Si chaque champ du tableau répond aux attentes

5. Sécurité

Si les informations sensibles sont cryptées (telles que le nom d'utilisateur, le numéro de compte bancaire, le mot de passe, le montant du transfert)

6. Performances

  • Quel est le nombre maximum de simultanéité pris en charge par l'interface ?

  • Combien de fois l'interface peut gérer les transactions par seconde (TPS)

  • Le temps de réponse moyen (RT) de l'interface

  • Consommation des ressources serveur par les interfaces (CPU, mémoire, réseau, disque)

7. Compatibilité

Les tests d'interface n'ont pas besoin de prendre en compte la compatibilité client, principalement la compatibilité des données . Par exemple, si les données historiques de l'ancienne interface sont compatibles et si les anciennes données peuvent être traitées normalement avec la nouvelle interface.

8. Autres

  • Idempotence : Cela signifie que les résultats d'une ou de plusieurs requêtes initiées par l'utilisateur pour la même opération sont cohérents et qu'il n'y aura pas d'effets secondaires dus à plusieurs clics.

Prenons l'exemple le plus simple :

C'est le paiement . L'utilisateur paie après avoir acheté le produit et la déduction du paiement est réussie, mais lorsque le résultat est renvoyé, le réseau est anormal. À ce moment, l'argent a été déduit. Lorsque l'utilisateur clique à nouveau sur le bouton, le le système doit refuser de payer à ce moment-là et afficher le message "Impossible de payer à plusieurs reprises". Cela équivaut à ce que le deuxième paiement n'aura aucun effet. Lors des tests d'interface, pour certaines interfaces avec des exigences d'idempotence, il est nécessaire de tester l'idempotence.

Habituellement, Jmeter peut être utilisé pour appeler en continu l'interface deux fois pour effectuer des opérations telles que le paiement et la soumission pour tester l'idempotence.

FIN de l'arrangement d'étude !

Enfin, je voudrais remercier tous ceux qui ont lu attentivement mon article. En voyant la croissance et l'attention des fans tout au long du chemin, il y a toujours un besoin de réciprocité. Bien que ce ne soit pas une chose très précieuse, si vous pouvez l'utiliser, vous peut le prendre directement.

Ces matériaux devraient être l'entrepôt de préparation le plus complet et le plus complet pour les amis qui font [des tests de logiciels]. Cet entrepôt m'a également accompagné tout au long du voyage le plus difficile, et j'espère qu'il pourra vous aider aussi !

Enfin : Vous pouvez obtenir gratuitement un document de collecte d'entretiens avec un ingénieur de test logiciel de 216 pages sur mon compte public VX : [Programmeur Xiaohao] . Et les didacticiels d'apprentissage vidéo correspondants sont gratuits à partager ! , qui comprend les connaissances de base, les bases de Linux, Shell, les principes du programme Internet, la base de données Mysql, les rubriques sur les outils de capture de paquets, les outils de test d'interface, les tests avancés-programmation Python, les tests automatisés Web, les tests automatisés APP, les tests automatisés d'interface, les tests d'intégration continue avancée, développement de framework de test framework de test, tests de performance, tests de sécurité, etc. Vous pouvez également interagir avec moi

Je suppose que tu aimes

Origine blog.csdn.net/myh919/article/details/131424958
conseillé
Classement