Fundamentele toetsprobleem

Inleiding

Goeiemiddag, Khabroviete. Ek het sopas hier 'n toetstaak opgelos vir 'n QA Lead-vakature vir 'n fintech-maatskappy. Die eerste taak, om 'n toetsplan met 'n volledige kontrolelys en voorbeelde van toetsgevalle vir die toets van 'n elektriese ketel te skep, word onbenullig opgelos:

Maar die tweede deel blyk 'n vraag te wees: "Is daar enige probleme wat gemeen is met alle toetsers wat hulle verhoed om doeltreffender te werk?".

Die eerste ding wat by my opgekom het, was om al die min of meer opvallende probleme wat ek tydens die toetsing ondervind het, te lys, klein goedjies uit te wis en die res op te som. Maar ek het vinnig besef dat die induktiewe metode 'n vraag sou beantwoord wat nie op "almal" van toepassing is nie, maar op sy beste net vir "meeste" toetsers. Daarom het ek besluit om van die ander kant af te benader, deduktief, en dit is wat gebeur het.

definieer

Die eerste ding wat ek gewoonlik doen wanneer ek 'n nuwe probleem oplos, is om te probeer verstaan ​​waaroor dit gaan, en hiervoor moet ek die betekenis verstaan ​​van die woorde waarmee dit gestel word. Die sleutelwoorde om te verstaan ​​is:

  • die probleem
  • toetser
  • toetser werk
  • toetser prestasie

Kom ons draai na Wikipedia en gesonde verstand:
Probleem (antieke Grieks πρόβλημα) in 'n breë sin - 'n komplekse teoretiese of praktiese kwessie wat studie, oplossing verg; in die wetenskap - 'n teenstrydige situasie, wat in die vorm van teenoorgestelde posisies optree in die verduideliking van enige verskynsels, voorwerpe, prosesse en wat 'n toereikende teorie vereis om dit op te los; in die lewe word die probleem op 'n manier geformuleer dat mense verstaan: "Ek weet wat, ek weet nie hoe nie", dit wil sê ons weet wat verkry moet word, maar dit is nie bekend hoe om dit te doen nie. Kom van laat af. lat. problēma, uit Grieks. πρόβλημα "vooroor gegooi, voor geplaas"; uit προβάλλω “gooi vorentoe, sit voor jou; blameer".

Daar is nie veel sin nie, in werklikheid, "probleem" = "enigiets wat hanteer moet word nie".
Toetser - 'n spesialis (ons sal nie in tipes verdeel nie, aangesien ons in alle toetsers belangstel), wat deelneem aan die toets van 'n komponent of stelsel, waarvan die resultaat is:
Toetser werk - 'n stel aktiwiteite wat met toetsing verband hou.
Doeltreffendheid (lat. effectivus) - die verhouding tussen die resultaat wat behaal is en die hulpbronne wat gebruik word (ISO 9000: 2015).
Resultaat - 'n gevolg van 'n ketting (volgorde) van handelinge (uitkoms) of gebeure wat kwalitatief of kwantitatief uitgedruk word. Moontlike uitkomste sluit in voordeel, ongerief, wins, verlies, waarde en oorwinning.
Soos met die "probleem", is daar min sin: iets wat uitgekom het as gevolg van die werk.
hulpbron - die kwantitatief meetbare vermoë om enige aktiwiteit van 'n persoon of mense uit te voer; toestande wat dit moontlik maak om, met behulp van sekere transformasies, die gewenste resultaat te verkry. Die toetser is 'n persoon, en in ooreenstemming met die teorie van lewensbelangrike hulpbronne, is elke persoon die eienaar van vier ekonomiese bates:
kontant (inkomste) is 'n hernubare hulpbron;
energie (lewenskrag) - 'n gedeeltelik hernubare hulpbron;
tyd is 'n vaste en fundamenteel nie-hernubare hulpbron;
kennis (inligting) is 'n hernubare hulpbron, dit is 'n deel van menslike kapitaal wat beide kan groei en in duie stort[1].

Ek wil daarop let dat die definisie van doeltreffendheid in ons geval nie heeltemal korrek is nie, aangesien hoe meer kennis ons gebruik, hoe laer is die doeltreffendheid. Daarom sou ek doeltreffendheid herdefinieer as "die verhouding tussen die resultaat wat behaal is en die hulpbronne wat bestee is." Dan is alles reg: kennis word nie tydens werk vermors nie, maar dit verminder die koste van die enigste fundamenteel nie-hernubare hulpbron van die toetser - sy tyd.

besluit

Dus, ons is op soek na wêreldwye probleme van toetsers wat die doeltreffendheid van hul werk vererger.
Die belangrikste hulpbron wat aan die werk van 'n toetser bestee word, is sy tyd (die res kan op een of ander manier daartoe gebring word), en om oor die korrekte berekening van doeltreffendheid te praat, moet ons ook die resultaat bring tot tyd.
Om dit te doen, oorweeg 'n stelsel waarvan die lewensvatbaarheid deur die toetser met sy werk verseker word. So 'n stelsel is 'n projek waarvan die span 'n toetser insluit. Die lewensiklus van 'n projek kan rofweg deur die volgende algoritme voorgestel word:

  1. Werk met Vereistes
  2. Vorming van opdragte
  3. ontwerp
  4. toets
  5. Vrystelling na produksie
  6. Ondersteuning (gaan na bl.1)

In hierdie geval kan die hele projek rekursief verdeel word in subprojekte (kenmerke), met dieselfde lewensiklus.
Uit die oogpunt van die projek is die doeltreffendheid van die implementering daarvan groter, hoe minder tyd daaraan bestee word.
So kom ons by die definisie van die maksimum moontlike doeltreffendheid van die toetser vanuit die oogpunt van die projek - dit is die toestand van die projek wanneer die tyd vir toetsing nul is. 'n Algemene probleem vir alle toetsers is die onmoontlikheid om hierdie tyd te bereik.

Hoe om dit te hanteer?

Die gevolgtrekkings is redelik voor die hand liggend en word al lank deur baie gebruik:

  1. Ontwikkeling en toetsing moet byna op dieselfde tyd begin en eindig (dit word gewoonlik gedoen deur die QA). Die ideale opsie is wanneer al die funksionaliteit wat ontwikkel word, reeds deur outotoetse gedek word teen die tyd dat dit gereed is, georganiseer in regressie- (en, indien moontlik, vooraf-toewyding) toetse met behulp van sommige CI.
  2. Hoe meer kenmerke in die projek is (hoe meer kompleks dit is), hoe meer tyd sal daaraan bestee moet word om te kontroleer dat die nuwe funksionaliteit nie die oue breek nie. Dus, hoe meer kompleks die projek is, hoe meer outomatisering word vereis. regressietoetsing.
  3. Elke keer as ons 'n fout in produksie vrystel en die gebruiker dit vind, moet ons ekstra tyd spandeer om deur die projeklewensiklus te gaan vanaf punt 1 (Werk met vereistes, in hierdie geval gebruikers). Aangesien die redes om 'n fout oor te slaan oor die algemeen onbekend is, het ons net een optimaliseringspad oor - elke fout wat deur gebruikers gevind word, moet by regressietoetsing ingesluit word om seker te maak dat dit nie weer verskyn nie.

Bron: will.com

Voeg 'n opmerking