Sobes.tech
Junior

Testlərdə paralelləşdirmə nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Testlərdə paralelləşdirmə, müxtəlif test mühitlərində və ya cihazlarda eyni vaxtda bir neçə testin icrasıdır.

Hədəflər:

  • Test dəstinin icra müddətini qısaltmaq.
  • Test qabiliyyətini artırmaq.
  • Müxtəlif platformalar və konfiqurasiyaların əhatə olunmasını təmin etmək.

Tətbiq üsulları:

  • Testlər/senari səviyyəsində: Müstəqil test ssenarilərini eyni vaxtda başlatmaq.
  • Metodlar səviyyəsində: Eyni sinif daxilində fərdi metodları paralel işlətmək (hər zaman tətbiq edilmir).
  • Brauzer/cihaz səviyyəsində: Eyni testləri müxtəlif brauzerlərdə və ya cihazlarda eyni vaxtda icra etmək.

Prinsiplər:

  • Testlərin müstəqilliyi: Testlər ardıcıllıq və ya məlumatların vəziyyəti baxımından bir-birindən asılı olmamalıdır.
  • Resursların idarə olunması: Resursların (CPU, RAM, şəbəkə əlaqələri) səmərəli bölüşdürülməsi.
  • Senkronizasiya: Əgər lazım olsa, ümumi resurslara girişin idarə olunması.

Alətlər:

Alət növü Nümunələr
Çərçivələr TestNG (Java), pytest (Python), NUnit (.NET)
Şəbəkə mərkəzləri Selenium Grid
Bulud platformaları BrowserStack, Sauce Labs, LambdaTest

TestNG konfiqurasiya nümunəsi:

<suite name="MySuite" parallel="tests" thread-count="2">
  <test name="Test1">
    <classes>
      <class name="com.example.TestClass1"/>
    </classes>
  </test>
  <test name="Test2">
    <classes>
      <class name="com.example.TestClass2"/>
    </classes>
  </test>
</suite>

Çağırışlar:

  • Test məlumatlarının idarə olunması.
  • Fərqli axınlardan olan loglar və hesabatların idarə olunması.
  • Paralel işləyən testlərin debugging-i.
  • Test mühitinin stabilliyi.