Maison > Article > développement back-end > Principes techniques de base de l'automatisation Python
Avant Il est mentionné dans l'article : La première capacité à faire de l'automatisation est de pouvoir voir l'essence à travers le phénomène Lorsqu'elle est mise en œuvre dans le travail informatique réel, il s'agit de voir les données à travers l'interface. .
Il n'est pas facile de maîtriser les compétences ci-dessus. Vous devez avoir une base solide en théorie informatique pour voir les choses profondes et essentielles.
Système d'application de base de données est probablement l'application réseau la plus typique, son L'architecture logicielle est la suivante :
est généralement divisée en 4 couches logiques :
UI de couche d'interface utilisateur
Fournit une interface homme-machine interactive pour les utilisateurs finaux
Couche de logique métier BLL
Résumer la base de données Les objets sont intégrés à des objets de logique métier spécifiques et les processus sont organisés
Données couche d'accès DAL
ORM pour la couche DB, permettant aux applications de couche supérieure de contrôler la base de données sous forme d'objets
La couche de persistance des données DB
stocke les données, conserve les données et partage les données avec différents clients
Dans l'architecture C/S traditionnelle, les applications (par exemple, les applications clientes sous Windows) sont généralement un serveur de Service base de données centrale (DB), puis correspondent à N clients (DAL-BLL-UI).
Pour les testeurs juniors, la compréhension du logiciel ne peut rester qu'au niveau UI, donc ce qui peut être fait pendant les tests est : répétez-le jour après jour. après jour, année après année, je clique petit à petit avec ma souris.
L'architecture de base du logiciel d'application évoquée dans la partie précédente, bien qu'elle soit en « C/S » Cela a été proposé à l'époque, mais cela a continué jusqu'à ce jour. Le "ABC/S" mode le plus courant à ce jour :
Application/Serveur
Navigateur/Serveur
Client/Serveur
En fait, essentiellement, la couche UI est placée côté client et la couche UI ci-dessous est placée côté serveur.
Les clients ont différentes formes d'expression sur différentes plates-formes, formant l'architecture modèle désormais populaire dite "ABC/S", qui est fondamentalement devenue l'Internet actuel. Le produit est livré en standard. L'architecture spécifique est la suivante :
Le protocole de communication de Http/Https est utilisé entre le serveur et le client. Le format d'échange de données est. Format Xml/Json.
Sur la base du modèle ci-dessus, la méthodologie de test des logiciels a subi quelques changements :
Avec la Rapport coût-efficacité la plus élevée "basée sur format d'encodage de communication" "Test d'interface" signifie que 20 % peuvent résoudre 80 % du travail
Les tests d'interface peuvent être entièrement automatisés et ne doivent pas être forcés pour utiliser la même interface que le projet de développement. Langage, vous pouvez utiliser un langage de script plus efficace
l'interface a naturellement besoin de stabilité, il y aura donc pas de lancement répété dans des projets de tests automatisés
Les testeurs d'interface sont devenus arbitres entre de nombreuses plateformes
Les spécifications d'interface proviennent de la conception documents et peut être mis en œuvre La conception génère des tests, et les tests pilotent le développement le modèle standard
Grâce à la possibilité d'abstraire les données, de nombreuses choses que vous voyez peuvent être converties en équivalents raisonnables :
Le fond de la page web est rouge
ce qui équivaut à : la couleur du fondAttribut de l'élément background est #FF0000
Le mot affiché sur le bouton est "Soumettre"
, ce qui équivaut à : la valeur de l'élément bouton est Soumettre
L'utilisateur a effectué une activité de recharge et a rechargé 20 yuans, et il y avait 20 yuans supplémentaires sur son compte
équivaut à : appeler l'interface de recharge avec 20 comme paramètre, puis comparer l'interface d'appel du compte pour interroger deux fois avant et après. valeur du paramètre de recharge
Il devient facile de faire des comparaisons au niveau des donnéesProgrammation, car ce sont des domaines que les ordinateurs sont bons à traiter, et l'automatisation est naturellement mis en œuvre.
J'ai parlé de la méthode d'abstraction des projets logiciels de l'interface spécifique que vous voyez vers la couche inférieure en données. En fait, il en existe des niveaux inférieurs et plus absolus. Les données logicielles peuvent être liées au monde physique à un niveau inférieur (cela n'est plus facile à décrire comme « abstrait » ou « concret »).
Le contenu de cette partie est un peu éloigné du sujet des tests de logiciels d'application. Il est purement destiné à la vulgarisation scientifique.
En regardant un système informatique dans une perspective plus large, l'expérience qu'il offre aux gens est essentiellement traitée comme suit :
Tout sur les gens L'expérience intuitive vient de l'expérience des grandeurs analogiques (quantités physiques) et la saisie interactive humaine proviennent également de la saisie de grandeurs analogiques.
Les gens appuient sur le clavier pour saisir du texte dans le système informatique. Le clavier transmet les courants d'impulsion générés par différentes positions clés dans le système informatique, puis convertit ces signaux de courant en signaux numériques via des puces et des pilotes. livre les chiffres. De cette manière, la personne complète la saisie des informations.
Le système informatique calcule, stocke, transmet, etc. ces données, et enfin illumine la matrice de points à différentes positions sur l'écran LCD pour former une sortie analogique optique, qui est transmise à l'œil humain. achève l'acquisition des informations.
L'exemple ci-dessus peut être simplifié comme suit : les grandeurs physiques mécaniques génèrent des grandeurs physiques électriques pour l'entrée, et après traitement par le système numérique informatique, les grandeurs physiques optiques sont sorties.
Pour les systèmes informatiques, les entrées et les sorties sont diverses :
Périphériques d'entrée
Divers capteurs peuvent être utilisés comme entrée principale, tels que le matériel intelligent actuellement en plein essor et le très en vogue Internet des objets.
Périphérique de sortie
En plus des écrans LCD optiques, il existe également des haut-parleurs acoustiques, des mécanismes de roues roulantes et des mécanismes de bras robotiques humanoïdes ambulants.
Ces éléments sont déjà des éléments très populaires dans l'industrie Internet.
Étant donné que les domaines de la technologie électronique et des communications détectent souvent des quantités physiques difficiles à quantifier à l'œil nu, le seuil de test sera très élevé. Cependant, divers instruments de test se sont assez bien développés, ainsi que le degré. d'automatisation est assez élevé. D'un autre côté, dans la couche supérieure des logiciels d'application de l'industrie informatique, les gens s'appuient trop sur les opérations manuelles et l'observation à l'œil nu, mais ignorent l'automatisation. En conséquence, l'industrie des tests a toujours eu un personnel de faible qualité et une faible force technique. C’est évidemment très grave, ce n’est pas conseillé, du moins c’est très incompatible avec les besoins actuels de l’industrie du génie logiciel.
Cet article superpose logiquement le logiciel d'application pour expliquer les tests automatisés du logiciel et les principes de base dans la seconde moitié de l'article. les tests automatisés des technologies électroniques impliquées dans le Matériel Intelligent actuellement populaire sont également brièvement abordés, dans l'espoir de donner un peu d'inspiration à ceux qui n'ont jamais automatisé les tests.
La série d'articles suivante mettra en œuvre ces théories à un niveau technique.
Pour résumer , pour ceux qui souhaitent se lancer dans cette industrie et se développer en profondeur, nous avons les conclusions et suggestions suivantes :
L'essence d'un logiciel n'est pas l'interface mais les données
Pour comprendre l'essence d'un logiciel, il faut avoir de bonnes bases informatiques
Les personnes engagées dans l'industrie Internet peuvent se familiariser avec linux et établir cette vision le logiciel est une donnée du monde le plus tôt possible
interface pour l'automatisation Les tests ont le ratio d'investissement et de retour le plus élevé (du point de vue des ingénieurs de Google)
Pour faire un bon travail dans les tests automatisés, vous devez avoir des capacités de développement de logiciels et des capacités de conception de systèmes
En écrivant ceci, permettez-moi enfin de dire "Amway" pendant un instant Linux, car comparé à Systèmes MacOS et Windows, Linux ne fait pas du bon travail en termes d'interface, mais il dispose d'une puissante interaction CLI et prend en charge des scripts puissants, ce qui est très utile pour réaliser l'automatisation.
(Inachevé, à suivre...)
Je continuerai à écrire des outils d'automatisation python et des applications de programmation à l'avenir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!