Hej Habr!
Vi har ett nytt viktigt Àmne - högkvalitativ utveckling av IT-produkter. PÄ HighLoad++ pratar vi ofta om hur man gör upptagna tjÀnster snabbt, och pÄ Frontend Conf pratar vi om ett coolt anvÀndargrÀnssnitt som inte saktar ner. Vi har regelbundet Àmnen om testning och DevOpsConf om att kombinera olika processer, inklusive testning. Men om vad som kan kallas kvalitet i allmÀnhet, och hur man arbetar med det heltÀckande - nej.
LĂ„t oss fixa det hĂ€r â Vi kommer att utveckla en kultur att tĂ€nka pĂ„ kvaliteten pĂ„ slutprodukten för anvĂ€ndaren i varje utvecklingsstadium. Vanan att inte fokusera pĂ„ ditt ansvarsomrĂ„de och associera kvalitet inte bara med testare.
Under snittet kommer vi att prata med chefen för programkommittén, testchef pÄ Tinkoff.Business, skaparen av den rysktalande QA-gemenskapen Anastasia Aseeva-Nguyen om QA-branschens tillstÄnd och uppdraget för den nya konferensen.

- Nastia hej. BerÀtta gÀrna om dig sjÀlv.
ĐĐœĐ°ŃŃаŃĐžŃ: Jag sköter testning pĂ„ en bank, jag ansvarar för ett vĂ€ldigt stort team - vi Ă€r fler Ă€n 90 personer. Vi har en viktig affĂ€rslinje, vi ansvarar för ekosystemet för juridiska personer.
Jag studerade mekanik och matematik och ville först bli programmerare. Men nÀr jag fick ett intressant erbjudande bestÀmde jag mig för att prova mig fram som testare. Konstigt nog visade sig detta vara mitt kall. Nu ser jag allt mitt arbete i den hÀr branschen.
Jag Àr en ivrig anhÀngare av kvalitetssÀkringsdisciplinen. Jag Àr inte likgiltig för vilka produkter som skapas, hur kvalitet behandlas i företaget, i teamet och i princip i utvecklingsprocessen.
Det Àr uppenbart för mig samhÀllet i denna riktning Àr inte tillrÀckligt mogen, Ätminstone i Ryssland. Vi förstÄr inte alltid att kvalitetssÀkring inte bara Àr att testa en ansökan för att uppfylla kraven. Jag skulle vilja förÀndra den hÀr situationen.
â Du anvĂ€nder orden KvalitetssĂ€kring och testning. I den genomsnittliga personens ögon överlappar dessa tvĂ„ termer ofta varandra. Hur skiljer de sig Ă„t om man grĂ€ver djupt?
Anastasia: Snarare Àr de inte annorlunda. Testning Àr en del av kvalitetssÀkringsdisciplinen, det Àr en direkt aktivitet - sjÀlva det faktum att jag testar nÄgot. Det finns faktiskt mÄnga typer av tester, och en mÀngd mÀnniskor Àr ansvariga för olika typer av tester. Men hÀr i Ryssland, nÀr en vÄg av outsourcars dök upp som levererar testare till företag, reducerades testningen till en enda typ.
I de flesta fall Àr de begrÀnsade endast till funktionstestning: de kontrollerar att det som utvecklarna har kodat överensstÀmmer med specifikationen och det Àr allt.
â BerĂ€tta gĂ€rna vilka andra kvalitetssĂ€kringsdiscipliner som finns? Vad mer, förutom testning, ingĂ„r hĂ€r?
ĐĐœĐ°ŃŃаŃĐžŃ: KvalitetssĂ€kring handlar först och frĂ€mst om att skapa en kvalitetsprodukt. Det vill sĂ€ga vi frĂ„gar oss vilka kvalitetsegenskaper vĂ„r produkt ska ha. Följaktligen, om vi förstĂ„r detta, kan vi jĂ€mföra vem som pĂ„verkar dessa kvalitetsattribut. spelar ingen roll, utvecklare, projektledare eller produktspecialist Ă€r en person som pĂ„verkar utvecklingen av en produkt, dess backlog och dess strategi.
Testaren blir mer medveten om sin roll. Han förstĂ„r att hans uppgift inte bara Ă€r att testa efterlevnad av krav, utan ocksĂ„ att testa krav, ifrĂ„gasĂ€tta formuleringarna som kommer frĂ„n produktspecialisten och avslöja alla implicita krav och förvĂ€ntningar frĂ„n kunden. NĂ€r vi levererar ny funktionalitet till vĂ„ra kunder mĂ„ste vi verkligen uppfylla deras förvĂ€ntningar och lösa deras smĂ€rta. Om vi ââtĂ€nker pĂ„ alla attribut av kvalitet, kommer kunden att vara nöjd och kommer att förstĂ„ att företaget vars produkt han anvĂ€nder verkligen bryr sig om sina intressen och inte arbetar enligt principen om "bara för att slĂ€ppa en funktion."
â Det verkar som att det du just beskrev Ă€r en produktspecialists uppgift. Detta handlar i princip inte om testning och inte om kvalitet - det handlar i allmĂ€nhet om produkthantering, eller hur?
ĐĐœĐ°ŃŃаŃĐžŃ: Inklusive. KvalitetssĂ€kring Ă€r inte en disciplin som en specifik person Ă€r ansvarig för. Nu finns det en populĂ€r riktning inom testning, ett tillvĂ€gagĂ„ngssĂ€tt som kallas Agil testning. Hans definition anger tydligt att detta Ă€r en gruppmetod för testning, som inkluderar en viss uppsĂ€ttning praxis. Hela teamet Ă€r ansvarigt för att implementera detta tillvĂ€gagĂ„ngssĂ€tt, det Ă€r inte ens nödvĂ€ndigt att det finns en testare i teamet. Hela teamet Ă€r fokuserat pĂ„ att leverera vĂ€rde till kunden och sĂ€kerstĂ€lla att vĂ€rdet motsvarar kundernas förvĂ€ntningar.
â Det visar sig att kvalitet korsar nĂ€stan alla omgivande discipliner, vilket lĂ€gger ramar pĂ„ allt runt omkring?
ĐĐœĐ°ŃŃаŃĐžŃ: Höger. NĂ€r vi tĂ€nker pĂ„ hur vi vill skapa en kvalitetsprodukt börjar vi tĂ€nka pĂ„ de olika egenskaperna för kvalitet. Till exempel hur man kontrollerar att vi verkligen gjort den funktion som vĂ„r kund behöver.
Det Ă€r hĂ€r den hĂ€r typen av testning kommer in: UAT (testning av anvĂ€ndaracceptans). TyvĂ€rr praktiseras det sĂ€llan i Ryssland, men finns ibland i SCRUM-team som en demo för slutkunden. Detta Ă€r en ganska vanlig typ av testning i utlĂ€ndska företag. Innan vi öppnar funktionaliteten för alla kunder gör vi först UAT, det vill sĂ€ga vi bjuder in slutanvĂ€ndaren som testar och omedelbart ger feedback â om produkten verkligen uppfyller förvĂ€ntningarna och löser smĂ€rtan. Först efter detta sker skalning till alla andra klienter.
Det vill sĂ€ga att vi fokuserar pĂ„ affĂ€rer, pĂ„ slutkunden, men samtidigt glöm inte tekniken. Kvaliteten pĂ„ produkten beror ocksĂ„ mycket pĂ„ tekniken. Om vi ââhar en dĂ„lig arkitektur kommer vi inte att snabbt kunna slĂ€ppa funktioner och möta kundernas förvĂ€ntningar. Det kan finnas mĂ„nga buggar nĂ€r vi försöker skala, eller nĂ€r vi försöker refaktorera kan vi gĂ„ sönder nĂ„got. Allt detta kommer att pĂ„verka kundnöjdheten.
Ur denna synvinkel bör arkitekturen vara sÄdan att vi kan skriva ren kod som gör att vi snabbt kan göra Àndringar och inte vara rÀdda för att vi ska bryta allt. SÄ att revisionsupprepningar inte strÀcker sig över flera mÄnader bara för att vi har sÄ mycket arv, och vi behöver göra lÄnga teststeg.
â Totalt sett Ă€r utvecklare, arkitekter, produktvetare, produktchefer och testare sjĂ€lva redan involverade. Vilka mer Ă€r involverade i kvalitetssĂ€kringsprocessen?
ĐĐœĐ°ŃŃаŃĐžŃ: LĂ„t oss nu förestĂ€lla oss att vi redan har levererat funktionen till kunden. SjĂ€lvklart mĂ„ste kvaliteten pĂ„ produkten övervakas Ă€ven nĂ€r den redan Ă€r i produktion. I detta skede kan situationer med icke uppenbara scenarier, sĂ„ kallade buggar, dyka upp.
Den första frÄgan Àr hur vi hanterar dessa buggar efter att vi redan har slÀppt produkten? Hur reagerar vi till exempel pÄ stress? Kunden kommer inte att vara sÀrskilt nöjd om sidan tar mer Àn 30 sekunder att ladda.
Det Àr hÀr exploatering kommer in i bilden eller, som de kallar det nu, DevOps. I sjÀlva verket Àr det dessa personer som Àr ansvariga för driften av produkten nÀr den redan Àr i produktion. Detta inkluderar olika typer av övervakning. Det finns till och med en undertyp av testning - testning pÄ produktion, nÀr vi tillÄter oss sjÀlva att inte testa nÄgot innan utrullning och testa det direkt i produktion. Detta Àr en serie ÄtgÀrder ur synvinkeln att organisera infrastruktur som gör att du snabbt kan reagera pÄ en incident, pÄverka den och korrigera den.
Infrastruktur Àr ocksÄ viktig. Det finns ofta situationer nÀr det under ett test Àr omöjligt att försÀkra sig om att vi verkligen har allt som vi skulle vilja ge till kunden. Vi rullar ut det i produktion och börjar fÄnga icke uppenbara situationer. Och allt för att infrastrukturen i testet inte överensstÀmmer med infrastrukturen i produktionen. Detta leder till en ny typ av testning - infrastrukturtestning. Dessa Àr olika konfigurationer, instÀllningar, databasmigrering, etc.
Detta vÀcker frÄgan - kanske mÄste teamet anvÀnda infrastruktur som kod.
Jag tror att infrastruktur direkt pÄverkar kvaliteten pÄ produkten.
Jag hoppas att det kommer en rapport pÄ konferensen med ett verkligt fall. Skriv till oss om du Àr redo att berÀtta av din egen erfarenhet hur infrastruktur som kod pÄverkar kvaliteten. Infrastruktur som kod gör det lÀttare att kontrollera alla instÀllningar och testa saker som annars helt enkelt inte Àr möjliga. DÀrför Àr driften ocksÄ involverad i processen att utveckla en kvalitetsprodukt.
â Hur Ă€r det med analys och dokumentation?
ĐĐœĐ°ŃŃаŃĐžŃ: Detta gĂ€ller mer för företagssystem. NĂ€r vi talar om företagande kommer mĂ€nniskor som analytiker och systemanalytiker omedelbart att tĂ€nka pĂ„. De kallas ibland tekniska författare. De fĂ„r i uppdrag att skriva en specifikation och slutföra den, till exempel under en mĂ„nad.
Det har upprepade gÄnger bevisats att skrivandet av sÄdan dokumentation leder till mycket lÄnga utvecklingsiterationer och lÄnga iterationer av förfining, eftersom buggar identifieras under testprocessen och returer börjar. Som ett resultat finns det mÄnga loopar som ökar utvecklingskostnaderna. Dessutom kan detta introducera sÄrbarheter. Vi verkar ha skrivit referenskod, men sedan gjorde vi Àndringar som bryter den perfekt genomtÀnkta arkitekturen.
Slutresultatet Àr en inte helt högkvalitativ produkt, eftersom patchar redan har dykt upp i arkitekturen, koden pÄ vissa stÀllen tÀcks inte tillrÀckligt av tester, eftersom deadlines hÄller pÄ att löpa ut, alla buggar mÄste stÀngas snabbt. Och allt för att den ursprungliga specifikationen inte tog hÀnsyn till alla punkter som mÄste implementeras.
Utvecklare Àr inte skadedjur och skriver inte kod med fel med avsikt.
Om vi ââfrĂ„n början hade tĂ€nkt igenom en specifikation som skulle ha tĂ€ckt alla nödvĂ€ndiga punkter, dĂ„ skulle allt ha implementerats precis efter behov. Men detta Ă€r en utopi.
Det Àr förmodligen omöjligt att skriva en perfekt 100-sidig specifikation. Det Àr dÀrför behöver fundera över alternativa sÀtt att skriva dokumentation, specifikationer, sÀtta uppgifter som skulle föra oss nÀrmare att sÀkerstÀlla att utvecklaren gör exakt vad som behövs.
HĂ€r dyker upp tillvĂ€gagĂ„ngssĂ€tt frĂ„n Agile â anvĂ€ndarberĂ€ttelser med acceptanskriterier. Detta Ă€r mer tillĂ€mpligt för team som utvecklas i smĂ„ iterationer.
â Hur Ă€r det med anvĂ€ndbarhetstestning, produktanvĂ€ndbarhet, design?
ĐĐœĐ°ŃŃаŃĐžŃ: Detta Ă€r en mycket viktig punkt, eftersom det finns designers i teamet. Oftast anvĂ€nds designers som en tjĂ€nst â antingen av en designavdelning eller av en utlagd designer. Det finns ofta situationer dĂ€r det verkar som att designern lyssnade pĂ„ produktspecialisten och gjorde vad han förstod. Men nĂ€r vi startar iterationen visar det sig att det som faktiskt gjordes inte var vad som förvĂ€ntades: designern glömde nĂ„got, tĂ€nkte inte igenom beteendet fullt ut, eftersom han inte Ă€r med i laget och inte i sammanhanget, eller fronten. -Utvecklaren förstod inte helt layouten. Det kan ta flera iterationer bara för att det finns ett problem med att frontend-utvecklaren förstĂ„r designen.
Plus att det finns ett problem till. Designsystem blir nu allt populÀrare. De Àr pÄ hype, men fördelarna med dem Àr inte helt uppenbara.
Jag stöter pÄ uppfattningen att designsystem Ä ena sidan förenklar utvecklingen, men Ä andra sidan sÀtter de en hel del restriktioner pÄ grÀnssnittet.
Som ett resultat gör vi inte den funktion som klienten vill ha, utan den som Àr bekvÀm för oss, eftersom vi redan har vissa kuber som vi kan göra den frÄn.
Jag tycker att detta Àr ett Àmne som Àr vÀrt att ta en titt pÄ och undra om vi, nÀr vi försöker göra design lÀttare, faktiskt löser en klientsmÀrta.
â Det finns förvĂ„nansvĂ€rt mĂ„nga Ă€mnen relaterade till kvalitetssĂ€kring. Finns det en konferens i Ryssland dĂ€r alla kan diskuteras?
ĐĐœĐ°ŃŃаŃĐžŃ: Det finns den Ă€ldsta testkonferensen, som kommer att hĂ„llas för 25:e gĂ„ngen i Ă„r och kallas SQA Days Quality Assurance Conference. Den diskuterar frĂ€mst verktyg och specifika testmetoder för funktionella testare. Som regel undersöker rapporterna pĂ„ SQA Days djupt specifika omrĂ„den inom testarnas ansvarsomrĂ„de, men inte komplexa aktiviteter.
Detta hjÀlper mycket för att förstÄ olika verktyg och tillvÀgagÄngssÀtt, hur man testar databaser, API:er, etc. Men samtidigt motiverar det Ä ena sidan inte att involvera mer Àn att bara testa i skapandet av en bÀttre produkt. à andra sidan blir testare inte mer involverade i processen att tÀnka pÄ det globala mÄlet för produkten och dess affÀrskomponent.
Jag driver en stor avdelning och genomför en hel del intervjuer som verkligen ger en inblick i lÀget i branschen som helhet. Som regel arbetar vÄra killar i företag, och de har ett tydligt ansvarsomrÄde. Kollegor som arbetar i utlÀndska projekt anvÀnder olika typer av tester: de kan sjÀlva göra belastningstester, prestandatester och Àven ibland sÀkerhetstester, eftersom de verkligen hjÀlper teamet att sÀkerstÀlla kvaliteten pÄ produkten.
Jag skulle vilja att killarna i Ryssland ocksÄ började tro att branschen inte slutar med funktionstestning.
â För detta Ă€ndamĂ„l anordnar vi en ny konferens, QualityConf, som Ă€r tillĂ€gnad kvalitet som en integrerad disciplin. BerĂ€tta mer om idĂ©n, vad Ă€r huvudmĂ„let med konferensen?
ĐĐœĐ°ŃŃаŃĐžŃ: Vi vill skapa en gemenskap av mĂ€nniskor som Ă€r intresserade av att tillverka kvalitetsprodukter. Erbjud en plattform dit de kan komma, lyssna pĂ„ rapporter och lĂ€mna efter konferensen med en specifik förstĂ„else för vad som behöver förĂ€ndras för att förbĂ€ttra kvaliteten.
Numera fÄr jag ofta en förfrÄgan frÄn konsult om vad man ska göra nÀr det Àr problem med testning och kvalitet. NÀr man börjar kommunicera med team ser man att problemet inte ligger hos testarna sjÀlva, utan i hur processen Àr uppbyggd. Till exempel, nÀr utvecklare tror att de bara Àr ansvariga för att skriva kod, slutar deras ansvar precis i samma ögonblick som de lÀmnar över uppgiften till testning.
Alla tÀnker inte pÄ det faktum att dÄligt skriven kod av lÄg kvalitet med dÄlig arkitektur hotar stora problem för projektet. De tÀnker inte pÄ kostnaden för fel, att buggar som hamnar i produktionen kan resultera i stora kostnader för företaget och teamet. Det finns ingen kultur att tÀnka pÄ detta. Jag vill att vi börjar dela ut det pÄ konferensen.
Jag förstÄr att detta inte Àr en innovation.Edward Deming, författaren till de 14 kvalitetsprinciperna, skrev om kostnaden för ett fel under förra seklet. KvalitetssÀkring som disciplin bygger pÄ denna bok, men tyvÀrr glömmer den moderna utvecklingen bort det.
â TĂ€nker du beröra Ă€mnen direkt om testning och verktyg?
ĐĐœĐ°ŃŃаŃĐžŃ: Jag erkĂ€nner att det kommer rapporter om verktyg. Det finns ganska universella verktyg med vilka företag och team kan pĂ„verka produkten.
Alla rapporter kommer globalt att förenas av ett gemensamt uppdrag: att förmedla till publiken att vi med hjÀlp av detta tillvÀgagÄngssÀtt, verktyg, metod, process, typ av testning har pÄverkat produktens kvalitet och förbÀttrat kundens liv.
Vi kommer definitivt inte att ha rapporter om ett verktyg för ett verktygs skull. Alla rapporter som ingÄr i programmet kommer att förenas av ett gemensamt mÄl.
â Vem kommer att vara intresserad av vad du pratar om, vilka du ser som gĂ€ster pĂ„ konferensen?
ĐĐœĐ°ŃŃаŃĐžŃ: Vi kommer att ha rapporter för utvecklare som bryr sig om ödet för deras projekt, produkt, system. LikasĂ„ kommer det att vara av intresse för testare och, det förefaller mig, sĂ€rskilt för chefer. Med chefer menar jag mĂ€nniskor som fattar beslut och kan pĂ„verka ödet och utvecklingen av en produkt, ett system, ett team ocksĂ„.
Det hÀr Àr mÀnniskor som undrar hur man kan förbÀttra kvaliteten pÄ en produkt eller ett system. PÄ vÄr konferens kommer de att lÀra sig om olika uppsÀttningar av ÄtgÀrder och kommer att kunna förstÄ vad som Àr fel pÄ dem nu och vad som behöver Àndras.
Jag tror att huvudkriteriet Àr att förstÄ att nÄgot Àr fel med kvalitet och vilja pÄverka det. Vi kommer troligen inte att kunna nÄ folk som tror att det hÀr kommer att duga bara första gÄngen.
â Tror du att branschen som helhet Ă€r mogen att prata inte bara om tester utan om en kvalitetskultur?
ĐĐœĐ°ŃŃаŃĐžŃ: Jag tror att jag har mognat. Nu gĂ„r mĂ„nga företag bort frĂ„n den traditionella vattenfallsstrategin mot Agile. Det finns ett kundfokus, folk i team börjar verkligen fundera pĂ„ hur man skapar en kvalitetsprodukt. Ăven företagsföretag fokuserar om pĂ„ att förbĂ€ttra kvaliteten.
Att döma av antalet förfrÄgningar som dyker upp i samhÀllet tycker jag att det Àr dags. Jag Àr naturligtvis inte sÀker pÄ att det hÀr kommer att bli en storskalig revolution, men jag skulle vilja att denna revolution i medvetandet skulle ske.
- Gick med pÄ! Vi kommer att ingjuta kultur och förÀndra medvetandet.
Konferens om högkvalitativ utveckling av IT-produkter kommer att Àga rum i Moskva den 7 juni. Du vet vilka stadier som utgör en högkvalitativ produkt, vi har fall av framgÄngsrik bekÀmpning av buggar i produktionen, vi har testat populÀra metoder i vÄr praktik - vi behöver din erfarenhet. deras ansökningar senast 1 maj, och programkommittén kommer att hjÀlpa till att fokusera temat för konferensens övergripande integritet.
Koppla till , dÀr vi diskuterar kvalitetsfrÄgor och konferensen, prenumerera pÄ för att hÄlla dig uppdaterad med programnyheter.
KĂ€lla: will.com
