Kes vastutab kvaliteedi eest?

Tere, Habr!

Meil on uus oluline teema – kvaliteetne IT-toodete arendamine. RÀÀgime tihti HighLoad++-l, kuidas muuta koormatud teenuseid kiireks, ja Frontend Conf'is – Ă€gedast kasutajaliidesest, mis ei takkardu. Meil on regulaarselt teemasid testimise kohta, ja DevOpsConf'is rÀÀgime erinevate protsesside, sealhulgas testimise, ĂŒhendamisest. Aga kvaliteedi kui terviku ĂŒle ja selle kompleksse arendamise ĂŒle ei ole juttu.

Parandame selle QualityConf – arendame kultuuri, kus mĂ”eldakse kvaliteedile lĂ”pptootes igas arendusetapis. Harjumust mitte jÀÀda kinni oma vastutusalasse ning seostada kvaliteeti mitte ainult testijatega.

Allpool rÀÀgime programmidirektori, Tinkoff.Businessi testimise juhataja ja vene keelsete QA-kogukonna looja Anastasija Asejeva-Ngueniga QA-sektori seisundist ja uue konverentsi missioonist.

Kes vastutab kvaliteedi eest?

– Nastja, tere. RÀÀgi palun endast.

Kes vastutab kvaliteedi eest?Anastasija: Juhtin testimist pangas, vastutame vĂ€ga suure meeskonna eest – meid on ĂŒle 90 inimese. Meil on oluline Ă€risektor, vastutame Ă€riĂŒhingute ökosĂŒsteemi eest.

Olen Ă”ppinud matemaatika ja informaatika erialal ning algselt tahtsin saada programmeerijaks. Kuid kui mulle tuli huvitav pakkumine, otsustasin proovida end testijana. Ometi osutus see minu kutsumuseks. NĂŒĂŒd nĂ€en kogu oma tööd just selles valdkonnas.

Olen tulihingeline kvaliteedi tagamise distsipliini toetaja. Mind ei jĂ€ta kĂŒlmaks, milliseid tooteid luuakse, kuidas suhtutakse kvaliteeti ettevĂ”ttes, meeskonnas ja pĂ”himĂ”tteliselt ka arendusprotsessis.

Minu jaoks on ilmne, et kogukond selles suunas on veel piisavalt kĂŒps, vĂ€hemalt Venemaal. Me ei pruugi alati mĂ”ista, et kvaliteedi tagamine ei ole ainult asjaolu, et testime rakendust nĂ”uetele vastavuse osas. Tahaksin muuta seda olukorda.

– Sa kasutad termineid Quality Assurance ja testimine. Tavalise inimese silmis ĂŒksteisega kohtuvad need kaks mĂ”istet vĂ€ga tihti. Kuidas nad omavahel erinevad, kui sĂŒvitsiminevat analĂŒĂŒsida?

Anastasija: Tegelikult ei ole nad vĂ€ga erinevad. Testimine on osa kvaliteedi tagamise distsipliinist, see on otsene tegevus — iseenesest on see, et ma midagi testin. Testimise liike on tegelikult palju, ja erinevate testimiste eest vastutavad erinevad inimesed. Kuid meil Venemaal, kui ilmus vĂ€lja hulk outsourcer'eid, kes toovad ettevĂ”tetesse testijaid, on testimine kahanenud ĂŒheks ainsaks liikmiseks.

Enamasti piirdutakse ainult funktsionaalse testimisega: kontrollitakse, kas see, mis arendajate poolt kirjutati, vastab spetsifikatsioonile ja on kÔik.

— RÀÀgi palun, milliseid teisi kvaliteedi tagamise distsipliine on veel olemas? Mis veel peale testimise siia kuulub?

Anastasija: Kvaliteedi tagamine on eelkĂ”ige kvaliteetse toote loomine. TeisisĂ”nu, me kĂŒsime endalt, milliste kvaliteedi atribuutidega peab meie toode olema varustatud. Seega, kui me selle mĂ”istame, saame me vĂ”rrelda, kes mĂ”jutab neid kvaliteedi atribuute. Pole oluline, kas see on arendaja, projektijuht vĂ”i tootearendaja — see on inimene, kes mĂ”jutab toote arengut, selle backlog'i ja strateegiat.

Testija hakkab paremini mĂ”istma oma rolli. Ta mĂ”istab, et tema ĂŒlesanne ei ole mitte ainult testida vastavust nĂ”uetele, vaid ka testeerida nĂ”udeid, seada kahtluse alla tootekujundajatelt saadud sĂ”nastusi, paljastada kĂ”ik varjatud nĂ”uded ja kliendi ootused. Kui me toome meie kliendile uusi funktsioone, peame tĂ”eliselt rahuldama tema ootused ja lahendama tema probleemid. Kui mĂ”tleme kĂ”igile kvaliteedi atribuutidele, siis on klient rahul ja mĂ”istab, et ettevĂ”te, mille toodet ta kasutab, tĂ”eliselt hoolib tema huvidest ja ei tegutse ainult pĂ”himĂ”ttel „ainult toote vĂ€ljalaskmine“.

— Tundub, et see, mida sa just kirjeldasid, on tootekujundaja ĂŒlesanne. See ei ole pĂ”himĂ”tteliselt testimise ega kvaliteedi kohta — see on ĂŒldse toote juhtimise kohta, eks?

Anastasija: Kaasa arvatud. Kvaliteedi tagamine ei ole distsipliin, mille eest vastutab ĂŒks kindel inimene. Praegu on testimises populaarne suundumus, lĂ€henemine, mida nimetatakse Agile TestimiseksTema mÀÀratlus ĂŒtleb, et see on meeskondlik lĂ€henemine testimisele, mis hĂ”lmab kindlat praktika kogumit. Selle lĂ€henemise rakendamise eest vastutab kogu meeskond, isegi kui meeskonnas ei ole testijat. Kogu meeskond suunab oma tĂ€helepanu sellele, et pakkuda vÀÀrtust kliendile ja et see vÀÀrtus vastaks tema ootustele.

— Ehk siis kvaliteet kattub peaaegu kĂ”igi ĂŒmbritsevate distsipliinidega, seades piirid kĂ”igile asjaoludele?

Anastasija: TÀiesti Ôige. Kui mÔtleme sellele, et soovime luua kvaliteetset produktsiooni, hakkame mÔtlema erinevatele kvaliteedi atribuutidele. NÀiteks, kuidas kontrollida, et oleme tÔepoolest loonud funktsiooni, mis on meie kliendile vajalik.

Siinkohal tuleb jutuks selline testimise tĂŒĂŒp nagu UAT (kasutajate aktsepteerimistestimine). Kahjuks praktiseeritakse seda Venemaal harva, kuid see on mĂ”nikord olemas SCRUM-meeskondades lĂ”ppklientide demona. VĂ€lisfirmades on see ĂŒsna levinud testimise liik. Enne kui avame funktsionaalsuse kĂ”igile klientidele, teeme esmalt UAT-i, kutsudes lĂ”ppkasutaja, kes viib lĂ€bi testimise ja annab kohe tagasisidet — kas toode vastab ootustele ja lahendab probleemi. Alles pĂ€rast seda toimub kĂ”ikide teiste klientide jaoks laiendamine.

Seega, me suuname end Àri, lÔppklient, kuid samas ei unusta tehnoloogiat. Toote kvaliteet sÔltub tugevalt ka tehnoloogiast. Kui meie arhitektuur on halb, ei saa me funktsioone kiiresti vÀlja anda ja ei vasta kliendi ootustele. VÔib esineda palju vigu, kui proovime suurendada mÔÔdetavust, vÔi refaktoreerimise kÀigus vÔime midagi katki teha. See kÔik mÔjutab kliendi rahulolu.

Nii et arhitektuur peab olema selline, et saaksime kirjutada puhta koodi, mis vÔimaldab kiiresti muudatusi teha ja ei pea kartma, et lÔhume kÔik Àra. Et arendus iteratsioonid ei veniks mitme kuu jooksul lihtsalt selle pÀrast, et meil on nii palju pÀrandit ja pikad testimise etapid on vajalikud.

— Kokku on nĂŒĂŒd kaasatud arendajad, arhitekid, tootearendajad, tootejuhid, testijad. Kes veel on kaasatud kvaliteedi tagamise protsessi?

Anastasija: NĂŒĂŒd kujutame ette, et oleme juba kliendile teenuse kĂ€tte toimetanud. Ilmselgelt tuleb toote kvaliteeti jĂ€lgida ka siis, kui see on juba tootmisprotsessis. Sel hetkel vĂ”ivad ilmneda olukorrad, mis pĂ”hinevad mitmetes mitte-eeldatavates stsenaariumides, nii-öelda vead.

Esimene kĂŒsimus on - kuidas me nendega vigadega töötame pĂ€rast seda, kui toode on juba vĂ€lja antud? Kuidas me nĂ€iteks reageerime koormusele? Klient ei ole vĂ€ga rahul, kui leht laadib rohkem kui 30 sekundit.

Siia mĂ€ngu astub töötlus vĂ”i, nagu nĂŒĂŒd öeldakse, DevOps. Tegelikult on need inimesed, kes vastutavad toote töökeskkonna eest, kui see on tootmisprotsessis. Siia kuuluvad erinevad jĂ€lgimise viisid. On isegi alaliik testimisest - testimine tootmisprotsessis, kui lubame endale mitte testida midagi enne vĂ€ljalaskmist ja testime seda kohe tootmisprotsessis. Need on mitmed meetmed, mis on seotud infrastruktuuri korraldamisega ja mis vĂ”imaldavad kiiresti reageerida juhtumile, mĂ”jutada seda, parandada.

Infrastruktuur on samuti oluline. Tihti juhtub, et testimise ajal ei Ônnestu meil tÔeliselt veenduda, et meil on kÔik, mida sooviksime kliendile pakkuda. KÀivitame tootmisprotsessis - ja hakkame tabama mitte-eeldatavaid olukordi. Ja see kÔik tuleneb sellest, et testimisprotsessi infrastruktuur ei vasta tootmisprotsessi infrastruktuurile. Sealt tuleb uus testimisviis - infrastruktuuri testimine. Need on erinevad konfiguratsioonid, seaded, andmebaaside migratsioon jne.

Siit tekib kĂŒsimus - kas meeskond peaks kasutama infrastruktuuri kui koodi.

Usun, et infrastruktuur mÔjutab otseselt toote kvaliteeti.

Loodan, et konverentsil on ettekandega reaalne juhtum. Kirjuta meile, kui oled valmis oma kogemust jagama, kuidas infrastruktuur kui kood mÔjutab kvaliteeti. Infrastruktuur kui kood vÔimaldab lihtsamalt kontrollida kÔiki seadistusi ja testida seda, mida muidu lihtsalt ei saaks. Seega kaasatakse kvaliteetse toote arendamise protsessi ka hooldamine.

— Aga mis analĂŒĂŒtika ja dokumentatsiooniga?

Anastasija: See puudutab rohkem ettevĂ”tte sĂŒsteeme. Kui rÀÀgime ettevĂ”tte tasemest, tulevad kohe meelde sellised inimesed nagu analĂŒĂŒtikud ja sĂŒsteemianalĂŒĂŒtikud. MĂ”nikord nimetatakse neid ka tehnilisteks toimetajateks. Nad saavad ĂŒlesande kirjutada spetsifikatsiooni ja tĂ€idavad seda nĂ€iteks kuu aega.

Kordu on korduvalt tÔestatud, et sellise dokumentatsiooni kirjutamine viib vÀga pikkade arendus- ja tÀiustamisiteratsioonideni, kuna testimise kÀigus tuvastatakse vigu ja algavad tagasitoomised. Tulemuseks on palju sildu, mis tÔstavad arenduskulusid. Lisaks vÔib see tuua kaasa haavatavusi. Tundub, et oleme kirjutanud etalonkoode, kuid seejÀrel teeme muudatusi, mis rikuvad perfektse arhitektuuri.

LÔpptulemusena saame mitte pÀris kvaliteetse toote, kuna arhitektuuri on juba tekkinud lapitööd, kood on mÔnes kohas ebapiisavalt testitud, kuna tÀhtaegade tÔttu tuleb kiiremini kÔik vead likvideerida. KÔik see tuleneb sellest, et algses spetsifikatsioonis ei olnud arvestatud kÔiki aspekte, mida oleks pidanud rakendama.

Arendajad ei ole halvad poisid ja nad ei kirjuta teadlikult vigu sisaldavat koodi.

Kui oleksime alguses hoolikalt lÀbi mÔelnud spetsifikatsiooni, kus oleks kajastatud kÔik vajalikud aspektid, oleks kÔik rakendatud just nii, nagu peab. Kuid see jÀÀb utoopiaks.

VĂ”ib-olla ei ole ideaalset 100-lehekĂŒljelist spetsifikatsiooni vĂ”imalik kirjutada. SeetĂ”ttu tuleb mĂ”elda alternatiivsetele viisidele dokumentatsiooni,spetsifikatsiooni ja ĂŒlesannete seadmiseks, mis tooksid meid lĂ€hemale sellele, et arendaja teeks just seda, mida on vaja.

Siin tulevad meelde Agile'i lĂ€henemised – kasutajate lood koos vastuvĂ”tmise kriteeriumidega. See on rohkem rakendatav meeskondadele, kes arenevad vĂ€ikeste iteratsioonidega.

– Kuidas on kasutatavustestimise, toote kasutusmugavuse ja disainiga?

Anastasija: See on vĂ€ga oluline moment, kuna meeskonnas on disainerid. KĂ”ige sagedamini kasutatakse disainereid teenusena – kas disainimeeskond vĂ”i disainer vĂ€lishankena. Tihti juhtub, et disainer on tundunud, et kuulab tootearendajat ja teeb selle, mida ta mĂ”tles. Kuid kui lĂ€heme iteratsiooni, selgub, et tegelikult ei ole tehtud seda, mida ootasime: disainer jĂ€ttis midagi kĂ”rvale, ei mĂ”elnud kĂ€itumist lĂ”puni lĂ€bi, kuna ta ei olnud meeskonnas ja kontekstis, vĂ”i es front-end arendaja ei saanud tema kujundusest lĂ”puni aru. VĂ”ib osutuda vajalikuks mitu iteratsiooni ainult seetĂ”ttu, et front-end arendajal on probleem disaini arusaamisega.

On the other hand, there is another issue. Design systems are gaining popularity right now. They are in vogue, but the benefits they offer are not entirely clear.

I encounter the opinion that design systems, on one hand, simplify development, but on the other hand, impose many restrictions on the interface.

As a result, we end up creating not the feature that the client wants, but one that is convenient for us because we already have certain components that we can use to build it.

It seems to me that we should pay attention to this topic and think about whether in trying to simplify the design work we are truly addressing the clients' needs.

— It turns out there are quite a few topics related to Quality Assurance. Is there a conference in Russia where all of them can be discussed?

Anastasija: There is the oldest conference on testing, which will be held for the 25th time this year and is called the SQA Days Quality Assurance Conference. It mainly covers tools and specific testing approaches for functional testers. Typically, presentations at SQA Days delve deeply into specific areas of responsibility for the testers themselves, rather than comprehensive events.

This greatly helps to understand the various tools and methods for testing databases, APIs, etc. However, on one hand, it doesn't motivate others involved in creating a higher-quality product beyond just testing. On the other hand, testers do not become more engaged in the process to think about the overall goal of the product and its business aspect.

I lead a large department and conduct many interviews, which actually allow me to represent the overall state of the industry. Typically, our people work in enterprise environments and have clear areas of responsibility. Colleagues who work on foreign projects use different types of testing: they can conduct load testing, performance testing, and even sometimes security testing, because they truly help the team ensure the product's quality.

I would like our guys in Russia to also start considering that the industry does not end with functional testing.

— Meie eesmĂ€rgiks on korraldada uus QualityConf konverents, mis keskendub kvaliteedile kui terviklikule distsipliinile. RÀÀgi plaanist lĂ€hemalt, mis on konverentsi peamine eesmĂ€rk?

Anastasija: Me soovime luua kogukonna inimesi, kes on huvitatud kvaliteetsete toodete valmistamisest. Pakume platvormi, kuhu nad saavad tulla, kuulata ettekandeid ja lahkuda konverentsilt konkreetse arusaamaga, mida tuleb enda juures muuta kvaliteedi parandamiseks.

Tihti kuulen nĂ”udmiseid konsultatsioonifirmadelt, et mida teha, kui esinevad probleemid testimisega ja kvaliteediga. Kui hakkad meeskondadega suhtlema, nĂ€ed, et probleem ei ole asjades ise, vaid selles, kuidas on protsess ĂŒles ehitatud. NĂ€iteks, kui arendajad arvavad, et nad on vastutavad ainult koodi kirjutamise eest, lĂ”ppeb nende vastutus just siis, kui nad on ĂŒlesande testimisele ĂŒle andnud.

Kaugeltki mitte kÔik ei mÔtle sellele, et kohmakalt kirjutatud nÔrk kood kehva arhitektuuriga toob projektile suuri probleeme. Nad ei mÔtle vigade maksma minekule, et vead, mis jÔuavad tootmisse, vÔivad ettevÔttele ja meeskonnale pÔhjustada suuri kulusid. Siin on puudu kultuur mÔelda sellele. Soovin, et konverentsil hakkaksime seda levitama.

Ma mĂ”istan, et see ei ole innovatsioon. Edward Deming, 14 kvaliteedisammude autori, rÀÀkis vigade kulust juba eelmisel sajandil. Selle raamatu pĂ”hjal on ĂŒles ehitatud Quality Assurance kui distsipliin, kuid kahjuks unustab tĂ€napĂ€eva arendus selle.

— Kas kavatsete kĂ€sitleda ka teemasid, mis otseselt puudutavad testimist ja tööriistu?

Anastasija: Arvan, et ettekanded tööriistade kohta on vÔimalikud. On piisavalt universaalseid tööriistu, millega ettevÔtted ja meeskonnad saavad toodet mÔjutada.

KĂ”ik ettekanded on globaalselt ĂŒhendatud ĂŒhe ĂŒldise missiooniga: edastada publikule, et selle lĂ€henemise, tööriista, meetodi, protsessi, testimise tĂŒĂŒbi abil oleme mĂ”jutanud toote kvaliteeti ja parandanud kliendi elu.

Meil ei ole kindlasti ettekandeid, mis kĂ€sitlevad tööriistu pelgalt tööriistade pĂ€rast. KĂ”ik ettekanded, mis saavad programmi, on ĂŒhendatud ĂŒhise eesmĂ€rgiga.

— Kellele on huvitav see, millest sa rÀÀgid, kedasi nĂ€ed konverentsi kĂŒlalistena?

Anastasija: Meil on ettekanded arendajatele, kellele ei ole ĂŒkskĂ”ik oma projekti, toote, sĂŒsteemi saatuse ĂŒle. Samuti huvitab see testijate, ja, nagu mulle tundub, eriti juhtide jaoks. Juhtide all mĂ”tlen ma inimesi, kes teevad otsuseid ja saavad mĂ”jutada toote, sĂŒsteemi, meeskonna ning sellega seonduvat arengut.

Need on inimesed, kes kĂŒsivad endalt – kuidas parandada toote, sĂŒsteemi kvaliteeti. Meie konverentsil saavad nad teada erinevatest meetmest ning saavad aru, mis neil praegu puudu on ja mida on vaja muuta.

Arvan, et peamine kriteerium on aru saada, et kvaliteediga on midagi valesti, ja soovida sellele mÔju avaldada. Ilmselt ei Ônnestu meil esimesel korral jÔuda inimesteni, kes arvavad, et kÔik on korras.

— Kuidas sa arvad, kas tööstus on ĂŒldiselt kĂŒps, et rÀÀkida mitte lihtsalt testimisest, vaid kvaliteedikultuurist?

Anastasija: Ma arvan, et on. Praegu liiguvad paljud ettevĂ”tted traditsioonilisest Waterfall lĂ€henemisest Agile suunas. Klientidele orienteeritakse, inimesed meeskondades hakkavad tĂ”siselt mĂ”tlema, kuidas luua kvaliteetset toodet. Isegi suurtes ettevĂ”tetes toimuvad ĂŒmberorienteerumised kvaliteedi parandamiseks.

Olles nĂ€inud, kui palju kĂŒsimusi tekib kogukonnas, arvan, et on juba aeg. Ma ei ole muidugi kindel, et see saab olema ulatuslik revolutsioon, kuid loodaksin, et see meelemuutus toimub.

— Kokku leppimist! Hakkame kasvatama kultuuri ja muutma teadvust.

Konverents kvaliteetse IT-toodete arendamisest QualityConf toimub Moskvas 7. juunil. Teate, millistest etappidest koosneb kvaliteetne toode, meil on eelnevalt edukate vigade lahendamise juhtumid, oleme oma praktikas katsetanud tuntud meetodeid – vajame teie kogemust. Saatke oma taotlusi hiljemalt 1. maid, ja Programmikomitee aitab teemade fookusele keskenduda konverentsi ĂŒldise terviklikkuse jaoks.

Liituge vestlusgrupiga, kus arutame kvaliteedi ja konverentsiga seotud kĂŒsimusi, jĂ€lgige meie Telegrami kanalit, et olla kursis programmi uudistega.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster