Скачиваний:
0
Добавлен:
25.02.2026
Размер:
158.58 Кб
Скачать

1-lekciya. Programmalıq támiynat sapasın támiyinlew pánine kirisiw. Tiykarǵı túsinikler.

Jobası:

1.Programmalıq támiynat sapası túsinigi hám onıń áhmiyeti.

2.Sapanı támiyinlew (QA), Sapanı qadaǵalaw (QC) hám Testlew (Testing) ayırmashılıqları.

3.Programmalıq injeneriyada sapanıń ornı hám SQA (Software Quality Assurance) wazıypaları.

4.Programmalıq qátelerdiń (Bug, Defect, Error) klassifikaciyası hám kelip shıǵıw sebepleri.

Programmalıq támiynat sapası túsinigi

Programmalıq támiynat sapası (Software Quality) – bul programmalıq ónimniń paydalanıwshı talaplarına, standartlarǵa hám kútilgen nátiyjelerge qanshelli dárejede sáykes keliwin bildiretuǵın kórsetkish. Ápiwayı sóz benen aytqanda, sapa – bul programmanıń "durıs islewi" ǵana emes, al onıń paydalanıwshı ushın "qolaylı", "qáwipsiz", "tez" hám "isenimli" bolıwı. ISO/IEC 25010 standartına sáykes, programmalıq támiynat sapası bir neshe xarakteristikalardan turadı: funkcionallıq, ónimlilik, qollap-quwatlawǵa jaramlılıq, qoljetimlilik, qáwipsizlik hám t.b. Sapanıń áhmiyeti búgingi kúnde oǵada joqarı. Programmalıq támiynat tek ǵana ofis jumıslarında emes, al medicina, aviaciya, bank sektorı hám energetika sıyaqlı qáwipsizlikti talap etetuǵın tarawlarda qollanılmaqta. Bunday sistemalardaǵı programmalıq qáteler tek ǵana finanslıq joytıwlarǵa emes, al insan ómirine qáwip tóndiriwge shekem alıp keliwi múmkin. Mısalı, 1996-jılı "Ariane 5" raketasınıń jarılıwına programmalıq qáte sebep bolǵan hám bul 370 million dollar zıyan keltirgen. Sol sebepli, sapanı támiyinlew – bul tek texnikalıq máseleni emes, al biznes hám qáwipsizlik máselesi.

Programmalıq támiynat sapası eki túrge bólinedi: Ishki sapa hám Sırtqı sapa. Sırtqı sapa – bul paydalanıwshı kóretuǵın hám sezetuǵın sapa (interfeys, islew tezligi, qátelerdiń bolmawı). Ishki sapa – bul programmistler kóretuǵın sapa (kodtıń oqılıwı, strukturası, ońlawǵa qolaylılıǵı). Paydalanıwshı ushın sırtqı sapa áhmiyetli bolsa da, ishki sapa tómen bolsa, waqıt ótiwi menen sırtqı sapa da tómenleydi (programma ástelep, qáteler kóbeyedi). SQA pániniń maqseti – usı eki tárepti de teńsalmaqlıqta uslaw.

Sapa – bul absolyut túsinik emes, ol salıstırmalı. Mısalı, atom elektr stanciyasın basqarıwshı programma ushın eń baslı sapa – bul "Isenimlilik" (Reliability) hám "Qáwipsizlik" (Safety), al mobil oyın ushın eń baslı sapa – bul "Paydalanıwǵa qolaylılıq" (Usability) hám "Grafika". Sol sebepli, sapanı támiyinlew procesi hárbir proekttiń maqsetine hám talaplarına qaray jeke jobalastırılıwı kerek. "Sapa – bul talaplarǵa sáykeslik".

QA, QC hám Testing: Ayırmashılıqlar hám Baylanıslar

Kóp jaǵdaylarda "Sapa támiyinlew" (Quality Assurance - QA), "Sapanı qadaǵalaw" (Quality Control - QC) hám "Testlew" (Testing) terminleri almastırılıp qollanıladı, biraq olar hár qıylı processlerdi ańlatadı. QA – bul eń joqarı dárejedegi process bolıp, onıń maqseti – "qátelerdiń aldın alıw" (Prevention). QA programmalıq támiynattı islep shıǵıw processiniń ózin (metodologiya, standartlar, úyretiw) jaqsılawǵa baǵdarlanǵan. Yaǵnıy, QA – "biz processlerdi durıs islep atırmız ba?" degen sorawǵa juwap beredi. QC (Quality Control) – bul ónimniń sapasın tekseriwge baǵdarlanǵan process. QC-diń maqseti – "qátelerdi tabıw" (Detection). QC tayar bolǵan ónimniń (yamasa onıń bóleginiń) talaplarǵa sáykesligin tekseredi. QC – bul QA processiniń bir bólegi. Eger QA processlerdi basqarsa, QC nátiyjelerdi basqaradı. QC – "biz ónimdi durıs isledik pe?" degen sorawǵa juwap beredi. QC kóbinese kodqa sholıw (Code Review) hám testlewdi óz ishine aladı.

Testlew (Testing) – bul QC-diń bir quralı bolıp, programmanı iske túsiriw arqalı qátelerdi tabıw procesi. Testlew – bul programmanıń haqıyqıy nátiyjesin kútilgen nátiyje menen salıstırıw. Testlew qol menen (Manual) yamasa avtomatlastırılǵan (Automated) bolıwı múmkin. Testlewshi (Tester) programmanıń hálsiz jerlerin tabıwǵa háreket etedi. Solay etip, ierarxiya tómendegishe: QA -> QC -> Testing. QA strategiyanı belgileydi, QC taktikani orınlaydı, al Testlew – bul operativ háreket. Bul úsh túsiniktiń baylanısın medicina menen salıstırıwǵa boladı. QA – bul salamat turmıs saltın úgit-násiyatlaw hám keseldiń aldın alıw (profilaktika). QC – bul analizler tapsırıw hám densawlıqtı tekseriw (diagnostika). Testlew – bul anıq bir organnıń jumısın tekseriw (mısalı, qan basımın ólshew). Sapalı programmalıq támiynat jaratıw ushın tek testlew jetkiliksiz, barlıq basqıshlarda (talaplar, dizayn, kodlaw) sapa standartları (QA) saqlanıwı kerek.

SQA wazıypaları hám programmalıq injeneriyadaǵı ornı

Software Quality Assurance (SQA) – bul programmalıq injeneriyanıń "arnamısı". SQA injenerleriniń tiykarǵı wazıypası – islep shıǵıw processiniń barlıq basqıshlarında standartlarǵa ámel etiliwin qadaǵalaw. Olar tek kodtı emes, al

talaplar hújjetlerin, dizayn specifikaciyaların hám test jobaların da tekseredi. SQA proekttiń baslanıwınan aqırına shekem (End-to-End) qatnasadı. Eger SQA tek proekttiń sońında qosılsa, sapanı dúzetiw júdá qımbatqa túsedi.

SQA-diń tiykarǵı wazıypalarına tómendegiler kiredi: 1) Standartlardı tańlaw hám engiziw (ISO, CMMI). 2) Processlerdi audit etiw (komanda metodologiyaǵa ámel etip atır ma?). 3) Metrikalardı jıynaw hám analizlew (qáteler sanı, kodtıń quramalılıǵı). 4) Qátelerdi basqarıw (Defect Management) sistemasın júrgiziw. 5) Islep shıǵıwshılar hám menedjerlerge sapa boyınsha máslahát beriw. SQA injeneri proekt menedjerinen ǵárezsiz bolıwı kerek, sonday-aq ol sapasız ónimdi "Stop" (toqtatıw) huqıqına iye bolıwı tiyis. Programmalıq injeneriyada "Sapa qunı" (Cost of Quality) degen túsinik bar. Ol eki bólekten turadı: "Sáykeslik qunı" (Cost of Conformance) – sapanı támiyinlew ushın ketken qárejetler (testlew, oqıtıw, audit), hám "Sáykes emeslik qunı" (Cost of Non-Conformance) – qátelerdi dúzetiw ushın ketken qárejetler (qayta islew, jergilikli klientler, shtraflar). SQA-diń maqseti – sáykeslik qunına investiciya kirgiziw arqalı, sáykes emeslik qunınıń úlken bolıp ketiwiniń aldın alıw. SQA tek "policiya" emes, ol "sherik". Zamanagóy Agile hám DevOps metodologiyalarında sapanı támiyinlew "Shift Left" (Shepke jılısıw) principine tiykarlanǵan. Yaǵnıy, testlew hám sapa tekseriw proekttiń sońında emes, al eń basında (talaplar basqıshında) baslanadı. Hárbir komanda aǵzası (Developer, PO, Tester) sapa ushın juwapker. SQA qánigesi bul processti fasilitaciya etedi (jeńillestiredi) hám avtomatlastıradı.

Qátelerdiń klassifikaciyası: Bug, Defect, Error, Failure

SQA páninde terminologiya júdá áhmiyetli. Kóbinese "qáte" sózi qollanılsa da, kásiplik tilde "Error", "Defect" (Bug) hám "Failure" túsinikleri menen ayrıqshalanadı. "Error" (Qáte) – bul adam (programmist) tárepinen jiberilgen logikalıq yamasa sintaksislik qáte. Mısalı, talaptı nadurıs túsiniw yamasa kodta > belgisi ornına >= qoyıp qoyıw. Error – bul sebeptiń ózi. "Defect" yamasa "Bug" (Kemshilik) – bul Error nátiyjesinde kodta payda bolǵan nadurıs instrukciya. Yaǵnıy, Error (adamnıń qátesi) kodqa Defect (programmalıq kemshilik) bolıp kiredi. Defect programma iske túsirilmey turıp ta (statikalıq analizde) tabılıwı múmkin. "Bug" termini tariyxıy (Grace Hopperdiń kompyuterinen haqıyqıy qońız tabılıwı) bolsa da, rásmiy hújjetlerde "Defect" yamasa "Fault" terminleri qollanıladı.

"Failure" (Buzılıw/Irkilis) – bul Defect sebepli programma islep turǵan waqıtta (Runtime) payda bolatuǵın kútilmegen hám qáte minez-qulıq. Yaǵnıy, paydalanıwshı Error yamasa Defectti kórmeydi, ol Failure-di kóredi (mısalı,

programma qulap tústi, nadurıs esapladı). Demek, shınjır tómendegishe: Person makes Error -> Creates Defect in Code -> Causes Failure in Execution.

SQA-diń wazıypası – Error-lardı azaytıw (oqıtıw arqalı), Defect-lerdi tabıw (Code Review, Static Analysis) hám Failure-diń aldın alıw (Testlew). Qátelerdiń kelip shıǵıw sebepleri hár qıylı: talaplardıń anıq emesligi (50% qáteler usı jerden baslanadı), kodtıń quramalılıǵı, waqıt jetispewshiligi, kommunikaciyanıń bolmawı hám texnologiyanı bilmew. SQA usı sebeplerdi analizlep (Root Cause Analysis), processlerdi jaqsılaydı.

BAQLAW SORAWLARÍ:

1.Sapa támiyinlew (QA) hám Sapanı qadaǵalaw (QC) processleriniń tiykarǵı ayırmashılıǵı nede?

2."Shift Left" (Shepke jılısıw) principi sapanı támiyinlewde qanday mánisti ańlatadı?

3.Programmalıq támiynattıń Ishki sapası hám Sırtqı sapası degende neni túsinesiz? Mısal keltiriń.

4.Error, Defect hám Failure terminleriniń baylanısın túsindirip beriń.

5."Sapa qunı" (Cost of Quality) túsinigi neni ańlatadı hám ol qaysı eki bólekten turadı?

Соседние файлы в папке Programmalıq támiynat sapasın támiyinlew