Өндірістік тәжірибесінен есеп байбатыров Дінмұхаммед Маратұлы



Дата21.10.2022
өлшемі419,31 Kb.
#154372
Байланысты:
Myrzageldiev Zangar 2 otchet na
ДЗ.Нұсқаулық, Metod B1.V.DV.10.01 09.03.01 LR, картина, лаб100, Курсовая Ильяш Рустам (1), Курсовая Ильяш Рустам, 14 лаб ИКТ, курсовая Дмитрий, 15 лаб ИКТ

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
АЛМАТЫ ҚАЛАСЫНЫҢ БІЛІМ БАСҚАРМАСЫ
АЛМАТЫ ҚАЛАСЫНЫҢ ИННОВАЦИЯЛЫҚ ТЕХНИКАЛЫҚ КОЛЛЕДЖІ

Бағдарламамен қамтамасыздандыруды тестілеу бойыншы


(Тәжірибеның атауы)
өндірістік тәжірибесінен
ЕСЕП


Байбатыров Дінмұхаммед Маратұлы
(Тегі, Аты, Әкесінің аты)
Курс: 3


Тобы: С-20K
Мамандығы: 1304000 - “Есептеу техникасы және бағдарламалық қамтамасыз ету”


Біліктілігі: 1304012 - “Сандық ақпараттарды қайта өңдеу маманы”


Тәжірибедан өту орны: «А-Айя» ЖШС


Тәжірибедан өту кезеңі: «22» қырқүйек 2022 жылдан
«12» қазан 2022 жылға дейін


Тәжірибе жетекшісі: Изекенова Алтынкул Қайырбекқызы, Іс-қағаз жүргізуші маман
(Тегі, Аты, Әкесінің аты және лауазымы)

Басшының қолы__________________


Тексерген оқытушы:


Ражабов Ш.У /Аты-Жөні/

«___________» деген бағамен қорғады __________________


(қолы)
Қорғау күні: «12» қазан 2022ж.
МАЗМҰНЫ






бет

КІРІСПЕ

3

  1. НЕГІЗГІ БӨЛІМ

5

1.1 Бағдарламалық қамтамасыз ету талаптарымен жұмыс ісету

5

1.2 Бағдарламалық қамтамасыз етуді шығаруды жоспарлау

5

1.3 Эквиваленттік кластар және шекаралық шарттар

7

1.4 Күйлердің ауысуын тестілеу

8

1.5 Жарыс шарттары және басқа уақытта тәуелділіктер

9

2 АРНАЙЫ БӨЛІМ

14

2.1 Мәліметтер базасы

14

2.2 Google кесте

16

2.3 Мәліметтерді іздеу

17

2.4 ЭЦҚ кілт

19

2.5 Электронды қолтанба

19

ҚОРЫТЫНДЫ

23

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР

25

КІРІСПЕ
Тестілеу бағдарламалық қамтамасыз ету (БҚ) шешілуі қажет код кемшіліктерді, кемшіліктерді және қателіктерді анықтау. Ол сондай-ақ талдау көмегімен бағдарламалық құрал жұмысын және дұрыстығын бағалау процесі ретінде анықтауға болады. интеграция және бағдарламалық қосымшаларды тестілеу негізгі әдістері мен сапа ерекшелігі, жобалау және кодтау, сенімділігін бағалау, тексеру және бақылау тексеру болып табылады қамтамасыз ету.
Бағдарламалық жасақтаманы тестілеу – бұл белгілі бір жолмен таңдалған тестілер жиынтығында бағдарламаның нақты мінез-құлқы мен оның күтілетін мінез-құлқы арасындағы сәйкестікті тексеруге бағытталған бағдарламалық өнімді зерттеу, сынау процесі.
 Бағдарламашылар бағдарламаны жасауда жұмыс істейтін жұмыс көлемін жақсы біледі. Әрбір кішкентай қатені үтіктеуге тырысатын уақыт көп шашты шашып тастайды. Өнім барлық мүдделі тараптарды қанағаттандырмайынша, коммерциялық мақсатта пайдалануға болмайды.
Google сияқты ірі бағдарламалық жасақтама компаниялар өздерінің бағдарламалық жасақтамаларында басымдықты қателерге қарамастан табысқа жете алады, бірақ кішігірім компаниялар мен стартаптар осы сәнділікке ие емес.
Тестілеу қатаң жоспарға негізделеді. Бұл құнды ресурстарды – дағдыларды, уақытты және ақшаны пайдалануды оңтайландырады, ал мүдделі тараптарды өнімді алға жылжыту үшін маңызды ақпаратпен қамтамасыз етеді. Мақсат – сапаны қамтамасыз етудің сапалы бағдарламасының арқасында түпкі пайдаланушы тәжірибесін жақсарту . Саны соншалықты жоғары, QA менеджерлері техникадағы ең көп табыша алады. 
Бағдарламалық жасақтаманы қатесіз құру өте қиын. Бұл айтарлықтай уақытты алады. Жақсы өнім алу үшін тестілеудің екі түрі жиі қолданылады: «Альфа» және «Бета». Олар не? Олар альфа тестілеу туралы сөйлескен кезде, олар «зертханалық» ортада даму персоналының өздері жүргізетін сынақты білдіреді. Бұл бағдарлама соңғы пайдаланушыларға шығарылғанға дейін тексерудің соңғы кезеңі. Сондықтан, әзірлеушілер барынша қолдануға тырысады. Жұмысты жеңілдету үшін ақаулықтар мен түзетулер тарихын құру үшін деректерді тіркеуге болады. Бета-тестілеу деп бағдарламаны шектеулі қолданушыларға жеткізуді түсінеміз, сонда олар бағдарламаны қолдана алады және жіберілген қателерді анықтай алады. Бұл жағдайда ерекшелігі, бағдарламалық жасақтама көбінесе мақсатына сай емес қолданылады. Осының арқасында ақаулар бұрын ештеңе байқалмаған жерде анықталады. Бұл қалыпты жағдай және бұл туралы алаңдаудың қажеті жоқ.
Егер алдыңғы қадамдар сәтті аяқталған болса, қабылдау тестін өткізу қалады. Бұл жағдайда ол қарапайым формальдылыққа айналады. Бұл тексеру ешқандай қосымша проблемалар табылмағанын және бағдарламалық жасақтаманы нарыққа шығаруға болатындығын растайды. Түпкілікті нәтиже қаншалықты маңызды болса, соғұрлым тексерісті мұқият жүргізу керек. Барлық қадамдардың сәтті аяқталуын қамтамасыз ету қажет.
Бұрын дамыған бағдарламалық жасақтаманы динамикалық талдау ақауларды анықтау үшін қолдануға тиімсіз тәсіл болып табылады деп сенген. Бірақ бағдарламалардың күрделілігі мен көлемінің өсуіне байланысты керісінше көзқарас пайда болды. Автоматтандырылған тестілеу денсаулық пен қауіпсіздік бірінші кезектегі міндеттер болған жерде қолданылады. Олар кез-келген кіріс үшін болуы керек. Мұндай тестілеу орынды болатын бағдарламалардың мысалдары: желілік протоколдар, веб-сервер, құм жәшігі. Келесіде біз осындай қызмет үшін қолдануға болатын бірнеше үлгілерді қарастырамыз. Егер сіз тестілеудің ақысыз бағдарламаларына қызығушылық танытсаңыз, олардың арасында сапалысын табу өте қиын. Бірақ дәлелдеілген жобалардың хакерлік «пираттық» нұсқалары бар, сондықтан сіз олардың қызметіне жүгіне аласыз.
Алғашқы бағдарламалық жүйелер ғылыми зерттеулер бағдарламалары немесе қорғаныс министрліктерінің қажеттіліктеріне арналған бағдарламалар аясында жасалды. Мұндай өнімдерді тестілеу барлық тест процедураларын, тест деректерін, алынған нәтижелерді жазумен қатаң түрде рәсімделді. Тестілеу кодтау аяқталғаннан кейін басталған жеке процеске бөлінді, бірақ оны әдетте сол қызметкерлер орындады.
1960 жылдары «толық» тестілеуге көп көңіл бөлінді, ол кодтағы барлық жолдарды немесе барлық ықтимал кірістерді қолдана отырып жүргізілуі керек. Бұл жағдайда бағдарламалық жасақтаманы толық тестілеу мүмкін невозможностігі атап өтілді, өйткені біріншіден, мүмкін болатын кірістердің саны өте көп, екіншіден, көптеген жолдар бар, үшіншіден, сәулет пен техникалық сипаттамалардағы мәселелерді табу қиын. Осы себептерге байланысты «толық» тестілеу қабылданбады және теориялық тұрғыдан мүмкін емес деп танылды.
1970 жылдардың басында бағдарламалық жасақтаманы тестілеу «өнімнің дұрыстығын көрсетуге бағытталған процесс» немесе «бағдарламалық жасақтаманың дұрыстығын растау қызметі» ретінде белгіленді. Жаңадан пайда болған бағдарламалық жасақтама инженериясында бағдарламалық жасақтаманы тексеру «дұрыстықтың дәлелі» ретінде көрсетілген. Тұжырымдама теориялық тұрғыдан перспективалы болғанымен, іс жүзінде ол көп уақытты қажет етті және жеткіліксіз болды. Дұрыстығын дәлелдеу бағдарламалық жасақтаманы тексерудің тиімсіз әдісі деп шешілді. Алайда, кейбір жағдайларда дұрыс жұмысты көрсету қазіргі кезде де қолданылады, мысалы, қабылдау-тапсыру сынақтары. 1970 жылдардың екінші жартысында тестілеу оның жұмыс істейтінін дәлелдеудің орнына қателерді табу ниетімен бағдарламаны орындау ретінде ұсынылды. Сәтті тест – бұл бұрын белгісіз мәселелерді анықтайтын тест. Бұл тәсіл алдыңғыға тікелей қарама-қарсы. Көрсетілген екі анықтама «тестиро парадоксын» білдіреді.

1 НЕГІЗГІ БӨЛІМ

1.1 Бағдарламалық қамтамасыз ету талаптарымен жұмыс ісету


Бағдарламалық қамтамасыз ету талаптарының келесі категориялары бөлінеді өнім:
1) Функционалдық құралдар. Бұл категорияның талаптарыанықталған
берілген бағдарламалық құрал қандай функцияларды орындау керектігін анықтау. өнім жүйе және пайдаланушы деңгейінде. Түсінікті болу үшін, бағдарламалық өнім орындалмауы керек екендігі көрсетілуі мүмкін.
2) Интерфейстер. Бұл талаптар санаты кірістерді сипаттайды сыртқы жүйелерден шығарылады және сыртқы жүйелерге жіберіледі жүйесі, сондай-ақ осы интерфейстердің қабаттасатынын көрсетеді деректер пішімдері мен медиаға қатысты кез келген шектеулер ақпарат.
3) Деректер. Бұл санаттың талаптары кіріс пен шығысты сипаттайды. Жүйенің кіріс деректері, қай формат пайдаланылады, бұл деректерді сақтау қажет пе, қанша деректер жүйеге қадамдар, қандай жіберу жылдамдығымен, қандай дәлдікпен есептеулер жүргізілуі керек.
4) Өнімділік. Бұл категория сипаттайды масштабтау және уақыт мәселесі. Мысалы, сома.
Жүйе бір уақытта қызмет көрсетуі тиіс пайдаланушылар, сұрауға жауап күту уақыты (сақ болу керек бұл талаптарды сандық мәндермен өрнектегенде, өйткені олардың тексеру қажет болады).
5) Пайдаланушылар және адам факторы. Бұл талаптар сипатталады осы жүйені пайдаланушының біліктілігі, ыңғайлылық деңгейі және пайдаланудың қарапайымдылығы, мысалы, максималды саны жүйеде кейбір операцияларды орындауға арналған әрекеттер жиынтығы.
6) Қауіпсіздік. Бұл санаттың талаптары қалай сипаттайды жүйеге, оның деректеріне, деректер керек жерде қол жеткізу қайталануы және қаншалықты жиі болуы.
7) Құжаттама. Талаптар құжаттың болуы керек пе екенін анықтайды жүйеге, кім үшін баспа немесе интерактивті түрде ескерту ол арналған.
8) Ақаулықтарды жою. Осы категорияның талаптары сипатталған пайда болған кезде жүйенің қалай әрекет ету керектігін сипаттаңыз дұрыстығы, дабыл сигналын беру қажет пе, қай уақытта тұруы күтілуде.
9) алып жүру. Ол қалай жасауға қойылатын талаптарды сипаттайды ақаулықтарды жою жүргізілуде және жаңасын жеткізу шарттары қандай бағдарлама нұсқалары.



    1. Бағдарламалық қамтамасыз етуді шығаруды жоспарлау

Кез келген бағдарламалық өнімді әзірлеу а-дан басталады оған қойылатын талаптар (ағыл., Requirements). Кездесулер өткізіледі тапсырыс
берушімен сұхбат, нәтижесінде құжат жасалады, өнімге қойылатын барлық талаптарды көрсетеді. Сипатталған функционалды (бағдарлама не істеу керек) және функционалдық (мысалы, қандай жабдықта жұмыс істеу керек tat бағдарламасы) талаптар.
Талаптарды әзірлеу процесі келесі қадамдардан тұрады.
1) Тұтынушылар сауалнамасы – нысандағы сұхбат арқылы жүргізіледісұрақтар мен жауаптар. Сл айдтар, макеттер, сызбалар, аналогтар қолданылады. Икемді жобалар, тапсырыс берушінің тілектері талқыланады. Сол кезде әдістерді нақтылау үшін тестілеушінің болуы қажет бағдарламалық өнім қолданбасы, ең көп және ең аз пайдаланатын функциялар тізімі. Мұндай ақпарат мүмкіндік береді тестілеуге бөлінген уақытты бөлу ұтымдырақ және ең маңызды функционалдылыққа көбірек назар аударыңыз.
2) Талаптар құжатын дайындау. Ақпарат түскендей тапсырыс берушіден талап етілсе, талаптар құжат түрінде ресімделеді (әйтпесе мұнда талаптарды анықтау құжаты деп те аталады), бұл ауызекі табиғи тілдегі барлық талаптардың тізімі бар номиналды тіл. Бұл құжат мыналарды қамтуы керек.
Талаптар қасиеттері:

  • әрбір талаптың бірегей идентификаторы болуы керек;

  • талаптар пайдаланушының көзқарасы бойынша ұсынылуы керек жүйенің шақырушылары және жүйенің ішкі қасиеттеріне әсер етпейді және бағдарлама кодының мәліметтері; тізімде функционалды да, функционалды да болуы керек және функционалды емес талаптар;

  • талаптар құжаты қауіпсіз жерде сақталуы керек және конфигурациялармен басқарылады.

3) Талаптардың спецификациясын әзірлеу. Спецификация қажет бағдарламалық өнімге арналған анықтама немесе спецификация (ағылшын, бағдарламалық құрал Спецификация) талаптар құжатымен бірдей нәрсені сипаттайды, бірақ әзірлеушілерге арналған, сондықтан жаңартылған деректерді қамтиды және қажетті техникалық мәліметтер. Мысалы: пайдаланылған кітапханалар тегтер, класстар, деректер қоры, деректер типтері, терезе элементтері, интерфейс объектілері.
4) Талаптардың бақылау матрицасын құру (ағылшын, талаптардың бақылау матрицасы). Бұл матрицаның мақсаты әрбір талапты оның орындалуымен сәйкестендіру бағдарламаны әзірлеу кезеңдері, яғни жоба құрамдас бөліктері, бағдарламалар код және сынақ жағдайлары. Бұл тәсіл жоғалтуды болдырмайды бағдарламалық қамтамасыз етуді әзірлеудің кез келген сатысында талап етілмейді.
5) Талаптарды талдау және тестілеу. Әзірлеу аяқталғаннан кейін ki талаптары оларды келесі критерийлерге сәйкес тексере бастайды:
а) толықтық – талаптар жиынтығы, егер оның барлығы орындалса, толық болып саналады құрамдас бөліктер көрсетіліп, әрбір бөлігі толық орындалады көлемі. Талаптарда өрнектер болмауы керек: және т.б. және т.б. жіңішкеруге ұшырайды және де болмауы керек жоқ ақпаратқа сілтеме жасау;
б) бірегейлік, яғни талап бірегейлікке мүмкіндік беруі керек жаңа интерпретация. Оқылатын және түсінікті болуы керек;
в) жүйелілік, яғни талаптар сәйкес келмеуі керек бір-бірін және қолданыстағы стандарттарды құрметтеңіз. Қажет болған жағдайда-көпірлер, басымдықтар жүйесін енгізуге болады;
г) қадағалану – әрбір талаптың бірегейі болуы керек cal идентификаторы, ол сізге оны ізге түсіруге мүмкіндік береді бағдарламаны әзірлеудің бүкіл өмірлік циклі;
д) орындылығы – әрбір талапқа қарсы тұру керек функционалдық тұрғыдан да жүйенің нақты орындалатын міндеттері ki көрінісі, және дамуға жұмсалған уақыт пен ақша тұрғысынан;
f) қадағалану – әрбір талап болуы керек тестілеу рұқсат етілген шегінде орындалуы үшін өлшенетін шарттар.

1.3 Эквиваленттік кластар және шекаралық шарттар


Функционалдық тестілеуді жоспарлау кезінде, сөзсіз сынақ деректерін таңдау міндеті болып табылады. Артық кетуді азайту үшін бағдарламаның барлық кіріс деректерінің аймағын бөлуге болады эквиваленттік класстардың шектеулі саны. Бұл бөлу негізделген жалпы жүйелер теориясынан эквиваленттілік принципі бойынша бұл контексте былайша көрсетілуі мүмкін: егер жүйе тақырып қандай да бір жолмен x1 кіріс мәніне жауап береді, содан кейін жүйенің жауап беру ықтималдығы өте жоғары х1-ге өте жақын x2 кіріс мәніне ұқсас. Содан кейін жүйенің кіріс деректерінің барлық жиынтығын келесідей бөлуге болады кем дегенде екі эквиваленттік класс: жарамды мәндер класы (олар оң сынаққа қосылады) және жарамсыз мәндер класы (болмайтындар үшін) теріс сынақ). Содан кейін шекаралық мәндер сол деп аталады эквивалентті сыныптардың шекарасында орналасқан мәндер және баламасы – сынып ішінде орналасқандар эквиваленттік үкілер. Мысалы, бүтін өрісті қарастырыңыз тауардың бағасын енгізу, ол талаптарға сәйкес болуы мүмкін диапазонында [0; 1 000 000] рубль (1.1-кесте).

1.1-кесте. Эквиваленттік кластарға бөлудің мысалы



Жарамды сынып

Жарамсыз сынып

Шекара

Эквивалент

Шекара

Эквивалент

0,1000000

1,999999

1,100000001

–2, 10000000000000,




500000




0, –50000










10.5, абв, 2$



Мысалдан көрініп тұрғандай, біз эквивалентті деректерді аламыз мәндер сол жақ шекараға, оң жақ шекараға және үшін оң сынақ диапазонның ортасына жақын. Эквивалентті мәндер жалғандар класының мәндері мүлдем басқаша болуы мүмкін, бірақ бағдарламаны бұзу және кейбіреулерінде оның реакциясын тексеру үшін ант беру күтілетін жағдайлар. Эквиваленттік сыныптарға қарамастан 0, -1, +1 және арнайы таңбаларды тексеру ұсынылады.

1.4 Күйлердің ауысуын тестілеу


State Transition Testing – бұл әртүрлі енгізу кезінде қолданба күйінің өзгеруін тексеру үшін орындалатын бағдарламалық жасақтаманы тестілеудің бір түрі. Өткізілген енгізу шарты өзгереді және күйдің өзгеруі байқалады.
Күйлердің ауысуын тестілеу негізінен жүйелі түрде берілген әртүрлі енгізу жағдайлары үшін жүйенің немесе қолданбаның әрекетін бақылау үшін жүзеге асырылатын қара жәшік тестілеу әдісі болып табылады. Тестілеудің бұл түрінде оң және теріс кіріс мәндері қамтамасыз етіледі және жүйенің әрекеті байқалады.
Мемлекеттік өтпелі тестілеу негізінен әртүрлі жүйе ауысуларын тексеру қажет болған жағдайда қолданылады.



1.1-сурет. Күйлердің ауысуын тестілеу

Күйге ауысу сынағы – бұл «Ақырлы күй машиналарын» сынау үшін қолдануға болатын Blackbox тестілеу әдісі.


«Ақырлы күй машинасы (FSM)» - бұл кірістерге немесе ынталандыруға байланысты әртүрлі дискретті күйлерде («дайын», «дайын емес», «ашық», «жабық»,…) болатын жүйе.
Дискретті жүйенің аяқталатыны жүйенің ауысу ережелеріне байланысты. Яғни, егер жүйе бұрынғы күйіне байланысты бір кіріс үшін басқа нәтиже берсе, онда ол ақырлы күй жүйесі болып табылады.
Әрі қарай, егер әрбір транзакция жүйеде тексерілсе, ол «0-қосқыш» қамтуы деп аталады. Егер тестілеу жарамды транзакциялардың 2 жұбын қамтыса, онда ол «1-қосқышты» қамту және т.б.
Күйге ауысу техникасы – динамикалық тестілеу әдісі, ол жүйе күйлердің шекті санымен анықталғанда және күйлер арасындағы ауысулар жүйе ережелерімен реттелетін кезде қолданылады.
Немесе басқаша айтқанда, бұл әдіс жүйенің ерекшеліктері бір-біріне айналатын күйлер ретінде ұсынылған кезде қолданылады. Түрлендірулер бағдарламалық қамтамасыз ету ережелерімен анықталады.
Күйдің ауысуының жалпы мағынасы - бір жағдайдың әртүрлі формалары, ал мағынасына сәйкес күйдің ауысу әдісі бірдей әрекет етеді. Ол бір функцияға әртүрлі кіріс мәндері берілген кезде бағдарламалық құрал қолданбасының әрекетін түсіру үшін қолданылады.
Біз бәріміз банкоматтарды пайдаланамыз, одан ақша алған кезде ол шоттың мәліметтерін көрсетеді. Енді біз қайтадан басқа транзакция жасаймыз, содан кейін ол қайтадан шот мәліметтерін көрсетеді, бірақ екінші транзакциядан кейін көрсетілетін мәліметтер бірінші транзакциядан өзгеше, бірақ екі деректеме де банкоматтың бірдей функциясын пайдалану арқылы көрсетіледі. Сонымен, бұл жерде бірдей функция пайдаланылды, бірақ шығыс әр түрлі болған сайын, бұл күйге ауысу деп аталады. Бағдарламалық жасақтаманы тестілеу жағдайында бұл әдіс функцияның әртүрлі кірістерді енгізу кезінде күйге өту спецификацияларына сәйкес келетінін тексереді.
Бұл қолданбаға кіру әрекеттерінің нақты санын қамтамасыз ететін қолданбалардың түрлеріне қатысты, мысалы, қате әрекеттердің көрсетілген санынан кейін құлыпталатын қолданбаның кіру функциясы. Егжей-тегжейлі қарастырайық, кіру функциясында біз электрондық пошта мен парольді қолданамыз, ол қолданбаға кіру әрекеттерінің белгілі бір санын береді, әрекеттердің максималды санын кесіп өткеннен кейін ол қате туралы хабармен құлыпталады.

1.5 Жарыс шарттары және басқа уақытта тәуелділіктер


Бағдарламалық құралдағы жарыс жағдайы - жүйедегі ортақ ресурстарға бірнеше нысандар қатынасқанда немесе өзгерткенде орын алуы мүмкін жағымсыз оқиға. Бұл нысандар ортақ ресурстарды күткендей пайдаланған кезде жүйе дұрыс әрекет етеді. Бірақ кейде бақыланбайтын кідірістерге байланысты оқиғалардың салыстырмалы уақытына байланысты операциялардың реттілігі өзгеруі мүмкін. Бұл орын алған кезде жүйе арналмаған күйге кіріп, сәтсіздікке ұшырауы мүмкін. "Жарыс" сәтсіздіктің бұл түрі қай ұйымның ортақ ресурсқа бірінші рет қол жеткізе алатынына байланысты болғандықтан орын алады.
Нәсілдік жағдайдың бір анықтамасы оны «оқиғалардың салыстырмалы уақытына күтпеген сыни тәуелділікке байланысты аномальды мінез-құлық» ретінде сипаттайды. Бұл анықтама аппараттық және бағдарламалық жасақтаманың жарыс шарттарына қолданылуы мүмкін деген мағынада кең. Бағдарламалық құралда жарыс жағдайы қол жеткізу дизайнмен дұрыс басқарылмайтын кейбір ортақ ресурсқа байланысты орын алады.

1.2-сурет. Бағдарламалық құралдың жарыс жағдайын суреттеу.

Процесс дерекқорда немесе кейбір ортақ жадта сақталған мәнді (v) арттыруы тиіс функцияны шақырады делік. Бұл операция атомдық емес, яғни оны кішірек қадамдарға бөлуге болады. Функция ағымдағы мәнді дерекқордан (A) оқиды, оны функция айнымалысы (B) ретінде жадта сақтайды, оны көбейтеді (C) және соңында жаңа мәнді дерекқорға жазады (D). Сондықтан бұл функцияның орындалуы A-D қадамдарының тізбегі болып табылады.


Егер P1 процесі осы функцияны шақырса және C қадамына өтсе, жарыс шарты орын алады. Бұл арада операциялық жүйе оны алдын ала алады және басқа P2 процесі іске қосу мүмкіндігін алады. P2 бірдей функцияны шақырады, A-D барлық қадамдарын аяқтайды және қайтарады. P1 жалғастырылғанда, ол P2 нәтижесін (v+1) емес, ескі мәнді (v) пайдаланып C қадамынан жалғастырады.
Егер P1 барлық қадамдарды алдын ала таңдаусыз орындаса, жарыс шарты орын алмас еді; немесе P1 барлық қадамдарды орындамайынша, P2 функциясын орындауға тыйым салынды.
Жоғары деңгейлі бағдарламалау тілінде бір жол ретінде көрінетін нәрсе шын мәнінде бірнеше сағат циклдерін қамтитын бірнеше құрастыру нұсқауларына аударылады. Сондықтан орындау процесі немесе ағын құрастыру нұсқауларының осы тізбегі бойынша кез келген жерде үзілуі мүмкін. Осылайша, жарыс шарты әлі де мүмкін.
Microsoft қолдау қызметі өз сайтында Total = Total + val1 сияқты Visual Basic кодының бір жолы x86 негізіндегі процессор үшін алты құрастыру нұсқауларына қалай аударылатынын көрсетеді.
Жарыс шарты уақытқа байланысты болғандықтан, ол ортақ ресурсқа кіру үшін бірнеше процестер «жарысатын» кез келген жүйеде орын алуы мүмкін. Демек, ол тек нақты уақыттағы жүйелермен шектелмейді. Кез келген көп ағынды немесе таратылған жүйеде жарыс шарттары болуы мүмкін.
Параллельді есептеулерде жиі кездесетін көп ядролы процессорлары бар аппараттық құрал жарыс күйінен зардап шегуі мүмкін, өйткені бірнеше процесстер бір уақытта бірнеше ядроларда немесе процессорларда жұмыс істейді. Желілік жүйелерде арнаны ортақ ресурс ретінде қарастыруға болады және егер екі пайдаланушы ортақ арна жарысы жағдайына қол жеткізуге әрекеттенсе, пакеттердің соқтығысуына әкеледі. Спутниктік сілтемелер сияқты үлкен кідірістері бар желілік сілтемелер жарыс жағдайын тудыруы мүмкін. Көп ағынды қолданбалар жарыс жағдайына бейім.
Веб-қосымшалар жарыс күйінен зардап шегуі мүмкін, өйткені бірнеше клиенттер веб-серверге параллельді сұрауларды жібереді, бұл сұрауларға қызмет көрсету үшін бірнеше ағындарды немесе процестерді тудыруы мүмкін. Тіпті бір пайдаланушы сеансы үшін жарыс жағдайы мүмкін. Мысалы, веб-чат қолданбасы соңғы жаңартуларды тексеру үшін мерзімді түрде AJAX сұрауын жібере алады. Бұл ретте пайдаланушы жаңа чат хабарламасын жасай алады.
Жарыс жағдайын болдырмаудың әдеттегі шешімі ортақ ресурсқа кіруді сериялау болып табылады. Егер бір процесс бірінші қол жеткізсе, басқа процестер ресурс қолжетімді болғанша күтуі үшін ресурс "құлыпталады". Операциялық жүйе басқа процестерді орындауға мүмкіндік берсе де, олар ресурста блокталады. Бұл бірінші процеске ресурсқа қауіпсіз қол жеткізуге және жаңартуға мүмкіндік береді. Аяқтағаннан кейін ол ресурсты «шығарады». Ресурста күтіп тұрған процестердің бірі енді ресурсқа қол жеткізу мүмкіндігіне ие болады. Құлыптар арқылы осылай қорғалған код критикалық бөлім деп аталады. Бір ғана процеске рұқсат беру идеясы өзара алып тастау деп аталады.
Үлкен маңызды бөлімдердің болуы өнімділікке әсер етеді. Мұндай кодты кішірек маңызды бөлімдерге қайта өңдеуге болады. Нақты уақыттағы жүйелерде немесе ядро кодында басқа шешім - маңызды бөлімге кіру (және кету кезінде қосу) кезінде үзілістерді өшіру.
Бірінші симптом - нәтижелерді болжау мүмкін емес. Шын мәнінде, жарыс күйінің кездейсоқ сипаты жөндеуге қиындық тудырады, өйткені отладка режимінде жарыс жағдайы пайда болмауы мүмкін. Осы себепті жарыс жағдайын анықтау үшін кодты шолу ұсынылады. Бұл шын мәнінде жарыс жағдайын болдырмаудың ең жақсы жолы тестілеу және жөндеу емес, мұқият дизайн екенін білдіреді.
Динамикалық талдауды орындайтын және орын алуы мүмкін жарыс жағдайларын белгілейтін құралдар бар. Мысалдарға Java және Intel Inspector үшін Coverity's Thread Analyzer кіреді. Clang Thread Safety Analysis – жарыс жағдайын анықтауға арналған статикалық талдау құралы. ThreadSanitizer — Clang және Go тілдерінде қолданылатын C++ тілінде жазылған деректер жарысы детекторы.
Жарыс шарты бағдарламаның параллель орындалуында екі немесе одан да көп ағындар ортақ ресурсқа, мысалы, ортақ жадтағы айнымалыға қатынасқанда орын алады және қатынасулардың реті уақытқа, яғни жеке ағындардың орындалу барысына байланысты.
Жарыс шартының диспозициясы параллельді бағдарламада. Бір бағдарламаның әр түрлі орындалуларында бір кірісте жарысты құрайтын қол жеткізу оқиғалары әртүрлі ретпен орын алуы мүмкін, ол әдетте әртүрлі бағдарлама әрекеттеріне (анықтамаушылық) әкелмейді.
Күтпеген анықтаусыздықты тудыруы мүмкін жарыс жағдайлары бағдарламалау қателері болып табылады. Мұндай бағдарламалау қателерінің мысалдары дұрыс емес синхрондау салдарынан атомдылықтың бұзылуы болып табылады.
Жарыс шартының қарапайым мысалы - жарық қосқышы. Кейбір үйлерде жалпы төбелік шамға қосылған бірнеше жарық қосқыштары бар. Тізбектердің осы түрлерін пайдаланған кезде коммутатордың орны маңызды емес болады. Шам жанып тұрса, кез келген қосқышты ағымдағы күйінен жылжыту шамды өшіреді. Сол сияқты, егер шам өшіп тұрса, кез келген қосқышты ағымдағы күйінен жылжыту шамды қосады.
Осыны ескере отырып, екі адам бір уақытта екі түрлі қосқышты пайдаланып шамды қосуға тырысса, не болатынын елестетіп көріңіз. Бір нұсқау екіншісін болдырмауы мүмкін немесе екі әрекет автоматты ажыратқышты өшіруі мүмкін.
Компьютер жадында немесе жадында деректердің үлкен көлемін оқу және жазу пәрмендері дерлік бірдей сәтте қабылданса және ескі деректер әлі жұмыс істеп тұрған кезде құрылғы ескі деректердің кейбірін немесе барлығын қайта жазуға әрекеттенсе, жарыс жағдайы орын алуы мүмкін. оқыңыз. Нәтиже келесілердің бірі немесе бірнешеуі болуы мүмкін:

  • компьютер істен шығады немесе бағдарламаның заңсыз әрекетін анықтайды;

  • ескі деректерді оқудағы қателер;

  • жаңа деректерді жазу қателері.

Жарыстың сыни жағдайы құрылғының, жүйенің немесе бағдарламаның соңғы күйінің өзгеруіне әкеледі. Мысалы, жалпы жарыққа қосылған екі жарық қосқышын бір уақытта аударғанда, тізбекті жарып жіберсе, бұл сыни жарыс жағдайы болып саналады. Бағдарламалық құралда сыни жарыс жағдайы - бұл болжау мүмкін емес немесе анықталмаған мінез-құлықпен қатеге әкелетін жағдай.
Сыни емес жарыс жағдайы жүйенің, құрылғының немесе бағдарламаның соңғы күйіне тікелей әсер етпейді. Жарық мысалында, егер шам өшіп тұрса және екі қосқышты бір уақытта айналдыру шамды қосады және бір қосқышты аудару сияқты әсерге ие болса, онда бұл сыни емес жарыс шарты. Бағдарламалық құралда сыни емес жарыс жағдайы қатеге әкелмейді.
Сыни және сыни емес жарыс шарттары электроника немесе бағдарламалаумен шектелмейді. Олар жарыс жағдайлары орын алатын жүйелердің көптеген түрлерінде пайда болуы мүмкін.
Бағдарламалауда жарыс жағдайларының екі негізгі түрі кодтың критикалық бөлімінде орын алады, ол бірнеше ағындармен орындалатын код бөлімі болып табылады. Бірнеше ағындар айнымалы мәнді оқуға тырысқанда, содан кейін әрқайсысы оған әрекет еткенде, келесі жағдайлардың бірі орын алуы мүмкін:

  • Оқу-өзгерту-жазу. Жарыс шартының мұндай түрі екі процесс бағдарламадағы мәнді оқып, жаңа мәнді жазғанда орын алады. Бұл көбінесе бағдарламалық жасақтаманың қатесін тудырады. Жоғарыда келтірілген мысал сияқты, екі процестің дәйекті түрде орындалатыны күтіледі -- бірінші процесс оның мәнін шығарады, содан кейін екінші процесс сол мәнді оқиды және басқасын қайтарады.

Мысалы, тексеру шотына қатысты чектер дәйекті түрде өңделсе, жүйе алдымен А чекін өңдеу үшін шоттағы қаражаттың жеткілікті екеніне көз жеткізеді, содан кейін А чекін өңдегеннен кейін В чекін өңдеу үшін жеткілікті қаражаттың бар-жоғын тексеру үшін қайтадан қарайды. Дегенмен, егер екі тексеру бір уақытта өңделсе, жүйе екі процесс үшін бірдей шот балансының мәнін оқып, шоттың шамадан тыс алынуына себеп болатын қате шот балансының мәнін беруі мүмкін.

  • Тексеріңіз, содан кейін әрекет етіңіз. Бұл жарыс шарты екі процесс әрқайсысы сыртқы әрекетті қабылдайтын мәнді тексергенде орын алады. Процесстердің екеуі де мәнді тексереді, бірақ тек бір процесс өзімен бірге мәнді қабылдай алады. Кейінірек орын алатын процесс мәнді нөл ретінде оқиды. Бұл бағдарламаның әрі қарай не істейтінін анықтау үшін ықтимал ескірген немесе қолжетімді емес бақылаудың пайдаланылуына әкеледі. Мысалы, карта қолданбасы бірдей орын деректерін қажет ететін екі процесті бір уақытта іске қосса, біреуі бірінші мәнді қабылдайды, сондықтан екіншісі оны пайдалана алмайды. Кейінгі процесс деректерді нөл ретінде оқиды.

Тапсырмаларды белгілі бір ретпен өңдеуге арналған бағдарлама, егер бір уақытта екі немесе одан да көп әрекетті орындау сұралса, қауіпсіздік мәселелері туындауы мүмкін. Қауіп актері тығырықтану немесе ағынды блоктау жағдайын жасау үшін қызметтің іске қосылуы мен қауіпсіздікті басқарудың күшіне енуі арасындағы уақыт аралығын пайдалана алады.
Тұйықталу осалдығы қызмет көрсетуден бас тарту осалдықтарының ауыр түрі болып табылады. Бұл екі немесе одан да көп жіптер бір-бірінің айналмалы тізбектегі құлыпты алуын немесе босатуын күту керек болғанда жасалуы мүмкін. Бұл жағдай тұйыққа тіреледі, онда бүкіл бағдарламалық жүйе тоқтап қалады, өйткені тізбек дөңгелек болса, мұндай құлыптарды ешқашан алуға немесе босатуға болмайды.
Тақырып блогы қолданбаның өнімділігіне де айтарлықтай әсер етуі мүмкін. Сәйкестік ақауының бұл түрінде бір ағын құлыпты ұстап тұрып және басқа ағындардың ілгерілеуіне жол бермеу кезінде ұзақ жұмыс істейтін әрекетті шақырады.
2 АРНАЙЫ БӨЛІМ

2.1 Мәліметтер базасы


Мәліметтер базасы – бұл мәліметтерді басқаратын, таңдайтын, сұрыптайтын және басқа да осыған ұқсас әрекеттерді жүзеге асыратын үлкен көлемдегі ақпаратты және бағдарламалық модульдерді сақтауға арналған құрылымдардың жиынтығы. Мәліметтер қоры туралы ақпарат бір немесе бірнеше кестелерде сақталады. Деректерді қамтитын әрбір кесте реті бойынша сұрыпталған бір типті жазбалар жиынынан тұрады. Бұл қосуға, жоюға немесе өзгертуге болатын кесте жолдары. Әрбір жазба туған күннен бастап рецепттің егжей-тегжейлі сипаттамасына дейін әртүрлі ақпаратты сақтай алатын атаулы өрістер немесе ұяшықтар жиынынан тұрады. Әртүрлі деректер жазбаларының бір типті өрістері бір кесте бағанын құрайды.
Бір кестенің жазбаларында басқа кестедегі деректерге сілтемелер болуы мүмкін, мысалы, тауарлар тізімі бар кестеде олардың мекенжайлары және басқа да мәліметтері бар тауарларды өндірушілердің тізіміне сілтемелер болуы мүмкін. Бұл жағдайда әртүрлі өнімдерге қатысты құжаттар бір өндірушіге сілтеме жасай алады. Кестелердің мұндай әрекеттесуі коммуникация деп аталады.
Мәліметтер қорының басқа модульдері кестелерде сақталған ақпаратты өңдеуге арналған. Сұраулар белгілі бір шарттарға сәйкес келетін деректерді таңдау үшін қолданылады. Пішіндер ақпаратты пішімделген енгізуге және қабылдауға арналған. Тақырыптары, нүктелері және кірістірілген нүктелері бар деректер жазбаларының түспен кодталған тізімін (әдетте принтерге) шығарады.
Кестені жасағаннан кейін бізде толық дерекқор бар.
Мәліметтер түрлері мен құрылымдары
Компьютер жадында сақталған мәліметтер нөлдер мен бірліктердің (биттердің) жиынтығы болып табылады. Биттер дәйекті түрде біріктіріледі: байттар, сөздер және т.б. Байт немесе сөз болуы мүмкін ЖЖҚ-ның әрбір бөліміне сериялық нөмір (адрес) беріледі
Мәліметтер нені білдіреді, ол алфавиттік немесе сандық таңбалармен өрнектеледі ме, цифр нені білдіреді – мұның бәрі өңдеу бағдарламасы арқылы анықталады. Практикалық есептерді шешуге қажетті барлық мәліметтер бірнеше түрге бөлінеді, ал термин түрі адрестік кеңістіктегі мәліметтерді бейнелеумен ғана емес, сонымен қатар оларды өңдеу тәсілімен де байланысты.
Барлық мәліметтерді екі түрдің біріне жатқызуға болады: нысаны компьютер архитектурасымен анықталатын негізгі (қарапайым) деректер немесе нақты есептерді шешу үшін пайдаланушы әзірлеген күрделі деректер.
Қарапайым типтегі деректер таңбалар, сандар және т.б. Әрі қарай бөлшектену мағынасы жоқ элементтер. Элементарлы деректер деректер құрылымдарын (күрделі типтер) қалыптастыру үшін қолданылады.
Кейбір құрылымдар:
Массив (анықтамалардың шекті диапазоны бар функция) типтегі деректер элементтерінің қарапайым жиыны, типтің деректер тобының қолдаушысы.Массивтің жеке элементі индекс арқылы анықталады. Массив бір өлшемді, екі өлшемді және т.б. Айнымалы ұзындықтағы бір өлшемді массив айнымалылары сақина, стек, кезек және декв құрылымдары болып табылады.
Жазба (декарттық өсімдік) – бұл әртүрлі типтегі деректер элементтерінің жиынтығы. Ең қарапайым жағдайда деректер жиыны өрістер деп аталатын элементтердің тұрақты санын қамтиды. Бірдей құрылымы бар деректер жазбаларының жиынтығы файл деп аталады. (Файл магниттік диск сияқты сыртқы жад құрылғысындағы деректер жинағы деп те аталады.) Файлдан жеке жазбаларды шығару үшін әрбір жазбаға оның идентификаторы ретінде қызмет ететін және бөлек өрісте орналасқан бірегей атау немесе нөмір тағайындалады. Бұл идентификатор кілт деп аталады.
Массив немесе деректер жиыны сияқты деректер құрылымдары компьютер жадында тұрақты орын алады, сондықтан оларды статикалық құрылымдар деп атайды. Көптеген нәрселер статикалық құрылымдарға да қатысты.
Ұзындығын өзгерте алатын бірқатар құрылымдар бар – динамикалық құрылымдар деп аталады. Олардың құрамында ағаш, тізім, сілтеме бар.
Элементтерді табу үшін сызықты емес мекенжай кеңістігін қажет ететін маңызды құрылым ағаш болып табылады. Ағаштар ретінде ұсынылуы мүмкін көптеген деректер құрылымдары бар. Оларға жіктеу, иерархиялық, рекурсивті және басқа құрылымдар жатады.
Көптеген күрделі деректер түрлері бар, бірақ көптеген практикалық материалдармен жүргізілген зерттеулер кейбір ең көп таралған деректер түрлерін анықтауға болатынын көрсетті. Жалпы құрылымдарды деректер үлгілері деп те атайды, өйткені олар нақты деректерге пайдаланушының көзқарасын көрсетеді.
Мәліметтер базасы әдетте компьютерлік жүйеде электронды түрде сақталатын құрылымдық ақпараттың немесе деректердің реттелген жиынтығы болып табылады. Мәліметтер қорын әдетте мәліметтер қорын басқару жүйесі (ДҚБЖ) басқарады. Мәліметтер ДҚБЖ-мен бірге, сондай-ақ олармен байланысқан қолданбалы бағдарламаларды мәліметтер қоры жүйесі немесе қысқаша айтқанда жай ғана мәліметтер базасы деп атайды
Дерекқорды басқару жүйесі – бұл деректерге қол жеткізуді жүзеге асыратын, оларды құруға, өзгертуге және жоюға мүмкіндік беретін, деректердің қауіпсіздігін қамтамасыз ететін және т.б. тілдік және бағдарламалық құралдардың жиынтығы. Бұл ДҚБЖ деректеріне қол жеткізуді арнайы тіл - SQL арқылы жүзеге асырады.
SQL-бұл құрылымдалған сұрау тілі, оның негізгі міндеті-дерекқорға ақпаратты оқу мен жазудың қарапайым әдісін ұсыну.
Қолдану ерекшеліктеріне қарай басқару жүйелері Көп пайдаланушылық (желілік) және бір пайдаланушылық (бір жергілікті ДК үшін арналған) болып жіктеледі. Ешқандай әмбебап бағдарлама жоқ, олардың саны ондаған. Бірақ ең көп таралған және ақысыз ДҚБЖ – бұл MySQL, реляциялық деректер базасымен жұмыс істейді, оны үйрену оңай. Олар жаппай тұтынушы үшін барлық серверлер мен хостингтерде қолданылады. Реляциялық базалар-бұл ақпараттық бағандар мен жолдары бар қарапайым кесте. Олардың қиылысатын жерлерінде ұяшықтар болады. Деректер базасында бір-бірімен өзара әрекеттесетін көптеген кестелер болуы мүмкін.

2.2 Google кесте


Google Sheets – бұл Google ұсынатын Google Docs Editors редакторларының тегін веб-пакетінің бөлігі болып табылатын электрондық кесте бағдарламасы . Қызметке сонымен қатар: Google Docs , Google Slides , Google Drawings , Google Forms , Google Sites және Google Keep кіреді . Google кестелері веб-қосымша , мобильді қосымша ретінде қол жетімді: Android , iOS , Microsoft Windows , BlackBerry OS және Google платформасындағы жұмыс үстелі қосымшасы.Хром ОС . Бағдарлама Microsoft Excel файл пішімдерімен үйлесімді. Бағдарлама пайдаланушыларға нақты уақыт режимінде басқа пайдаланушылармен жұмыс жасау арқылы файлдарды желіде құруға және өңдеуге мүмкіндік береді. Өзгерістерді пайдаланушы өзгерістерді білдіретін өзгерістер журналы арқылы бақылайды. Редактордың позициясы редакторға тән түс пен курсормен ерекшеленеді, ал рұқсат беру жүйесі пайдаланушылардың не істей алатындығын реттейді. Жаңартулар электронды кестеде табиғи тілдегі сұрақтарға жауап беретін машиналық оқытуды, соның ішінде "зерттеуді" қолданатын функцияларды ұсынды.
Google кестелері Джонатан Рошелл және Фарзад "Фуззи" Хосровшахи негізін қалаған 2web Technologies компаниясы жасаған XL2Web веб-қосымшасынан шыққан. XL2Web 2006 жылы Google-мен сатып алынды және Google Labs Spreadsheets-ке айналды. Ол 2006 жылдың 6 маусымында кезек-кезек шектеулі пайдаланушылар үшін тест ретінде іске қосылды шектеулі тест кейінірек барлық Google есептік жазбалары үшін қол жетімді бета нұсқасымен ауыстырылды. иелері, шамамен сол уақытта, ресми пресс-релиз хабарландыру. 2010 жылдың наурызында Google docverse компаниясын интернеттегі құжаттармен бірлесіп жұмыс жасау үшін сатып алды. DocVerse бірнеше пайдаланушыларға Интернетте Excel-мен үйлесімді құжаттармен, сондай-ақ Microsoft Word және Microsoft PowerPoint сияқты басқа Microsoft Office форматтарымен бөлісуге мүмкіндік берді. DocVerse негізіндегі жақсартулар туралы 2010 жылдың сәуірінде жарияланды және орналастырылды. 2012 жылдың маусым айында Google Quickoffice-ті , мобильді құрылғыларға арналған тегін жеке меншік пакетті сатып алды. 2012 жылдың қазан айында Google кестелері Google кестелері деп аталды және жаңа Chrome қойындысындағы кестелерге сілтемелер беретін Google Chrome қосымшасы шығарылды.
Google Sheets келесі веб-шолғыштарда қолдау көрсетілетін веб-қосымша ретінде қол жетімді: Google Chrome, Microsoft Edge , Firefox , Internet Explorer және Safari . Пайдаланушылар барлық электрондық кестелерге, басқа файлдарға, Google Drive веб-сайты арқылы қол жеткізе алады . 2014 жылдың маусымында Google кестелер үшін арнайы веб-сайт бетін орналастырды, онда тек кестелер арқылы жасалған файлдар бар. 2014 жылы Google Android және iOS мобильді операциялық жүйелерінде арнайы кесте мобильді қосымшасын іске қосты. 2015 жылы кестелерге арналған мобильді веб-сайт "қарапайым және біртұтас" интерфейспен жаңартылды және пайдаланушылар электрондық кестелерді мобильді веб-сайттар арқылы оқи алатын болса да, өңдеуге тырысатын пайдаланушылар мобильді интернетке редакциялауды болдырмау үшін мобильді қосымшаға жіберіледі.

2.3 Мәліметтерді іздеу


Мәліметтерді іздеу – құрылымдық (мысалы, дерекқорлар) және құрылымсыз (мысалы, мәтіндік құжат) деректерде ақпаратты іздеу және өңдеу алгоритмдерін зерттейтін информатика саласы. Деректерді іздеу деректерді сүзу тұжырымдамасымен ажырамас байланысты.
Жалпы, іздеу дегеніміз – түсініксіз, жоғалған немесе жасырын бөлікті табу үшін бір нәрсені зерттеу. Деректерді іздеу әдетте тапсырма берушіні қызықтыратын осы деректердің ішкі жиынын табу (немесе олардың жоқтығын анықтау) үшін дәйекті оқылмайтын немесе түсінілмейтін белгілі бір деректер қоймасын өңдеумен байланысты. Тиімді іздеу алгоритмдері компьютерлер пайда болғанға дейін көп бұрын болған және олар, мысалы, кітапханалардан кітаптарды табу үшін қолданылған. Ақпаратсыз деректерді іздеу бар, мұнда алгоритмдер биттік іздеу сияқты табиғатына қарамастан кез келген деректерді өңдей алады. Көбінесе ақпараттандырылған іздеулер тиімдірек, мысалы, саусақ іздерін алудың автоматтандырылған жүйелері, мәтіндердегі фонетикалық іздеулер және т.б.
Информатикада деректерді іздеу бірнеше бөлімдерді қамтиды:

  • Ақпаратты іздеу

  • Толық мәтінді іздеу

  • Сүзгі (информатика)

Ақпаратты іздеу – ақпараттық қажеттіліктерді қанағаттандыратын құрылымдалмаған құжаттық ақпаратты іздеу процесі және осы іздеу туралы ғылым.
Толық мәтінді іздеу ( фр. Recherche en texte integral ) – құжаттарды автоматты түрде іздеу, мұнда іздеу құжаттардың атаулары бойынша емес, олардың мазмұны, барлығы немесе елеулі бөлігі бойынша жүргізіледі.[1]
Мазмұн сүзгісі немесе веб-мазмұнды шектеу бағдарламасы (ағыл. Content-control software or web filtering software) — белгілі бір сайттарға немесе Интернет қызметтеріне кіруге мүмкіндік бермейтін сайттарды мазмұны бойынша сүзуге арналған құрылғы немесе бағдарламалық құрал. Жүйе қарауға арналмаған мазмұны бар веб-сайттарды блоктауға мүмкіндік береді.
Мазмұн сүзгісі статистикалық принцип бойынша жұмыс істейді, яғни мәтіннің алдын ала анықталған сөздерін санап, сайт мазмұнының қай санатқа жататынын анықтайды. Мұндай құрылғылардың немесе бағдарламалардың мақсаты мектептердің, кәсіпорындардың, діни ұйымдардың және т.б. үшін Интернетке қолжетімділікті шектеу болып табылады. Көбінесе мазмұн сүзгілері балалар мен жасөспірімдерге, оқу орындарында, кітапханаларда және әртүрлі мекемелердегі жұмыс орындарында, сонымен қатар ойын клубтары мен интернет-кафелер.
Негізгі іздеу алгоритмдері:

  • Тізім бойынша іздеу.

  • Ағаш іздеу.

  • График бойынша іздеу.

  • Декларативті іздеу (мысалы, SQL негізінде)

Ақпаратты сақтау және алу.
Ақпаратты сақтау және іздеу, ақпараттық массивтердің қызметін зерттейтін информатиканың бір саласы. Мәліметтер базасын іздеу жүйесі қажетті мәліметтерді қамтитын үлкен компьютерлік файлдарды табуды қамтиды. Бұл деректерді бірнеше массивтерге ұйымдастыруға болады. Ақпарат қолжетімді болуы үшін ыңғайлы іздеу жолдарын құру қажет. Бұл түрдегі жүйе қалғандарынан тәуелсіз немесе олармен бірге деректердің кез келген көлемін табуға мүмкіндік береді. Құжаттарды іздеу жүйелері құжаттың атын немесе оның ішіндегі кілт сөздерді пайдаланып табуға және алуға болатын құжаттарды тауып сақтайды. Сілтемелерді іздеу жүйелерінде құжаттар жоқ, тек оларға сілтемелер бар. Іздеу нәтижесінде қажетті құжаттардың орналасқан жерін анықтауға болады. Бұл жүйе көбінесе кітаптар мен мерзімді басылымдар сияқты кез келген баспа басылымдарын жылдам табу қажет кітапханаларда қолданылады. Сондай-ақ дерекқорды қараңыз
Білімді көрсету.
Білімді бейнелеу – когнитологияда (ойлау туралы ғылым), информатикада және жасанды интеллектте туындайтын мәселе. Когнитивтік ғылымда ол адамдардың ақпаратты сақтау және өңдеу әдісімен айналысады. Информатикада компьютерде ақпаратты жинақтау және мағыналы өңдеу үшін нақты және жалпылама білім, ақпарат пен фактілердің бейнеленуін таңдау басты мақсат болып табылады.
Жасанды интеллектте (AI) негізгі мақсат – бағдарламалар оны өңдей алатын және адам интеллектінің ұқсастығына қол жеткізе алатындай білімді сақтауды үйрену. AI зерттеушілері когнитивті ғылымның білімді ұсыну теорияларын пайдаланады. Фреймдер, ережелер және семантикалық желілер сияқты әдістер AI-ға адамның ақпаратты өңдеу теорияларынан келді. Білім интеллектуалды мінез-құлыққа жету үшін қолданылатындықтан, білімді бейнелеу пәнінің негізгі мақсаты қорытынды жасау процесін мүмкін ететін бейнелеу тәсілдерін табу, яғни білімнен қорытынды жасау.

2.4 Электрондық цифрлық қолтанба


ЭЦҚ-электрондық цифрлық қолтаңба, оның көмегімен кейбір мемлекеттік қызметтерді онлайн жүзеге асырады. Жағымсыз жағдайға тап болмас үшін ЭЦҚ қолданудың қыр-сырын білу керек. Барлық заңды сәттерді ҚР Заңы реттейді. Технологиялардың дамуымен мемлекеттік құрылымдар жаңғыртылуда. ҚР Үкіметі еліміздің әрбір азаматына қолжетімді болатын электрондықцифрлық қолтаңбаны әлдеқашан енгізген болатын. ЭЦҚ деген не? Бұл "электрондық цифрлық қолтаңба"сөз тіркесінің аббревиатурасы. ЭПЦэлектрондық цифрлық символдар жиынтығы. Ол электрондық құжаттың дұрыстығын, оның тиесілігін және мазмұнының өзгермейтіндігін растайды. ЭЦҚ қолдану жыл сайын азаматтардың өмірінде стандартқа айналуда. Қолтаңбаның көмегімен құжаттардың заңды маңыздылығын растайды. Электрондық цифрлық қолтаңба - электрондық құжатты қолдан жасаудан сақтайтын деректеме. "Электрондық құжат және электрондық цифрлық қолтаңба туралы" ҚР Заңында ЭЦҚ қол қоюшы тұлғаның өз қолымен қойған қолымен тең екені және келесі шарттарды орындаған кезде бірдей заңды салдарға әкелетіні көрсетілген. ЭЦҚ-ның түпнұсқалығы тіркеу куәлігі бар ашық кілттің көмегімен куәландырылған; электрондық құжатқа қол қойған тұлға электрондық цифрлық қолтаңбаның жабық кілтіне заңды түрде ие болады, тіркеу куәлігінде көрсетілген мәліметтерге сәйкес пайдаланады.

2.5 Электронды қолтаңба


Электрондық қолтаңба( ЭҮ), электрондық цифрлық қолтаңба (ЭЦҚ), цифрлық қолтаңба (ӨО) электрондық құжаттың авторлығын растауға мүмкіндік береді (нақты тұлға болсын, мысалы, криптовалюталық жүйедегі аккаунт болсын). Қолтаңба автормен де, құжаттың өзімен де криптографиялық әдістерді қолдана отырып байланысты және оны әдеттегі көшіру арқылы жасауға болмайды. ЭЦҚ-бұл қолтаңбаның жабық кілтін пайдалана отырып, ақпаратты криптографиялық түрлендіру нәтижесінде алынған және қолтаңбаны қалыптастыру сәтінен бастап электрондық құжаттағы ақпараттың бұрмалануының болмауын, қолтаңбаның қолтаңба кілті сертификатының иесіне тиесілігін тексеруге, ал тексеру табысты болған жағдайда электрондық құжатқа қол қою фактісін растауға (көрсетпеуге) мүмкіндік беретін электрондық құжаттың деректемесі. Қазіргі уақытта кеңінен қолданылатын электрондық қолтаңба технологиясы асимметриялық ашық кілттерді шифрлауға негізделген және келесі принциптерге сүйенеді: Сіз өте үлкен сандарды (ашық кілт және жеке кілт) жасай аласыз, сондықтан ашық кілтті біле отырып, жеке кілтті ақылға қонымды мерзімде есептеу мүмкін емес. Кілттерді құру механизмі қатаң анықталған және жалпыға белгілі. Бұл жағдайда әрбір ашық кілт белгілі бір жеке кілтке сәйкес келеді. Егер, мысалы, Иван Иванов өзінің ашық кілтін жарияласа, онда оның тек жеке кілті бар екеніне сенімді бола аласыз. Хабарламаны жеке кілтпен шифрлауға мүмкіндік беретін сенімді шифрлау әдістері бар, сондықтан оны тек ашық кілтпен шешуге болады. Шифрлау механизмі белгілі. Егер электрондық құжат ашық кілттің көмегімен шешуге болатын болса , содан кейін ол бірегей жеке кілтпен шифрланғанына сенімді бола аласыз. Егер құжат Иван Ивановтың ашық кілтімен шешілсе, онда бұл оның авторлығын растайды: тек Иванов бұл құжатты шифрлай алады, өйткені ол жеке кілттің жалғыз иесі. Алайда, бүкіл құжатты шифрлау ыңғайсыз болар еді, сондықтан оның хэші ғана шифрланады - математикалық түрлендірулер арқылы құжатқа қатаң байланған және оны анықтайтын мәліметтердің аз мөлшері. Шифрланған хэш және электрондық қолтаңба. Қол қойылған құжаттар өзгермелі (және әдетте жеткілікті үлкен) болғандықтан, ЭҮ схемаларында қолтаңба көбінесе құжаттың өзіне емес, оның хэшіне қойылады. Хэшті есептеу үшін қолтаңбаны тексеру кезінде құжаттың өзгеруін анықтауға кепілдік беретін криптографиялық хэш функциялары қолданылады. Хэш функциялары ЭП алгоритмінің бөлігі емес, сондықтан схемада кез-келген сенімді хэш функциясын қолдануға болады. Хэш функцияларын пайдалану келесі артықшылықтарды береді: Есептеу күрделілігі. Әдетте сандық құжаттың хэші бастапқы құжаттың көлемінен бірнеше есе аз көлемде жасалады, ал хэшті есептеу алгоритмдері EP алгоритмдеріне қарағанда жылдамырақ. Сондықтан құжаттың хэшін құру және оған қол қою құжаттың өзіне қол қоюдан гөрі тезірек болады. Үйлесімділік. Көптеген Алгоритмдер мәліметтер битінің жолдарымен жұмыс істейді, бірақ кейбіреулері басқа көріністерді қолданады. Хэш функциясын кездейсоқ кіріс мәтінін тиісті форматқа түрлендіру үшін пайдалануға болады. Тұтастық. Хэш функциясын пайдаланбай, кейбір схемаларда үлкен электрондық құжатты ЭҮ қолдану үшін жеткілікті кіші блоктарға бөлу керек. Тексеру кезінде барлық блоктардың алынғанын және олардың дұрыс тәртіпте екенін анықтау мүмкін емес. Электрондық қолтаңбада хэш функциясын қолдану міндетті емес, ал функцияның өзі ЭП алгоритмінің бөлігі емес, сондықтан хэш функциясын кезкелген немесе мүлдем қолдануға болмайды. Құпия функциялар Ерте EP жүйелерінің көпшілігінде құпия функциялары қолданылды, олар өз мақсаттары бойынша бір жақты функцияларға жақын. Мұндай жүйелер ашық кілтті пайдалана отырып шабуылдарға осал өйткені еркін цифрлық қолтаңбаны таңдап және оған верификация алгоритмін қолдана отырып, бастапқы мәтінді алуға болады. бұған жол бермеу үшін сандық қолтаңбамен бірге хэш функциясы қолданылады, яғни қолтаңбаны есептеу құжаттың өзіне қатысты емес, оның хэшіне қатысты жүзеге асырылады. Бұл жағдайда тексеру нәтижесінде тек бастапқы мәтіннің хэшін алуға болады, сондықтан егер пайдаланылған хэш функциясы криптографиялық тұрғыдан тұрақты болса, онда бастапқы мәтінді алу өте қиын болады, яғни мұндай шабуыл мүмкін болмайды. Симметриялық схема ЭП симметриялық схемалары асимметриялыққа қарағанда аз таралған, өйткені цифрлық қолтаңба тұжырымдамасы пайда болғаннан кейін сол кезде белгілі симметриялық шифрларға негізделген тиімді қол қою алгоритмдерін жүзеге асыру мүмкін болмады. Цифрлық қолтаңбаның симметриялы схемасының мүмкіндігіне бірінші болып назар аударған ЭП Диффи мен Хеллман тұжырымдамасының негізін қалаушылар болды, олар блок шифрін қолдана отырып, бір биттің қол қою алгоритмінің сипаттамасын жариялады. асимметриялық цифрлық қолтаңба схемалары есептеу қиын тапсырмаларға сүйенеді, олардың күрделілігі әлі дәлелденбеген, сондықтан бұл тізбектер жақын арада бұзылатындығын анықтау мүмкін емес, өйткені бұл сөмкені төсеу тапсырмасына негізделген схемада болған. Сондай-ақ, криптовалютаны арттыру үшін кілттердің ұзындығын көбейту керек, бұл асимметриялық тізбектерді жүзеге асыратын бағдарламаларды қайта жазу қажеттілігіне және кейбір жағдайларда жабдықты қайта жобалауға әкеледі. симметриялық схемалар жақсы зерттелген блок шифрларына негізделген. Осыған байланысты симметриялы тізбектердің келесі артықшылықтары бар: ЭП симметриялық схемаларының тұрақтылығы пайдаланылатын блок шифрларының беріктігінен туындайды, олардың сенімділігі де жақсы зерттелген. Егер шифрдың тұрақтылығы жеткіліксіз болса, оны жүзеге асыруда минималды өзгерістермен оңай ауыстыруға болады. Алайда, симметриялы ЭП-да бірқатар кемшіліктер бар: Берілген ақпараттың әр битіне жеке қол қою керек, бұл қолтаңбаның айтарлықтай өсуіне әкеледі. Қолтаңба хабарламаның өлшемінен екі ретті асып кетуі мүмкін. Қол қою үшін жасалған кілттерді тек бір рет пайдалануға болады, өйткені қол қойылғаннан кейін құпия кілттің жартысы ашылады. Қарастырылған кемшіліктерге байланысты Диффи-Хелман ЭЦҚ-ның симметриялы схемасы қолданылмайды, бірақ Березин мен Дорошкевич жасаған модификация қолданылады, оған бірден бірнеше биттер тобы қол қояды. Бұл қолтаңба өлшемдерінің төмендеуіне әкеледі, бірақ есептеу көлемінің артуына әкеледі. Кілттердің "бір реттік" проблемасын жеңу үшін негізгі кілттен жеке кілттерді құру қолданылады. Асимметриялық EP схемалары ашық кілттің криптожүйелеріне жатады. Бірақ шифрлау ашық кілттің көмегімен жүзеге асырылатын асимметриялық шифрлау алгоритмдерінен айырмашылығы, шифрлау жабық кілттің көмегімен жүзеге асырылады (тек құпияны білетін адресат шеше алады), асимметриялық цифрлық қолтаңба схемаларында қол қою жеке кілттің көмегімен, ал қолтаңбаны тексеру ашық кілттің көмегімен жүзеге асырылады (кез-келген адресат қолтаңбаны ашып, тексере алады). Жалпыға бірдей танылған цифрлық қолтаңба схемасы үш процесті қамтиды[көзі көрсетілмеген 2060 күн]: Негізгі жұп құру. Кілтті құру алгоритмін қолдана отырып, мүмкін болатын жеке кілттер жиынтығынан жеке кілт таңдалады, оған сәйкес ашық кілт есептеледі. Қолтаңбаны қалыптастыру. Берілген электрондық құжат үшін жеке кілтті пайдаланып қолтаңба есептеледі. Қолды тексеру (тексеру). Ашық кілттің көмегімен құжат деректері мен қолтаңба үшін қолтаңбаның жарамдылығы анықталады. Цифрлық қолтаңбаны пайдалану мағынасы болуы үшін екі шартты орындау қажет: Қолтаңбаны тексеру қол қою кезінде қолданылған жеке кілтке сәйкес келетін ашық кілтпен жүргізілуі керек. Жеке кілтсіз заңды цифрлық қолтаңбаны құру есептеу қиын болуы керек. Электрондық цифрлық қолтаңбаны хабарламаның түпнұсқалық кодынан (MAC) ажырату керек. Жоғарыда айтылғандай, EP қолдану мағынасы болуы үшін заңды қолтаңбаны жеке кілтті білместен есептеу өте күрделі процесс болуы керек. Мұны барлық асимметриялық цифрлық қолтаңба алгоритмдерінде қамтамасыз ету келесі есептеу есептеріне сүйенеді: Дискретті логарифмдеу (EGSA)міндеті Факторизация мәселесі, яғни санды негізгі факторларға бөлу (RSA) Есептеулер екі жолмен де жүргізілуі мүмкін: эллиптикалық қисықтардың математикалық аппараты негізінде және Галуа өрістері негізінде. Қазіргі уақытта дискретті логарифмдеу мен факторизацияның ең жылдам алгоритмдері субэкспоненциалды. Тапсырмалардың өздері NP класына жататындығы толық дәлелденбеген. ЭҮ алгоритмдері қарапайым цифрлық қолтаңбаларға және құжатты қалпына келтіретін цифрлық қолтаңбаларға бөлінеді. Құжатты қалпына келтірумен сандық қолтаңбаларды тексеру кезінде құжаттың денесі автоматты түрде қалпына келтіріледі, оны қол қоюға бекітудің қажеті жоқ. Кәдімгі сандық қолтаңбалар құжатты қолтаңбаға қосуды талап етеді. Құжаттың хэшіне қол қоятын барлық Алгоритмдер әдеттегі EP-ге жататыны анық. Құжатты қалпына келтіре отырып, ЭҮ-ге, атап айтқанда, RSA жатады. Электрондық қолтаңба схемалары бір реттік және қайта пайдалануға болатын болуы мүмкін. Бір реттік схемаларда қолтаңбаның түпнұсқалығын тексергеннен кейін кілттерді ауыстыру қажет, қайта пайдалануға болатын схемаларда бұл қажет емес. Сонымен қатар ЭП алгоритмдері детерминистік және ықтималдық болып бөлінеді. Детерминистік ЭП бірдей кіріс деректерінде бірдей қолтаңбаны есептейді. Ықтималдық алгоритмдерін іске асыру қиынырақ, өйткені сенімді энтропия көзі қажет, бірақ бірдей енгізулермен қолтаңбалар әртүрлі болуы мүмкін, бұл криптовалютаны арттырады. Қазіргі уақытта көптеген детерминистік схемалар ықтималдық схемаларына өзгертілген. Кейбір жағдайларда, мысалы, ағынды деректер сияқты, EP алгоритмдері өте баяу болуы мүмкін. Мұндай жағдайларда жылдам сандық қолтаңба қолданылады. Қолтаңбаның үдеуіне Алгоритмдер аз модульдік есептеулермен және есептеудің түбегейлі басқа әдістеріне көшумен қол жеткізіл
ҚОРЫТЫНДЫ
Бағдарламалық жасақтаманы тестілеу - бұл артефактілерді және тексерілетін бағдарламалық құралдың әрекетін тексеру және тексеру арқылы тексеру актісі. Бағдарламалық құралды тестілеу сонымен қатар бизнеске бағдарламалық жасақтаманы енгізу тәуекелдерін бағалауға және түсінуге мүмкіндік беру үшін бағдарламалық құралдың объективті, тәуелсіз көрінісін қамтамасыз ете алады. Сынақ әдістері мыналарды қамтиды, бірақ олармен шектелмейді:

  • салалық перспектива, бизнес перспективасы, іске асырудыңорындылығы мен өміршеңдігі, пайдалану мүмкіндігі, өнімділігі, қауіпсіздік, инфрақұрылымдық мәселелер және т.б. сияқты әртүрлі контексттерде толықтығы мен дұрыстығына өнімнің талаптарын талдау;

  • өнімнің архитектурасын және өнімнің жалпы дизайнын қарастыру;

  • кодтау әдістерін, дизайн үлгілерін, шекаралық шарттар сияқты әртүрлі әдістерге негізделген кодтың бөлігі ретінде жазылуы мүмкін сынақтарды жақсарту бойынша өнімді әзірлеушілермен жұмыс істеу;

  • мінез-құлықты тексеру мақсатында бағдарламаны немесе қолданбаны;

  • орындау;

  • орналастыру инфрақұрылымын және байланысты сценарийлер мен автоматтандыруды қарау;

  • бақылау және бақылау әдістерін қолдану арқылы өндірістік қызметке қатысу.

Бағдарламалық қамтамасыз етуді тестілеу пайдаланушыларға немесе демеушілерге бағдарламалық қамтамасыз етудің сапасы және оның істен шығу қаупі туралы объективті, тәуелсіз ақпаратты бере алады.
Бағдарламалық жасақтаманы тестілеу кейбір нақты гипотезалардың (төмендегі тестілеу қиындықтарының иерархиясын қараңыз) болжамымен бағдарламалық жасақтаманың дұрыстығын анықтай алатынына қарамастан, тестілеу бағдарламалық құралдағы барлық ақауларды анықтай алмайды. Оның орнына, ол өнімнің күйі мен мінез-құлқын сынақ оракулдарымен - біреу мәселені тануы мүмкін принциптермен немесе механизмдермен салыстыратын сынды немесе салыстыруды ұсынады. Бұл оракулдар спецификацияларды, келісім-шарттарды, салыстырмалы өнімдерді, сол өнімнің бұрынғы нұсқаларын, жоспарланған немесе күтілетін мақсат туралы қорытындыларды, пайдаланушы немесе тұтынушы күтулерін, тиісті стандарттарды, қолданылатын заңдарды немесе басқа критерийлерді қамтуы мүмкін (бірақ олармен шектелмейді).
Тестілеудің негізгі мақсаты – ақауларды анықтау және түзету үшін бағдарламалық құралдың ақауларын анықтау. Тестілеу өнімнің барлық жағдайларда дұрыс жұмыс істейтінін анықтай алмайды, тек оның белгілі бір жағдайларда дұрыс жұмыс істемейтінін ғана анықтайды. Бағдарламалық жасақтаманы тестілеудің ауқымы кодты тексеруді, сондай-ақ осы кодты әртүрлі орталар мен жағдайларда орындауды, сондай-ақ код аспектілерін зерттеуді қамтуы мүмкін: ол не істеу керек және не істеу керек. Бағдарламалық жасақтаманы әзірлеудің қазіргі мәдениетінде тестілеу ұйымы әзірлеушілер тобынан бөлек болуы мүмкін. Топ мүшелерін сынау үшін әртүрлі рөлдер бар. Бағдарламалық жасақтаманы тестілеуден алынған ақпарат бағдарламалық жасақтаманы әзірлеу процесін түзету үшін пайдаланылуы мүмкін.
Әрбір бағдарламалық өнімнің мақсатты аудиториясы болады. Мысалы, бейне ойын бағдарламалық құралының аудиториясы банктік бағдарламалық құралдан мүлде ерекшеленеді. Демек, ұйым бағдарламалық өнімді әзірлеген немесе басқа жолмен инвестициялағанда, ол бағдарламалық өнім өзінің соңғы пайдаланушылары, оның мақсатты аудиториясы, сатып алушылар және басқа да мүдделі тараптар үшін қолайлы болатынын бағалай алады. Бағдарламалық жасақтаманы тестілеу бұл бағалауды жасауға көмектеседі
Ақаулар мен сәтсіздіктер.
Бағдарламалық құралдың ақаулары келесі процесс арқылы пайда болады: Бағдарламашы қате (қате) жасайды, соның нәтижесінде бағдарламалық құралдың бастапқы кодында ақау (ақау, қате) болады. Бұл ақаулық орындалса, белгілі бір жағдайларда жүйе қате нәтижелер беріп, сәтсіздікке әкеледі.
Барлық ақаулар міндетті түрде сәтсіздікке әкелмейді. Мысалы, өлі кодтағы ақаулар ешқашан сәтсіздікке әкелмейді. Сәтсіздіктерді көрсетпеген ақаулық ортаны өзгерткен кезде сәтсіздікке әкелуі мүмкін. Қоршаған ортадағы бұл өзгерістердің мысалдары жаңа компьютердің аппараттық платформасында іске қосылатын бағдарламалық құралды, бастапқы деректердегі өзгерістерді немесе әртүрлі бағдарламалық құралмен өзара әрекеттесуді қамтиды. Бір ақаулық ақаулық белгілерінің кең ауқымын тудыруы мүмкін.
Барлық бағдарламалық құрал ақаулары кодтау қателерінен туындамайды. Қымбат ақаулардың кең тараған көздерінің бірі – талаптардағы бос орындар, яғни бағдарлама құрастырушының жіберіп алу қателеріне әкелетін танылмаған талаптар. Талаптардың олқылықтары көбінесе сынауға қабілеттілік, ауқымдылық, техникалық қызмет көрсету, өнімділік және сияқты функционалды емес талаптар болуы мүмкін. қауіпсіздік.
Бағдарламалық қамтамасыз етуді тестілеудің негізгі мәселесі кірістер мен алғышарттардың (бастапқы күй) барлық комбинациялары бойынша тестілеуді қарапайым өніммен де жүзеге асыру мүмкін еместігі болып табылады. Бұл бағдарламалық жасақтамадағы ақаулар санын білдіреді. өнім өте үлкен болуы мүмкін және сирек кездесетін ақауларды сынау мен жөндеу кезінде табу қиын. Неғұрлым маңыздырақ, сапаның функционалдық емес өлшемдері (ол не істеу керектігімен салыстырғанда қалай болуы керек) — пайдалану мүмкіндігі, ауқымдылығы, өнімділігі, үйлесімділігі және сенімділігі — өте субъективті болуы мүмкін; бір адам үшін жеткілікті құндылықты құрайтын нәрсе екіншісіне төзгісіз болуы мүмкін.

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР

  1. https://tau-edu.kz/kk/specialty/esepteu-tehnikasy-zne-bagdarlamalyk-kamtamasyz-etu

  2. https://www.geeksforgeeks.org/state-transition-testing/#:~:text=State%20Transition%20Testing%20is%20basically,of%20the%20system%20is%20observed.

  3. https://www.javatpoint.com/state-transition-technique-in-black-box-testing

  4. https://ru.stackoverflow.com/questions/924217/

  5. https://www.techtarget.com/searchstorage/definition/race-condition

  6. https://melimde.com/informatika-jene-akt-kafedrasini-megerushisi-v2.html

  7. Павловская Т. А., Щупак Ю. А. С/С++. Объектно-ориентированное программирование: Практикум. – СПБ.: Питер, 2004

  8. https://habr.com/ru/post/549054/

  9. Мейерс С. Эффективное использование С++. – М.: ДМК, 2000. – 240 с

  10. Подбельский В. В. Язык Си++: Учебное пособие. – М.: Финансы и статистика, 1996. – 560 с.

  11. https://blog.ingate.ru/seo-wikipedia/baza-dannyh/

  12. https://github.com/imeln/software_testing/blob/master/2016-09-04-equivalence-classes.md


Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет