440 likes | 724 Views
Program ų sistemų testavimas. Aist ė Stikliūtė aiste.stikliute @ mif.vu.lt http://web.vu.lt/mif/a.stikliute/ +370 604 17281 VU MIF Programų sistemų katedra. Testavimo komanda. Už ką atsakinga Rolės ir jų savybės Galimos organizacinės struktūros Testavimo komandos formavimas
E N D
Programų sistemų testavimas Aistė Stikliūtė aiste.stikliute@mif.vu.lt http://web.vu.lt/mif/a.stikliute/ +370 604 17281 VU MIF Programų sistemų katedra
Testavimo komanda • Už ką atsakinga • Rolės ir jų savybės • Galimos organizacinės struktūros • Testavimo komandos formavimas • Testuotojo efektyvumo matavimas • Testuotojo karjeros galimybės • Sertifikavimosi galimybės
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus, • testavimo sekimą (užduotys, grafikai, kainos),
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus, • testavimo sekimą (užduotys, grafikai, kainos), • defektų sekimą,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus, • testavimo sekimą (užduotys, grafikai, kainos), • defektų sekimą, • testavimo įrangos ir įrankių įsigyjimą,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus, • testavimo sekimą (užduotys, grafikai, kainos), • defektų sekimą, • testavimo įrangos ir įrankių įsigyjimą, • naujų testavimo metodų taikymą,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus, • testavimo sekimą (užduotys, grafikai, kainos), • defektų sekimą, • testavimo įrangos ir įrankių įsigyjimą, • naujų testavimo metodų taikymą, • naujų (testavimo) darbuotojų apmokymus,
Už ką atsakinga testavimo komanda? • Už testavimo nuostatas, • testavimo standartus, • dalyvavimą sudarant reikalavimus,projektuojant, peržiūrint kodą, • testų planavimą, kūrimą, vykdymą, • testų matavimus, • testavimo sekimą (užduotys, grafikai, kainos), • defektų sekimą, • testavimo įrangos ir įrankių įsigyjimą, • naujų testavimo metodų taikymą, • naujų (testavimo) darbuotojų apmokymus, • testavimo rezultatų pateikimą.
Rolės testavimo komandoje • Testavimo komandos rolės: • testavimo vadovas (0 .. 1) • vyr. testuotojai (0 .. N) • testuotojai (1 .. N) • jaunesnieji testuotojai (0.. N)
Rolės testavimo komandoje • Rolė – veiklų, priskirtų žmogui vykdyti, aibė • Nepainioti su pareigomis • Pareigos – tai, kam žmogus buvo pasamdytas (gali būti > 1 rolė) • Žmogus gali konkrečiu momentu būti: • Projekto vadovas kartu ir testavimo vadovas • Testuotojas kartu ir vyr. testuotojas
Testuotojo techniniai sugebėjimai • Išmanyti PS inžinerijos principus, praktikas ir metodologijas • Mokėti programuoti ir suprasti kodą (?) • Išmanyti testavimo principus, praktikas, strategijas, metodus • Sugebėti planuoti, kurti ir vykdyti testus ir testavimo procedūras įvairiais lygiais (modulio, integravimo ir pan.) • Išmanyti, kaip veikia tinklai, DB, OS • Išmanyti konfigūracijos valdymo sistemą(-as) • Išmanyti su test. susijusius dokumentus ir jų rolę testavime • Mokėti apibrėžti, rinkti ir analizuoti testavimo metrikas • Sugebėti dirbti su testavimo priemonėmis ir įranga • Išmanyti kokybės klausimus
Testuotojonetechniniaisugebėjimai • turėti organizacinius ir planavimo įgūdžius • sugebėti sekti ir atkreipti dėmesį į detales • sugebėti ryžtingai surasti ir išspręsti problemas • sugebėti dirbti komandoje ir spręsti konfliktus • sugebėti patarti ir apmokyti kitus • mokėti dirbti su klientais ir naudotojais • mokėti bendrauti • mokėti dirbti įvairiose aplinkose • mastyti kūrybiškai
Jaunesnieji testuotojai • Junior tester • Atlieka dalį testuotojo užduočių: • Testavimas pagal testavimo atvejus • Defektų registravimas • ...
Testavimo vadovo sugebėjimai/užduotys • Visi testuotojo sugebėjimai • Testavimo strategijų ir planų rengimas, derinimas su projektų vadovais • Testavimo perspektyvos pateikimas derinant projekto grafiką ir kitus projekto aspektus • Testavimo apimties planavimas, reikalingų resursų gavimas • Testavimo valdymas • Metrikų parinkimas testavimo progresui ir kokybės lygiui sekti • Testavimo ataskaitų rengimas
Vyr. testuotojo sugebėjimai/užduotys • Visi testuotojo + dalis testavimo vadovo • Testavimo aplinkų derinimas • Įrankių parinkimas, mokymų organizavimas • Testavimo dokumentacijos konfigūracijos valdymo užtikrinimas • Testavimo automatizavimo valdymas
Pasikartojam • Už ką atsakinga testavimo komanda? • Rolės testavimo komandoje • Kiekvienos rolės sugebėjimai ir užduotys
Testavimo organizavimas • Nepriklausomas testavimas – testavimas, atliekamas ne testuojamo produkto autoriaus • Teisingai atliekamas – efektyvesnis • Savo klaidas pastebėti sunkiau • Skirtingas programuotojų ir testuotojų požiūris • Nepriklausomo testavimo kaina: • Klaidos, kylančios iš nežinojimo • Programuotojai praranda atsakomybę už kokybę • Komunikacijai sugaištamas laikas
Galimos organizacinės struktūros Testavimo nepriklausomumas Žemas Aukštas
Testavimo organizavimas • Galima maišyti nepriklausomumo lygmenis: • Pvz., testavimo komanda, sudaryta iš pastovių narių, verslo atstovų ir rangovų, atliekančių saugumo testavimą
Testavimo organizavimas • Agile projektuose dažnai “visi daro viską” • Natūraliai nepriklausomumas nėra užtikrinamas • Galima užtikrinti “persijungiant” į kitą požiūrį, nedarant išankstinių prielaidų
Testavimo komandos formavimas • Apsisprendžiam dėl organizacinės struktūros • Atrenkam konkrečius resursus: • Iš savų • Samdom naujus testuotojus
Testavimo komandos formavimas 3. Sudarant testavimo komandą reikia su kiekvienu nariu nutarti: • kokios bus jo pareigos, • koks atlyginimas, • kur jis dirbs, • kokias roles atliks.
Testuotojų samdymas • Atranka: • Interviu. Ieškoma esminių charakteristikų: • Aistra • Įgūdžiai/sugebėjimai • “Laužytojo” mentalitetas • Potencialas • Tinkamumas • Intelektas
Testuotojų samdymas • Atranka: • Užduotys: • TA rašymas • Defektų ieškojimas • Specifikacijos peržiūra • Testavimo plano rašymas
Testuotojų samdymas. Interviu • Aistra (technologijoms, testavimui): • Ar mato, kaip galima būtų panaudoti technologijas • Pvz., klausimas: jei turėtum 1 mln. Lt investavimui į IT, kokią problemą išspręstum? • Ar jaučia aistrą, poreikį kokybei • Gero testuotojo aistra kokybei turi būti savo vietoje • Testuotojas, kuris testuoja tik todėl, kad nepavyko tapti programuotoju – dažnai prastas testuotojas
Testuotojų samdymas. Interviu • Įgūdžiai/sugebėjimai: • Testuotojas turi būti labai geras kažkurioje srityje • Programavimas (automatizavimui) • Konkretūs sudėtingi testavimo įrankiai • Intuicija defektams • ...
Testuotojų samdymas. Interviu • “Laužytojo” mentalitetas: • Ar testuotojas ras defektus? • Paprasčiausias būdas patikrinti: • paprastutė aplikacija (pvz., liftas), kuriai būtų galima sugeneruoti bent 20 TA • artestuotojas per greit nesustoja vardinti TA • ar išvardija visus akivaizdžius atvejus, ar įtraukia neigiamus atvejus, ar atvejai nesikartoja • ar mąsto struktūriškai • ar geba mąstyti kaip naudotojas
Testuotojų samdymas. Interviu • Potencialas: • Sunku išmatuoti • Ne taip svarbu samdant rangovą konkrečiam projektui • Samdant ilgam labai svarbu: • Ar kandidatas turi karjeros viziją? Ar vertina savo galimybę tobulėti ir prisidėti prie komandos gerovės? • Ar tobulėjo praeityje? Kaip? • Ar suvokia savo atsakomybę praeityje ir dabar?
Testuotojų samdymas. Interviu • Tinkamumas: • Ar kandidatas tinka komandai? • Sunku įvertinti, bet svarbu • Jei kandidatas netinka: • Švaistomas vadovų, bendradarbių, jo paties laikas • apkalbos, skundai, ... • Kolegos mažiau nori bendradarbiauti • naujokui tenka aiškintis pačiam – neefektyvu
Testuotojų samdymas. Interviu • Intelektas: • Problemų sprendimas • Komunikacija • Mąstymas, sveikas protas • Jei duodama mąstymo užduotis: • Nebūtinai svarbus galutinis teisingas atsakymas • Svarbu, kad būtų pademonstruotas loginis mąstymas, valdymo įgūdžiai, kompromisų darymo sugebėjimas
Testuotojų samdymas. Užduotys • Per/po/prieš interviu arba “namų darbai” • Duodami pradiniai duomenys: • Specifikacija, projekto planas, programa, ... • Skiriamas laikas užduočiai atlikti • Už atliktų užduočių tikrinimą gali būti paskirtas atsakingas žmogus iš testavimo komandos • Atlikus užduotis tęsiamas (arba ne) pokalbis
Testavimo komandos atmosfera • Ar nekyla priešiškumo tarp narių: • Programuotojų/testuotojų • Pastovių darbuotojų/rangovų • Asmeniškumų • Svarbu pasitikėjimas: • Dėl komunikacijos, atsidavimo ir kompetencijos
Pasitikėjimo atmosferos kūrimas • Pasitikėti kitais žmonėmis • Apie problemas kalbėti atvirai • Su tuo žmogumi, dėl kurio kyla problemos • Dalintis aktualia informacija • Vykdyti įsipareigojimus arba anksti įspėti • Sakyti “ne”, jeigu turi omenyje “ne” • Nebijoti prašyti pagalbos, kai kažko nežinai
Pasikartojam • Testavimo organizavimas • Galimos organizacinės struktūros • Testavimo nepriklausomumas • Testavimo komandos formavimas • Sutarimas dėl struktūros ir asmeninių klausimų • Testuotojų samdymas • Pasitikėjimo atmosferos kūrimas
Testuotojo efektyvumo matavimas • Ne visi komandos nariai lygiaverčiai • Gali prireikti matuoti testuotojų efektyvumą • Karjeros pokalbiams • Specifiniams projektams • Problemoms spręsti
Testuotojo efektyvumo matavimas • Testuotojo efektyvumo matavimo metrikos: • Kiek testų variantų sukūrė / laiko vienetas • Kiek testų įvykdė / laiko vienetas • Kiek sukūrė testavimo kodo LOC / laiko vienetas • Kiek defektų surado / laiko vienetas
Testuotojo karjeros galimybės • Svarbu, kad testuotojas žinotų savo galimybes konkrečioje įmonėje • Galimybės: • Jaun. testuotojas Testuotojas Vyr. testuotojas Testavimo vadovas • Testuotojas Automatinio testavimo inžinierius • Testuotojas Analitikas • ...
Sertifikavimosi galimybės • ISEB/ISTQB sertifikatai: • Foundation • Intermediate • Practitioner • Test analysis • Test management • Certified Associate in Software Testing (CAST) • Sertifikavimasis internetu: • http://www.testinginstitute.com/certification.php • ...