Archive for mars, 2010

Speccy: configuration

mercredi, mars 31st, 2010

Pour certains types de test il peut être intéressant de connaître l’exacte configuration du PC sur lequel on effectue les tests:

Voici un utilitaire qui vous renseignera en un clin d’œil:

configpc.JPG

Des informations plus précises sont disponibles après sélection sur l’onglet de gauche.

Lien pour télécharger (Attention c’est une version beta) : à suivre.
Speccy

Software Testing Europe

mercredi, mars 31st, 2010

Un nouveau site dédié aux offres d’emploi dans le métier du test est né.  En bonus un IPAD à gagner si vous vous inscrivez dans les premiers !!!

Alors à vos CVs!
Software Testing Europe

Consigner vos résultat de tests automatiques avec TestLink

samedi, mars 27th, 2010

Testlink est un outil de gestion de test classique (Exigences-Plan de test-Exécution de test).  Il n’est pas possible de lancer les tests de façon mais on peut reporter les résultats de test de façon automatique grâce à une API qui permet de se connecter via RPC. Le client peut-être écrit dans le langage désiré.

Vous trouverez la description de l’interface à cette adresse:
TestlinkXMLRPCServer

La mise à jour se fait grâce à la fonction suivante en python:

result = client.reportTCResult(TestID, TestPlanID, « p »)

fonction définie de la façon suivante:

def reportTCResult(self, testcaseid, testplanid, status):
data = {« devKey »:self.devKey, « testcaseid »:testcaseid, « testplanid »:testplanid, »status »:status}
return self.server.tl.reportTCResult(data)

Correspondant à coté testlink:

mixed reportTCResult( struct $args, string $args["devKey"], int $args["testcaseid"], int $args["testplanid"], string $args["status"], int $args["buildid"], string $args["notes"], bool $args["guess"]  )

Parameters:

struct $args: 
string $args[« devKey »]: 
int $args[« testcaseid »]: 
int $args[« testplanid »]: 
string $args[« status »]:  – status is $validStatusList
int $args[« buildid »]:  – optional
string $args[« notes »]:  – optional
bool $args[« guess »]:  – optional definiing whether to guess optinal params or require them explicitly default is true (guess by default)

API Tags:

Return: [status] => true/false of success [id] => result id or error code [message] => optional message for error message string
Access: public

Premier paramètre DevKey: cette clef permet de s’authentifier dans testlink, chaque développeur ou testeur à sa clef qu’il peut générer grâce à un menu: generate DevKey que l’on trouve dans l’ongle personal(gestion de ses données personnelles).

devkey.JPG

Par défaut ce menu n’est pas présent. Il faut modifier la configuration du serveur testlink pour avoir ce menu.  Il faut modifier le fichier custom_config.inc.php (sous testlink) qui va surcharger les valeur par défaut du fichier config.inc.php:

$tlCfg->api->enabled  = TRUE;
2ème paramètre:  TesCaseId: il s’agit d’un identifiant interne du cas de test. Il est extrair grâce à la fonction python:

def getTestCaseIDByName (self, testcasename):
data = {« devKey »:self.devKey, « testcasename »:testcasename}
return self.server.tl.getTestCaseIDByName(data)

dont l’équivalent côté php est:

getTestCaseIDByName  [line 1540]

mixed getTestCaseIDByName( struct $args, string $args["devKey"], string $args["testcasename"], string $args["testsuitename"]  )

Find a test case by its name

Searching is case sensitive. The test case will only be returned if there is a definite match. If possible also pass the string for the test suite name. No results will be returned if there are test cases with the same name that match the criteria provided.

Parameters:

struct $args: 
string $args[« devKey »]: 
string $args[« testcasename »]: 
string $args[« testsuitename »]:  – optional

API Tags:

Access: public

Pour simplifier je n’ai pas pris en compte le paramètre testsuitename.

3ème paramètre: Le test plan Id soit l’identifiant interne du plan de test dont on peut récupérer la valeur grâce à la fonction suivante:

def getProjectTestPlans(self, testprojectid):
data = {« devKey »:self.devKey, « testprojectid »:testprojectid}
return self.server.tl.getProjectTestPlans(data)
qui correspond coté testlink à:

getProjectTestPlans  [line 1329]

mixed getProjectTestPlans( struct $args, string $args["devKey"], int $args["testprojectid"]  )

Gets a list of test plans within a project

Parameters:

struct $args: 
string $args[« devKey »]: 
int $args[« testprojectid »]: 

API Tags:

Access: public

4ème paramètre: le statut du test, içi il est à « p » comme passed.

les paramètres suivants sont optionnels, pour simplifier je ne les ai pas préciser, néanmoins il faut modifier le paramètre

const   BUILD_GUESS_DEFAULT_MODE=ON; (fichier xmlrpc.php)

qui signifie que par défaut on utilise  le dernier build par défaut.  Il peut y avoir plusieurs builds dans un même plan de test.

Des exemples plus complets existent pour le langage php sous \testlink\lib\api\sample_clients\php.