Tester les performances de Quality Center avec Performance Center
Tester Quality Center peut s’avérer nécessaire dès lors que le nombre d’utilisateurs arrive à 400 ou 500 utilisateurs et que l’on constate des ralentissements. On décide donc d’explorer une autre solution qui consiste à passer en mode cluster de serveurs ALM QC.
HP a volontairement bloqué l’accès de Vugen pour enregistrer QC.
Il existe néanmoins une solution intégrée dans une offre que propose HP mais qui nécessite l’installation d’une nouvelle plate-forme QC avec les données et le script Vugen de HP (donc on ne teste pas avec ses propres données). La solution HP va permettre de vérifier un fonctionnement correcte dans le SI du Client mais sans les données clientes.
1 – Afin de réaliser un Test sur ses propres données, il est nécessaire de désactiver la sécurité d’ALM QC (Via fichier de configuration de JBoss) :
2 – Enregistrer QC avec jmeter :
L’enregistrement de QC avec Jmeter permet de récupérer le BodyData des appels TDAPI_GeneralWebTreatment et de construire nos appels dans Vugen.
3 – Créer un script Vugen Http/Html et créer des web_custom_request avec le BodyBinary issu du BodyData de jmeter. Le script est “viable” si l’ID de session QC est généré par QC. La sécurité doit-être désactivé car la valeur X-TD-ID ne peut pas être géré dynamiquement.
QCProd()
{
web_set_max_html_param_len(“100000”);
// Get Server Settings
web_add_header(“X-TD-ID”, “45C670A4C6094B81CB8EADDDFAC2923568F3931E309A282C49E5BA5914A5ED3D”);
web_custom_request(“TDAPI_GeneralWebTreatment”,
“URL=http://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/servlet/tdservlet/TDAPI_GeneralWebTreatment“,
“Method=POST”,
“RecContentType=text/html”,
“Snapshot=t4.inf”,
“Mode=HTML”,
“EncType=text/html; charset=UTF-8”,
“BodyBinary=”
“{\r\n”
“0: \\x5C0000001C\\x5C0:conststr:GetServerSettings,\r\n”
“1: \\x5C0000002F\\x5C0:conststr:93292400-BB13-4B36-8337-B99CDF8FBD75,\r\n”
“2: \”0:int:1\”,\r\n”
“3: \”0:int:-1\”,\r\n”
“4: \”0:conststr:\”,\r\n”
“5: \”0:int:-1\”,\r\n”
“6: \\x5C0000008B\\x5C0:conststr:{\r\n”
“SERVER:\\x5C0000004d\\x5Chttp://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/wcomsrv.dll,\r\n”
“client_machine:P0NTE295\r\n”
“}\r\n”
“,\r\n”
“7: \”65536:str:0\”\r\n”
“}\r\n”,
LAST);
web_reg_save_param_ex(
“ParamName=QC_Session_ID”,
“LB/IC=LOGIN_SESSION_ID:”,
“RB/IC=,\r\n”,
“Ordinal=1”,
SEARCH_FILTERS,
“Scope=Body”,
LAST);
// Login
web_add_header(“X-TD-ID”, “D1296A15382ED9B27ED84DD696154913FA0BD0DA0869C9F43C1721DC6CA25FF1”);
web_custom_request(“TDAPI_GeneralWebTreatment”,
“URL=http://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/servlet/tdservlet/TDAPI_GeneralWebTreatment“,
“Method=POST”,
“RecContentType=text/html”,
“Snapshot=t4.inf”,
“Mode=HTML”,
“EncType=text/html; charset=UTF-8”,
“BodyBinary=”
“{\r\n”
“0: \”0:conststr:Login\”,\r\n”
“1: \\x5C0000002F\\x5C0:conststr:947702AA-042F-4680-9FE2-368915AC8704,\r\n”
“2: \”0:int:2\”,\r\n”
“3: \”0:int:-1\”,\r\n”
“4: \”0:conststr:\”,\r\n”
“5: \”0:int:-1\”,\r\n”
“6: \\x5C000000EE\\x5C0:conststr:{\r\n”
“USER_NAME:s0089581,\r\n”
“PASSWORD:\\x5C0000002a\\x5CENRCRYPTED166!157!159!164!164!150!143!146!,\r\n”
“CLIENTTYPE:\\x5C0000002a\\x5CApplication Lifecycle Management Client UI,\r\n”
“RETRIEVE_ADDITIONAL_INFO:,\r\n”
“OTA_VERSION:11.52,\r\n”
“OTA_BUILD_NUMBER:514\r\n”
“}\r\n”
“,\r\n”
“7: \\x5C00000013\\x5C0:conststr:P0NTE295,\r\n”
“8: \”65536:str:0\”,\r\n”
“9: \”0:pint:0\”,\r\n”
“10: \”65536:str:0\”,\r\n”
“11: \”0:pint:0\”,\r\n”
“12: \”0:pint:0\”\r\n”
“}\r\n”,
LAST);
// Ping to server
web_add_header(“X-TD-ID”, “AA8C2D99907BC177F194AC46D82D64660F60192F1A1A3E5568EA5939E6CB635E”);
web_custom_request(“TDAPI_GeneralWebTreatment_2”,
“URL=http://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/servlet/tdservlet/TDAPI_GeneralWebTreatment“,
“Method=POST”,
“RecContentType=text/html”,
“Snapshot=t5.inf”,
“Mode=HTML”,
“EncType=text/html; charset=UTF-8”,
“BodyBinary={\r\n”
“0: \\x5C00000017\\x5C0:conststr:PingToServer,\r\n”
“1: \\x5C0000002F\\x5C0:conststr:4F0073D8-55DC-4420-B1C6-E03A8FDEEFCB,\r\n”
“2: \”0:int:0\”,\r\n”
“3: \”0:int:7590162\”,\r\n”
“4: \\x5C00000023\\x5C0:conststr:{QC_Session_ID},\r\n”
“5: \”0:int:-1\”,\r\n”
“6: \”0:int:0\”,\r\n”
“7: \”65536:str:0\”\r\n”
“}\r\n”,
LAST);
// Connect Projet
web_add_header(“X-TD-ID”, “9D5B176CDD3863CE6285048A10F3CA12A437E4D39EF9FD375C969B87F71671F4”);
web_custom_request(“TDAPI_GeneralWebTreatment_3”,
“URL=http://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/servlet/tdservlet/TDAPI_GeneralWebTreatment“,
“Method=POST”,
“RecContentType=text/html”,
“Snapshot=t6.inf”,
“Mode=HTML”,
“EncType=text/html; charset=UTF-8”,
“BodyBinary=”
“{\r\n”
“0: \\x5C00000019\\x5C0:conststr:ConnectProject,\r\n”
“1: \\x5C0000002F\\x5C0:conststr:C303542A-80B7-4FC3-95A1-28D56A68D5CE,\r\n”
“2: \”0:int:3\”,\r\n”
“3: \”0:int:7590162\”,\r\n”
“4: \\x5C00000023\\x5C0:conststr:{QC_Session_ID},\r\n”
“5: \”0:int:-1\”,\r\n”
“6: \\x5C00000037\\x5C0:conststr:{\r\n”
“DOMAIN_NAME:MYSYS,\r\n”
“PROJECT_NAME:OCD\r\n”
“}\r\n”
“,\r\n”
“7: \”65536:str:0\”,\r\n”
“8: \”0:pint:0\”\r\n”
“}\r\n”
LAST);
// Disconnect Project
web_add_header(“X-TD-ID”, “88DAF5052BA287AB657CDD9C9FB54BE8FBD0F77F5F703A34F852A5D70134C668”);
web_custom_request(“TDAPI_GeneralWebTreatment_3”,
“URL=http://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/servlet/tdservlet/TDAPI_GeneralWebTreatment“,
“Method=POST”,
“RecContentType=text/html”,
“Snapshot=t6.inf”,
“Mode=HTML”,
“EncType=text/html; charset=UTF-8”,
“BodyBinary=”
“{\r\n”
“0: \\x5C0000001C\\x5C0:conststr:DisconnectProject,\r\n”
“1: \\x5C0000002F\\x5C0:conststr:BA43AF06-E1D0-4D40-AC03-CF976048C561,\r\n”
“2: \”0:int:31\”,\r\n”
“3: \”0:int:7590162\”,\r\n”
“4: \\x5C00000023\0:conststr:{QC_Session_ID},\r\n”
“5: \”0:int:221385\”\r\n”
“}\r\n”
LAST);
// Logout
web_add_header(“X-TD-ID”, “79B1DE02D8D57C18C8B66C1080FC00871F041140C9523F57A4C654454D65C289”);
web_custom_request(“TDAPI_GeneralWebTreatment_3”,
“URL=http://service-itce-almqcutili.sigce.caisse-epargne.fr:8080/qcbin/servlet/tdservlet/TDAPI_GeneralWebTreatment“,
“Method=POST”,
“RecContentType=text/html”,
“Snapshot=t6.inf”,
“Mode=HTML”,
“EncType=text/html; charset=UTF-8”,
“BodyBinary=”
“{\r\n”
“0: \\x5C00000011\\x5C0:conststr:Logout,\r\n”
“1: \\x5C0000002F\\x5C0:conststr:83B23ACA-96CB-482F-997F-E4E4C27BEC17,\r\n”
“2: \”0:int:32\”,\r\n”
“3: \”0:int:7590162\”,\r\n”
“4: \\x5C00000023\0:conststr:{QC_Session_ID},\r\n”
“5: \”0:int:-1\”\r\n”
“}\r\n”
LAST);
return 0;
}
Consultant Testing Senior en poste chez Sogeti
Très bien, j’ai transmis cette solution à mon entreprise, mais elle a un autre problème et paramétrer le mot de passe. Je n’ai pas compris comment encoder / décoder.