L’interopérabilité¶
Adaptateurs¶
- Les adaptateurs permettent de communiquer avec le système à tester ou piloter. La solution embarque plusieurs adaptateurs par défaut dans différents domaines:
- support de protocoles réseaux
- support de protocoles niveau application
- communication avec les bases de données
- interaction systèmes
- interaction avec les interfaces graphiques
- support de protocoles télécom
- Les adaptateurs ont deux modes d’utilisation:
- un mode direct: la communication se fait directement depuis le serveur de test vers le système à contrôler.
- un mode agent: la communication avec le système à contrôler se fait par l’intermédiaire d’un agent communiquant avec le serveur de test.
Note
Le mode Verbose
est activé par défaut sur tous les adapateurs. Ce mode peut être désactivé pour réduire le nombre d’évènements durant un test.
Note
Le mode Debug
n’est pas activé par défaut. Il peut être activé en cas de problème.
Note
Des exemples sont disponibles dans les échantillons de tests Samples/Tests_Adapters
Liste des adaptateurs disponibles par défaut:
Protocoles réseaux¶
Adaptateurs | Agents | Descriptions |
ARP | socket | Sniffer permettant d’envoyer et recevoir des packets ARP |
ICMP | socket | Sniffer permettant d’envoyer et recevoir des packets ICMP |
Ethernet | socket | Sniffer permettant d’envoyer et recevoir des frames Ethernet |
IP | socket | Sniffer permettant d’envoyer et recevoir des packets IPv4 |
Pinger | non supporté | Tests de vie de machines via ICMP, TCP ou une URL |
UDP/TCP | socket | Sniffer et client UDP et TCP |
NTP | socket | Client permetttant de requêter un serveur NTP |
DNS | non supporté | Client résolveur |
SNMP | socket | Réception d’alarmes SNMPv2 |
Protocoles réseaux applications¶
Adaptateurs | Agents | Descriptions |
HTTP | socket | Serveur et client avec le support TLS et proxy |
SOAP | socket | Client avec le support TLS et proxy |
REST | socket | Client avec le support TLS et proxy |
WebSocket | socket | Client websocket |
SoapUI | soapui | Client permettant d’exécuter des campagnes SoapUI |
Commandes systèmes¶
Adaptateurs | Agents | Descriptions |
Dig | Client dig | |
Curl | Client curl | |
Nmap | Client nmap | |
Ncat | Client ncat | |
Openssl | Client openssl |
Interfaces utilisateurs¶
Adaptateurs | Agents | Descriptions |
Adb | adb | Intégration avec la passerelle Android |
Selenium | selenium2-server ou selenium3-server | Intégration avec le projet Selenium |
Sikuli | sikulix-server | Intégration avec le projet SikuliX |
Bases de données¶
Adaptateurs | Agents | Descriptions |
Microsoft SQL | database | Communication avec une base de type Microsoft SQL |
MySQL | database | Communication avec une base de type MySQL/MariaDB |
PostgreSQL | database | Communication avec une base de type PostgreSQL |
Contrôles systèmes¶
Adaptateurs | Agents | Descriptions |
SSH/SFTP | ssh | Console SSH |
TELNET | socket | Client permettant d’envoyer et recevoir du texte |
FTP | ftp | Client avec support TLS |
System File | file | Permet l’interaction avec les fichiers systèmes Linux ou Windows |
System Win/Unix | command | Permet de contrôler les systèmes Linux et Windows (wmic) |
Cisco Catalyst | ssh | Client de configuration, basé sur l’adaptateur Telnet |
Protocoles Télécoms¶
Adaptateurs | Agents | Descriptions |
SMS Gateway | gateway-sms | Permet de recevoir ou d’envoyer des SMS en utilisant un smartphone Android |
SIP | socket | Téléphone SIP |
RTP | socket | Module permettant d’envoyer et recevoir des flux audios et vidéos |
Librairies¶
- Une librairie permet de mettre à disposition rapidement des fonctions pour
- supporter les méthodes de chiffrement de données
- supporter les formats de compression existants
- supporter les fonctions d’authentification
- manipuler les différents format de date, heure et unités
- supporter les codecs (XML, JSON, etc…)
- supporter les fonctions de hash de données
- Une librairie ne communique pas en direct avec le système à tester ou piloter. Elle est utilisée:
- directement depuis les tests
- depuis les adaptateurs.
Astuce
Si plusieurs adaptateurs ont besoin des mêmes fonctions, il est conseillé de les factoriser dans une librairie.
Liste des librairies disponibles par défauts:
Chiffrement¶
AES | Support chiffrement ou déchiffrement |
Blowfish | Support chiffrement ou déchiffrement |
OpenSSL | Permet d’exécuter la commande SSL |
RC4 | Support chiffrement ou déchiffrement |
XOR | Support chiffrement ou déchiffrement |
RSA | Générateur clé RSA |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/02_Ciphers
Codecs¶
Base64 | Encode ou décode au format base64 |
Excel | Lecture de fichier excel |
G711A | Encode ou décode le codec audio |
G711U | Encode ou décode le codec audio |
JSON | Encode ou décode du texte au format JSON |
XML | Encode ou décode du texte au format XML |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/03_Codecs
Compression¶
GZIP | Compression ou décompression au format GZIP |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/09_Compression
Hashing¶
Checksum | Générateur de checksum |
HMAC | Création d’un hash md5, sha1 et sha256 |
MD5 | Création d’un hash md5 |
SHA | Création d’un hash sha1, sha256 et sha512 |
CRC32 | Générateur de checksum |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/05_Hashing
Identifiant¶
SessionID | Générateur de session ID |
UUIDS | Générateur de UUID (Universally Unique IDentifier) |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/07_Identifiers
Média¶
ChartsJS | Générateur de graphique visible dans les rapports de test |
DialTones | Générateur de tonalité |
Image | Manipulation des images |
Noise | Générateur de bruit |
SDP | Décode ou encode des messages SDP |
WavContainer | Création de fichier audio de type WAV |
Waves | Générateur d’ondes simples |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/04_Media
Date¶
Today | Permet de récupérer la date du jour |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/11_Date
Sécurité¶
Basic | Décode ou encode l’autorisation |
Digest | Décode ou encode l’autorisation |
Hmac | Décode ou encode l’autorisation |
Oauth | Décode ou encode l’autorisation |
Wsse | Décode ou encode l’autorisation |
Certificate | Décode les certificats dans un format lisible |
JWT | Décode ou encode des tokens |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/01_Security
Temps¶
Timestamp | Permet de générer un timestamp ou de convertir en valeur lisible |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/06_Time
Unités¶
Bytes | Permet de convertir des bytes en valeur lisibles |
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Libraries/08_Units
Outils tiers¶
Le produit vient à la base avec un certain nombre de plugins pour s’interfacer avec d’autre d’outils existants (suivi de défauts, managements de tests, etc..).
Ces plugins peuvent être utilisés directement depuis un test.
Liste des outils supportés:
Git | Clone/commit de fichier sur un dépôt distant |
Jira | Création de ticket |
HP ALM QC | Exécution de test, création de ticket. Version 12 minimum |
ExtensiveAutomation | Exécution de test, création de variable |
Jenkins | Exécution de tests avant ou après un build |
VSphere | Création ou supression de machine virtuelle sur VMware |
Note
- La solution dispose d’une API REST, elle peut être pilotée aussi par ces outils.
- Plugin
Jenkins
: https://wiki.jenkins.io/display/JENKINS/ExtensiveTesting+Plugin
- Plugin
HP ALM¶
Ce plugin permet d’exporter des résultats de tests dans l’outil HP ALM. Il peut etre utilisé depuis un etst pour exporter des résultats sans intervention utilisateur.
Exemple d’utilisation:
HP ALM ------> Appel REST API -----> ET
^ |
| v
| Exécution du test demandé
| v
+<-------- Push du résultat ---------+
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Interop/02_HP_QC
Jenkins¶
Ce plugin permet de lancer un build depuis la solution Extensive.
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Interop/06_Jenkins
VSphere¶
- Ce plugin permet de piloter un environnement virtuel VMware. Il peut être utilisé pour:
- créer des machines virtuelles en mode automatiquement
- supprimer des machines
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Interop/05_VSphere
ExtensiveTesting¶
Ce plugin permet de faire un lien entre plusieurs environnement (dev, intégration, qualification) en permettant d’exécuter des tests d’un environnement à l’autre.
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Interop/03_ExtensiveTesting
Jira¶
Ce plugin permet de créer des tickets suite à l’exécution d’un test dans l’outil Jira.
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Interop/01_Jira
Git¶
Ce plugin permet de récupérer ou pousser des fichiers depuis un dépôt de sources. Il peut être utilisé en prérequis d’un test.
Note
Un exemple est disponible dans les échantillons de tests /Samples/Tests_Interop/04_Git
Agents¶
- Les agents sont disponibles depuis la boîte à outils. Il sont à utiliser conjointement avec les adaptateurs
- pour communiquer avec le système à tester ou piloter lorsque qu’il n’est pas accessible en direct par le serveur de test (ex: une page web)
- exécuter un test sur plusieurs environnements différents.
Note
L’agent dummy
est à utiliser comme base pour le développement d’un nouvel agent.
Protocoles réseaux¶
socket | Permet de démarrer des sockets TCP/UDP |
ftp | Permet de se connecter sur un serveur FTP(S) |
database | Permet de requêter les bases de données (MySQL, Microsoft SQL et PostgreSQL) |
ssh | Permet de se connecter sur des machines via SSH ou SFTP |
Systèmes¶
command | Permet d’exécuter des commandes systèmes sur Windows ou Linux |
file | Permet de récupérer des fichiers sur les systèmes Windows ou Linux |
Outils tiers¶
sikulix-server | Intéractions avec les applications lourdes |
selenium3-server | Permet de piloter les navigateurs web dernières générations |
selenium2-server | Permet de piloter les navigateurs web |
soapui | Permet d’exécuter des tests SoapUI |
adb | Permet de piloter les smartphones Android |
gateway-sms | Permet d’envoyer ou recevoir des SMS |
Note
L’utilisation de l’agent Selenium3-Server
nécessiste au minimum d’avoir Java 8
sur le poste.
Sondes¶
Les sondes sont disponibles dans la boîte à outils. Le but principal est de récupérer automatiquement des logs (trace réseaux, fichiers) durant l’exécution d’un test.
textual | Permet de faire suivre des fichiers de logs sur Windows ou Linux (tailf) |
network | Prise de traces réseaux, sonde basée sur tcpdump sur linux, ou tshark sur Windows |
file | Récupération de fichiers de configuration sur Windows ou Linux |
L’utilisation d’une sonde dans un test est à définir dans les propriétés.
Note
L’agent dummy
est à utiliser comme base pour le développement d’un nouvel agent.