Programmalıq támiynat sapasın támiyinlew / 6-lekciya_ST
.pdf6-lekciya. Programmalıq támiynat sapasına kepillik beriwdi jobalaw.
Jobası:
1.Sapa jobası (SQAP) túsinigi hám onıń strukturası (IEEE 730 standartı).
2.Sapanı jobalastırıw basqıshları: Maqsetler, standartlar hám resurslar.
3.Táwekelshilikti (Risk) basqarıw hám sapanıń aldın alıw ilajları.
4.Sapa jobasınıń orınlanıwın qadaǵalaw hám audit.
Sapa jobası (SQAP) hám IEEE 730
Programmalıq támiynat sapasına kepillik beriw (SQA) tosınnan bolatuǵın process emes, ol aldın ala muqıyat jobalastırılıwı kerek. Bul joba "Sapa támiyinlew jobası" (SQAP - Software Quality Assurance Plan) dep ataladı. SQAP – bul proekt dawamında sapanı támiyinlew ushın qanday is-ilajlar, standartlar, qurallar hám metodlar qollanılatuǵının, kimler juwapker ekenin hám qanday nátiyjeler kútiletuǵının súwretleytuǵın rásmiy hújjet. SQAP proekttiń "Jol kórsetkishi" (Roadmap) wazıypasın atqaradı: ol komandaǵa "biz sapalı ónim jaratıw ushın ne isleytuǵınımızdı" túsindiredi.
SQAP-tıń dúzilisi hám mazmunı "IEEE 730" standartı menen retlestiriledi. Bul standart boyınsha, sapalı SQAP tómendegi bólimlerden turıwı kerek: 1) Maqset (Purpose) – joba ne ushın jazıldı? 2) Basqarıw (Management)
– sapa ushın kim juwapker (shólkemlestiriw strukturası)? 3) Hújjetlestiriw (Documentation) – qanday hújjetler (SRS, SDD, Test Plan) jaratılıwı hám tekseriliwi kerek? 4) Standartlar, ámeliyatlar hám konvenciyalar (Standards, Practices, Conventions) – kod jazıw stili, testlew usılları. 5) Sholıwlar hám auditler (Reviews and Audits) – qashan hám qalay tekseriwler ótkiziledi? 6) Testlew (Testing). 7) Mashqalalar haqqında esabat beriw hám dúzetiw (Problem Reporting and Corrective Action). 8) Qurallar, texnikalar hám metodologiyalar. 9) Kodtı qadaǵalaw (Code Control). 10) Media qadaǵalaw (Media Control). 11) Jetkiziwshini qadaǵalaw (Supplier Control). 12) Jazıwlardı jıynaw, saqlaw hám saqlaw (Records Collection, Maintenance, and Retention).
SQAP proekttiń baslanıwında (Jobalastırıw fazasında) jazıladı hám barlıq qatnasıwshılar (Stakeholders) tárepinen tastıyıqlanadı. Bul hújjet "tiri" bolıwı kerek, yaǵnıy proekt dawamında ózgerislerge qaray jańalanıp turıwı tiyis. SQAP-tıń bolıwı buyırtpashıǵa isenim beredi: "Bul kompaniya sapanı qatań
qabıl etedi hám onı basqara aladı". Sonday-aq, SQAP proekt aǵzaları arasındaǵı kelispewshiliklerdi sheshiwge járdem beredi (standartlarǵa silteme beriw arqalı).
SQAP tek ǵana "testlew jobası" emes. Testlew jobası (Test Plan) tek testlew procesine (Test cases, environment) itibar qaratsa, SQAP pútkil islep shıǵıw ciklin (Requirement, Design, Coding, Testing, Deployment) qamtıydı. SQAP testlewden tısqarı, kodqa sholıw (review), audit, konfiguraciyanı basqarıw hám oqıtıw sıyaqlı processlerdi de óz ishine aladı. SQAP – bul strategiya, Test Plan – bul taktika.
Sapanı jobalastırıw basqıshları
Sapanı jobalastırıw procesi bir neshe basqıshlardan turadı. Birinshi basqısh – "Sapa maqsetlerin anıqlaw" (Identify Quality Goals). Biznes talaplarına hám proekttiń túrine qaray, eń áhmiyetli sapa xarakteristikaların (ISO 25010 boyınsha) tańlaw kerek. Mısalı, eger biz bank qosımshasın islep atırǵan bolsaq, eń baslı maqset – "Qáwipsizlik" hám "Isenimlilik". Eger oyın islep atırǵan bolsaq – "Ónimlilik" hám "Usability". Maqsetler anıq hám ólshenetuǵın bolıwı kerek (mısalı, "Juwap beriw waqtı 1 sekundtan aspasın", "Kritik qáteler 0 bolsın").
Ekinshi basqısh – "Standartlar hám processlerdi tańlaw". Komanda qaysı standartlarǵa ámel etedi? Kod jazıw stili (Coding Style Guide) qanday boladı (Google Style, Airbnb Style)? Qaysı metodologiya qollanıladı (Scrum, Kanban, Waterfall)? Qátelerdi basqarıw procesi qanday boladı (Jira workflow)? Bul sorawlarǵa juwap beriw, komandanıń bir qálipte jumıs islewin támiyinleydi. Sonday-aq, sapaǵa tásir etiwshi qurallar (Tools) tańlanadı: Statikalıq analizatorlar (SonarQube), Testlew freymvorkları (JUnit, Selenium), CI/CD sistemaları (Jenkins).
Úshinshi basqısh – "Sapa támiyinlew is-ilajların jobalastırıw". Qashan hám qanday tekseriwler ótkeriledi? Mısalı: "Hárbir sprinttiń sońında kodqa sholıw (Code Review) boladı", "Talaplar hújjeti jazılıp bolıwı menen onıń auditı boladı", "Relizden bir hápte aldın regressiya testlewi baslanadı". Bul ilajlar proekttiń ulıwma grafikasına (Schedule) kirgiziliwi hám olarǵa waqıt ajıratılıwı shárt. Sapaǵa waqıt ajıratılmasa, ol qurban etiledi.
Tórtinshi basqısh – "Resurslardı hám juwapkershilikti bólistiriw". Sapanı kim támiyinleydi? SQA injenerleri ne isleydi? Testerler ne isleydi? Programmistlerdiń sapa boyınsha minnetleri qanday (Unit test jazıw)? Sapa ushın kerekli infrastruktura (test serverleri, licenziyalar) bar ma? Bul basqıshta komanda aǵzalarınıń sapa boyınsha kónlikpeleri (Training needs) de bahalanadı hám kerek bolsa oqıtıw jobalastırıladı.
Táwekelshilikti (Risk) basqarıw
Sapanı jobalastırıwdıń ajıralmas bólegi – bul "Táwekelshilikti basqarıw" (Risk Management). Hár qanday proektte sapaǵa qáwip tóndiretuǵın faktorlar bar. Mısalı: "Talaplar tez-tez ózgeriwi múmkin", "Tájiriybeli qánigeler jumıstan ketiwi múmkin", "Jańa texnologiya kútilgenindey islemewi múmkin". SQAP-ta usı qáwipler (Risk) anıqlanıwı, olardıń itimallıǵı hám tásiri bahalanıwı hám "Jumsartıw jobası" (Mitigation Plan) islep shıǵılıwı kerek. Sapaǵa tiyisli eń úlken qáwiplerdiń biri – "Talaplardıń anıq emesligi". Eger programmist ne islew kerekligin túsine almasa, ol qáte kod jazadı. Bunıń aldın alıw ushın SQAP-ta "Talaplardı qayta kórip shıǵıw" (Requirements Review) ilajı belgilenadi. Jáne bir qáwip – "Waqıt jetispewshiligi". Dedlayn jaqınlasqanda, komanda sapanı qurban etip (testlewdi qısqartıp), kodtı tezirek shıǵarıwǵa háreket etedi. Bunıń aldın alıw ushın SQAP-ta sapa tekseriwleri ushın "qol qatılmaytuǵın waqıt"
(frozen time) belgilenedi.
Táwekelshilikti basqarıw "Riske tiykarlanǵan testlew" (Risk-Based Testing) strategiyasın qollanıwdı talap etedi. Biz programmanıń barlıq jerin 100% testley almaymız (waqıt hám resurs sheklengen). Sol sebepli, eń qáwipli hám eń áhmiyetli modullerdi (mısalı, tólem sisteması) birinshi hám qatań testleymiz, al az qáwipli jerlerdi (mısalı, "Biz haqqımızda" beti) keyinirek qaldıramız. SQAP usı prioritetlerdi belgileydi.
SQAP-ta "Kútilmegen jaǵdaylar jobası" (Contingency Plan) da bolıwı kerek. Mısalı, eger relizden bir kún aldın kritik qáte tabılsa, ne isleymiz? Relizdi keshiktiremiz be yamasa qáteni "Known Issue" (Belgili qáte) dep hújjetlestirip, keyingi versiyaǵa qaldıramız ba? Bul sheshimler aldın ala kelisiliwi kerek, krizis waqtında emes. Táwekelshilikti basqarıw – bul proaktiv (aldın ala háreket etiwshi) sapa támiyinlew.
SQAP-tıń orınlanıwın qadaǵalaw hám Audit
Joba jazılıp, tekshege qoyılsa – ol paydasız. SQAP-tıń orınlanıwı proekt dawamında turaqlı qadaǵalanıwı kerek. Bul wazıypanı SQA toparı (yamasa menedjer) atqaradı. Qadaǵalawdıń tiykarǵı quralı – "Audit". Audit – bul processtiń yamasa ónimniń standartlarǵa sáykesligin ǵárezsiz tekseriw. Audit eki túrli boladı: "Process auditı" (Komanda Scrum qaǵıydalarına ámel etip atır ma? Kodqa sholıwlar bolıp atır ma?) hám "Konfiguraciya auditı" (Hújjetler hám kod versiyaları sáykes pe?).
SQAP-tıń orınlanıwın baqlaw ushın "Sapa metrikaları" qollanıladı. Mısalı, "Test qamtıwı" (Code Coverage) 80% ten túspewi kerek degen talap SQAP-ta jazılǵan bolsa, SQA injeneri hárbir jıynawda (Build) bunı tekseredi. Eger
kórsetkish túsip ketse, ol komandaǵa signal beredi. Basqa metrikalar: Tabılǵan qáteler sanı, Qátelerdiń dúzetiw tezligi, Hújjetlerdiń tolıqlıǵı.
Proekt dawamında SQAP-tıń ózi de "jańalanıwı" (Update) múmkin. Eger proekttiń maqseti ózgerse yamasa jańa texnologiya engizilse, sapa jobası da soǵan beyimlesiwi kerek. Mısalı, dáslep tek qol menen testlew jobalastırılǵan bolsa, keyinirek avtomatlastırıw engiziliwi múmkin. SQAP – bul dinamikalıq hújjet.
Proekt juwmaqlaǵanda "Post-Mortem" (Juwmaqlawshı analiz) analizi ótkeriledi. Komanda SQAP-tıń qanshelli nátiyjeli bolǵanın talqılaydı: "Biz qoyǵan sapa maqsetlerine jettik pe?", "Qaysı standartlar isledi, qaysısı islemedi?", "Keyingi proektte neni jaqsılaymız?". Bul tájiriybe keleshektegi SQAP-lardı sapalıraq etiwge járdem beredi. Sapanı jobalastırıw – bul sapalı ónimge aparatuǵın eń qısqa hám eń arzan jol. "Jobalastırıwdıń joqlıǵı – bul sátsizlikti jobalastırıw".
BAQLAW SORAWLARÍ:
1.SQAP (Software Quality Assurance Plan) hújjetiniń tiykarǵı maqseti nede?
2.IEEE 730 standartı SQAP-tıń qaysı bólimlerin óz ishine alıwı kerekligin kórsetedi?
3.Sapa jobasında "Maqsetlerdi anıqlaw" (Identify Quality Goals) basqıshı ne ushın áhmiyetli?
4."Riske tiykarlanǵan testlew" (Risk-Based Testing) strategiyasınıń mánisi nede?
5.Sapa jobasınıń orınlanıwın qadaǵalawda "Audit"tiń roli qanday?
