Distribuirea testelor

La munca mea conducem un grup de teste care constă în aproximativ 3.000 de cazuri de testare separate. Anterior am executat întreaga suită de testare pe o singură mașină, care a durat aproximativ 24-72 de ore pentru a finaliza întreaga încercare. Acum am creat propriul nostru sistem de grupare și distribuire a testelor între aproximativ trei mașini separate și testele sunt prioritizate pentru ca testele de bază să fie executate mai întâi pentru rezultate mai imediate, iar testele suplimentare se execută atunci când există o mașină disponibilă.

Sunt curios dacă cineva a găsit o modalitate bună de a-și distribui testele între mai multe mașini pentru a reduce timpul total de testare pentru o rulare completă și ce instrumente au fost utilizate pentru a realiza acest lucru. Am făcut unele cercetări și se pare că TestNG este se deplasează în această direcție , dar se pare că este încă în curs de dezvoltare destul de puțin.

Nu intenționăm să rescriem oricare dintre testele noastre, dar pe măsură ce adăugăm noi teste și încercăm noi produse sau add-on-uri, aș dori să pot face față faptului că lucrăm cu un număr foarte mare de teste. Pe de altă parte, dacă putem găsi un instrument care să ne ajute să distribuim testele Junit 3.x chiar într-un mod foarte simplu, ar fi Trebuie să ne menținem propriile instrumente pentru a face acest lucru.

0
fr hi bn

3 răspunsuri

Cei care ne construiesc folosesc Mozilla Tinderbox. Se pare că au niște cârlige pentru testarea distribuită. Îmi pare rău că nu știu detaliile, dar m-am gândit că cel puțin voi trece pointerul la tine.

Este, de asemenea, frumos coz puteți afla imediat atunci când o clădire pauze, și ce checkin ar fi putut fi vinovat.

http://www.mozilla.org/tinderbox.html

0
adăugat

Există, de asemenea, paralel-junit . În funcție de modul în care executați în prezent testele dvs., comoditatea poate varia - ideea este doar la multithread pe un singur sistem care are mai multe nuclee. Am jucat cu ea pe scurt, dar este o schimbare de la felul în care ne desfășurăm testele.

Hudson, the continuous integration engine I use, also has some ways to distribute test running (separate jobs aggregated results in one).

0
adăugat

Am văzut unii oameni care au jucat cu distribuit JUnit . Nu pot garanta în mod deosebit cât de eficient este, dar celelalte echipe pe care le-am văzut păreau să creadă că este suficient de bine. Sper că vă ajută.

0
adăugat