Testin əsas problemi

Giriş

Axşamınız xeyir, Xabrovsk sakinləri. İndi mən bir fintech şirkəti üçün QA Aparıcı vakansiya üçün test tapşırığını həll edirdim. Elektrik çaydanını sınamaq üçün tam yoxlama siyahısı və sınaq nümunələri ilə bir sınaq planı yaratmaq üçün birinci vəzifə əhəmiyyətsiz şəkildə həll edilə bilər:

Ancaq ikinci hissə bir sual oldu: "Bütün test edənlər üçün ümumi olan, onların daha səmərəli işləməsinə mane olan hər hansı bir problem varmı?"

Ağlıma gələn ilk şey, sınaq zamanı rastlaşdığım az-çox nəzərə çarpan problemləri sadalamaq, xırda şeyləri silmək və qalanlarını ümumiləşdirmək idi. Ancaq tez başa düşdüm ki, induktiv metod "hamısına" aid olmayan bir suala cavab verəcək, lakin ən yaxşı halda yalnız test edənlərin "əksəriyyətinə" aiddir. Ona görə də mən buna digər tərəfdən, deduktiv yanaşmaq qərarına gəldim və belə oldu.

Anlayışlar

Yeni problemi həll edərkən ilk etdiyim şey onun nə olduğunu anlamağa çalışmaqdır və bunu etmək üçün onu yaradan sözlərin mənasını anlamalıyam. Anlamaq üçün əsas sözlər aşağıdakılardır:

  • problem
  • tester
  • sınaqçı işi
  • test cihazının səmərəliliyi

Gəlin Vikipediyaya və sağlam düşüncəyə müraciət edək:
Problem (qədim yunanca πρόβλημα) geniş mənada - öyrənilməsi və həlli tələb olunan mürəkkəb nəzəri və ya praktiki məsələ; elmdə - hər hansı bir hadisənin, obyektin, proseslərin izahında əks mövqelər şəklində ortaya çıxan və onun həlli üçün adekvat nəzəriyyə tələb edən ziddiyyətli vəziyyət; həyatda problem insanlar üçün başa düşülən formada tərtib olunur: “Mən nəyi bilirəm, necə bilmirəm”, yəni nəyi əldə etmək lazım olduğu bilinir, amma bunu necə etmək məlum deyil. . Gecdən gəlir. lat. problem, yunan dilindən. πρόβλημα “irəli atılmış, önə qoyulmuş”; προβάλλω-dən “irəli at, qarşına qoy; günahlandırmaq".

Bunun çox mənası yoxdur, əslində "problem" = "həll edilməli olan hər şey".
Tester - nəticəsi olan bir komponentin və ya sistemin sınaqdan keçirilməsində iştirak edən mütəxəssis (biz növlərə bölünməyəcəyik, çünki bütün sınaqçılarla maraqlanırıq):
Tester işi — sınaqla bağlı fəaliyyətlər toplusu.
Səmərəlilik (lat. effectivus) - əldə edilmiş nəticə ilə istifadə olunan resurslar arasında əlaqə (ISO 9000: 2015).
Nəticə - keyfiyyətcə və ya kəmiyyətcə ifadə olunan hərəkətlər (nəticələr) və ya hadisələr zəncirinin (seriyasının) nəticəsi. Mümkün nəticələrə üstünlük, çatışmazlıq, qazanc, itki, dəyər və qələbə daxildir.
"Problem"də olduğu kimi, çox az məna var: iş nəticəsində ortaya çıxan bir şey.
vəsait - şəxsin və ya insanların hər hansı fəaliyyətini həyata keçirməyin kəmiyyətcə ölçülə bilən imkanı; İstənilən nəticəni əldə etmək üçün müəyyən çevrilmələrdən istifadə etməyə imkan verən şərtlər. Test edən şəxsdir və həyati resurslar nəzəriyyəsinə uyğun olaraq hər bir şəxs dörd iqtisadi aktivin sahibidir:
pul (gəlir) bərpa olunan resursdur;
enerji (həyat qüvvəsi) qismən bərpa olunan resursdur;
vaxt sabit və əsas etibarilə bərpa olunmayan bir mənbədir;
bilik (informasiya) bərpa olunan resursdur, insan kapitalının inkişaf edə və məhv ola bilən bir hissəsidir.[1].

Qeyd etmək istərdim ki, bizim vəziyyətimizdə səmərəliliyin tərifi tamamilə düzgün deyil, çünki biz nə qədər çox bilik istifadə etsək, səmərəlilik bir o qədər aşağı olur. Buna görə də mən səmərəliliyi “əldə edilən nəticələrlə xərclənən resurslar arasındakı nisbət” kimi yenidən təyin edərdim. Sonra hər şey düzgündür: iş zamanı bilik boşa getmir, lakin sınaqçının yeganə əsaslı bərpa olunmayan resursunun - vaxtının xərclərini azaldır.

qərar

Beləliklə, biz testerlərin işinin effektivliyinə xələl gətirən qlobal problemləri axtarırıq.
Bir sınaqçının işinə sərf olunan ən əhəmiyyətli resurs onun vaxtıdır (qalanı bu və ya digər şəkildə azaltmaq olar) və səmərəliliyin düzgün hesablanması haqqında danışmaq üçün nəticəni də vaxta azaltmaq lazımdır. .
Bunu etmək üçün, sınaqçının öz işi ilə həyat qabiliyyətini təmin etdiyi bir sistemi nəzərdən keçirin. Belə bir sistem, komandasına bir testerin daxil olduğu bir layihədir. Layihənin həyat dövrü təxminən aşağıdakı alqoritmlə təmsil oluna bilər:

  1. Tələblərlə işləmək
  2. Texniki şərtlərin formalaşdırılması
  3. İnkişaf
  4. Test
  5. İstehsalata buraxılması
  6. Dəstək (1-ci elementə keçin)

Bu halda, bütün layihə rekursiv olaraq eyni həyat dövrü ilə alt layihələrə (xüsusiyyətlərə) bölünə bilər.
Layihə nöqteyi-nəzərindən ona nə qədər az vaxt sərf olunursa, onun həyata keçirilməsi bir o qədər səmərəli olur.
Beləliklə, layihə nöqteyi-nəzərindən bir test cihazının mümkün olan maksimum səmərəliliyinin tərifinə gəlirik - bu, sınaq müddəti sıfır olduqda layihənin vəziyyətidir. Bütün testçilər üçün ümumi problem bu vaxta nail ola bilməməkdir.

Bununla necə məşğul olmaq olar?

Nəticələr olduqca açıqdır və çoxları tərəfindən uzun müddət istifadə edilmişdir:

  1. İnkişaf və sınaq demək olar ki, eyni vaxtda başlamalı və bitməlidir (bu, adətən şöbə tərəfindən həyata keçirilir QA). İdeal seçim odur ki, işlənib hazırlanan bütün funksionallıq hazır olana qədər artıq avtotestlərlə əhatə olunsun, hansısa növdən istifadə etməklə reqressiya (və mümkünsə, qabaqcadan qəbul) sınağına çevrilsin. CI.
  2. Layihənin xüsusiyyətləri nə qədər çox olarsa (o qədər mürəkkəbdir), yeni funksionallığın köhnəni pozmadığını yoxlamaq üçün bir o qədər çox vaxt sərf edilməlidir. Beləliklə, layihə nə qədər mürəkkəb olsa, bir o qədər avtomatlaşdırma tələb olunur reqressiya testi.
  3. İstehsalda hər dəfə bir səhvi qaçırdığımızda və istifadəçi onu tapdıqda, 1-ci bənddən başlayaraq layihənin həyat dövrünə əlavə vaxt sərf etməliyik (Tələblərlə işləmək, bu halda istifadəçilər). Bir səhvi itirmənin səbəbləri ümumiyyətlə məlum olmadığı üçün bizə yalnız bir optimallaşdırma yolu qalır - istifadəçilər tərəfindən tapılan hər bir səhv onun bir daha görünməyəcəyinə əmin olmaq üçün reqressiya testinə daxil edilməlidir.

Mənbə: www.habr.com

Добавить комментарий