Программалык тестирлөө, же программалык камсыздоону тестирлөө, ошондой эле колдонмо тестирлөө деп аталат.
Программалык камсыздоону тестирлөө биринчи кезекте бир нече өз ара байланышкан процесстерден турган чоң процесс. Программалык камсыздоону тестирлөөнүн негизги максаты программалык камсыздоонун бүтүндүгүн жана анын негизги талаптары боюнча анын толуктугун өлчөө болуп саналат. Программалык камсыздоону тестирлөө ар кандай тестирлөө процесстери аркылуу программалык камсыздоону текшерүүнү жана сыноону камтыйт. Бул процесстердин максаттары төмөнкүлөрдү камтышы мүмкүн:
Функционалдык/бизнес талаптарга ылайык программалык камсыздоонун толуктугун текшерүү
Мүчүлүштүктөрдү/техникалык каталарды аныктоо жана программалык камсыздоонун катасыз болушун камсыз кылуу
Колдонуу, аткаруу, коопсуздук, локализация, шайкештик жана орнотууну баалоо
Сыналган программа толук же колдонууга жарактуу болушу үчүн бардык сыноолордон өтүшү керек. Программалык камсыздоону текшерүү ыкмаларынын ар кандай түрлөрүнө ак кутуча тестирлөө, кара куту тестирлөө жана боз куту тестирлөө кирет. Андан тышкары, программалык камсыздоо бүтүндөй, компоненттерде/бирдиктерде же жандуу системанын ичинде сыналышы мүмкүн.
Black Box Testing - бул системанын ички иштешине карата программалык камсыздоонун функционалдуулугун талдоого багытталган программалык камсыздоону сыноо ыкмасы. Black Box Testing кардарлардын талаптарын, спецификацияларын жана жогорку деңгээлдеги дизайн стратегияларын талдоо ыкмасы катары иштелип чыккан.
Black Box Testing сыноочу жарактуу жана жараксыз коддун аткарылышынын жана киргизүү шарттарынын топтомун тандап, жарактуу чыгуу жоопторун текшерет.
Black Box Testing функционалдык тест же жабык куту тести катары да белгилүү.
Издөө системасы кара кутуча тестирлөөдөн өтүүчү тиркеменин жөнөкөй мисалы. Издөө системасынын колдонуучусу веб-браузердин издөө тилкесине текст киргизет. Андан кийин издөө системасы колдонуучунун маалыматтарынын натыйжаларын табат жана чыгарат (чыгаруу).
Black Box Testing артыкчылыктары төмөнкүлөрдү камтыйт:
Black Box Testing, ошондой эле төмөнкүдөй кээ бир кемчиликтери бар:
Ак кутуча тестирлөө учурунда код алдын ала тандалган чыгаруу маанилерин текшерүү үчүн алдын ала тандалган киргизүү маанилери менен иштетилет. Ак кутуча тестирлөө көбүнчө stub кодун жазууну (белгилүү бир функцияны алмаштыруу үчүн колдонулган коддун бөлүгүн. Тасма алыскы машинадагы процедура сыяктуу учурдагы коддун жүрүм-турумун окшоштура алат.) жана ошондой эле драйверлерди камтыйт.
Ак кутуча тестинин артыкчылыктары төмөнкүлөрдү камтыйт:
кемчиликтери төмөнкүлөрдү камтыйт:
Бирдик тести программалык камсыздоону иштеп чыгуунун жашоо циклинин (SDLC) курамдык бөлүгү болуп саналат, анда комплекстүү тестирлөө процедурасы каалаган ылайыктуулугу же жүрүм-туруму үчүн программанын эң кичинекей бөлүктөрүнө жекече колдонулат.
Бирдик тести - бул ишканалардын программалык камсыздоосун иштеп чыгуу иш-чараларында колдонулган сапатты өлчөө жана баалоо процедурасы. Жалпысынан, бирдик тести программалык коддун программалык камсыздоонун/тиркеменин/программанын жалпы максатына кандайча шайкеш келерин жана анын ылайыктуулугу башка кичинекей бирдиктерге кандай таасир этээрин баалайт. Бирдиктин тесттери кол менен – бир же бир нече иштеп чыгуучулар тарабынан же автоматташтырылган программалык чечим аркылуу жүргүзүлүшү мүмкүн.
Сыноо учурунда ар бир блок негизги программадан же интерфейстен обочолонгон. Бирдиктин тесттери, адатта, иштеп чыгуудан кийин жана жайылтуудан мурун жүргүзүлөт, ошентип интеграцияны жана көйгөйлөрдү эрте аныктоону жеңилдетет. Бирдиктин көлөмү же көлөмү программалоо тилине, программалык камсыздоого жана тесттин максаттарына жараша өзгөрөт.
Функционалдык тестирлөө - бул программалык камсыздоону иштеп чыгууда колдонулган тестирлөө процесси, анда программалык камсыздоо бардык талаптарга ылайык келээри текшерилет. Бул программалык камсыздоонун функционалдык талаптарында көрсөтүлгөн бардык керектүү функцияларга ээ экендигин текшерүүнүн бир жолу.
Функционалдык тестирлөө негизинен программалык камсыздоонун бир бөлүгү акыркы колдонуучу же бизнес талап кылгандай эле натыйжа берерин текшерүү үчүн колдонулат. Адатта, функционалдык тестирлөө ар бир программалык камсыздоо функциясын бизнестин талаптары менен баалоону жана салыштырууну камтыйт. Программалык камсыздоо анын негизги талаптарына кандайча ылайык келерин, алар менен кандайча байланышканын же алардан айырмаланарын көрүү үчүн бааланышы үчүн ага тиешелүү киргизүүлөрдү берүү менен сыналат. Мындан тышкары, функционалдык тесттер ошондой эле программалык камсыздоонун жарамдуулугун текшерет, мисалы, навигация функциялары талап кылынгандай иштешине ынануу.
Регрессиялык тестирлөө жаңы көйгөйлөр программалык камсыздоону өзгөртүүнүн натыйжасы экендигин аныктоо үчүн колдонулган программалык тестирлөөнүн бир түрү.
Өзгөртүүлөрдү колдонуудан мурун программа сыналат. Өзгөртүү колдонулгандан кийин, өзгөртүү жаңы мүчүлүштүктөрдү же көйгөйлөрдү жараттыбы же жокпу, же иш жүзүндөгү өзгөртүү өз максатына жеттиби же жокпу, аныктоо үчүн тандалган аймактарда программа кайра сыналат.
Регрессиялык тестирлөө чоң программалык тиркемелер үчүн абдан маанилүү, анткени көйгөйдүн бир бөлүгүн өзгөртүү тиркеменин башка бөлүгү үчүн жаңы көйгөйдү жараткан-болбогондугун билүү көп учурда кыйын. Мисалы, банктык кредиттик арыздын формасын өзгөртүү операциянын ай сайынкы отчетунун аткарылбай калышына алып келиши мүмкүн. Көпчүлүк учурларда, көйгөйлөр эч кандай байланышы жоктой сезилиши мүмкүн, бирок алар чындыгында тиркемени иштеп чыгуучулардын нааразычылыгынын себеби болушу мүмкүн.
Регрессиялык тестирлөөнү талап кылган башка кырдаалдарга белгилүү бир өзгөрүүлөр коюлган максатка жетүү же жетпегендигин аныктоо же көйгөйсүз мезгил өткөндөн кийин кайра пайда болгон маселелер менен байланышкан жаңы коркунучтарды текшерүү кирет.
Заманбап регрессиялык тестирлөө биринчи кезекте атайын коммерциялык тестирлөө куралдары аркылуу иштетилет, алар учурдагы программалык камсыздоонун сүрөтүн тартып алышат, алар кийин белгилүү бир өзгөртүү колдонулгандан кийин салыштырылат. Адам сыноочулары үчүн автоматташтырылган программалык камсыздоону сыноочулардай эле эффективдүү аткаруу дээрлик мүмкүн эмес. Бул банктар, ооруканалар, өндүрүш компаниялары жана ири чекене сатуучулар сыяктуу чоң IT чөйрөлөрүндөгү чоң жана татаал программалык тиркемелерге байланыштуу.
Стресс тестирлөө оор желе трафигинин, процесстин жүктөлүшүнүн, азыраак ылдамдыктын, ашыкча ылдамдыктын жана ресурстарды эң жогорку пайдалануу талаптарынын натыйжасында келип чыгышы мүмкүн болгон экстремалдык жана жагымсыз шарттарда анын иштеши канааттандырарлык же канааттандырарлык эмес экендигин аныктоо үчүн программалык камсыздоону же аппараттык каражаттарды текшерүүнү билдирет.
Көпчүлүк системалар нормалдуу иштөө шарттарында иштелип чыккан. Демек, бир чек ашып кетсе да, система иштеп чыгуу учурунда стресс сынагынан өтсө, каталар анчалык деле чоң эмес.
Стресс-тест төмөнкү контексттерде колдонулат:
Автоматташтырылган тестирлөө (программалык тестти автоматташтыруу) – тесттерди автоматтык түрдө ишке ашыруучу атайын программалык куралдарды колдонууну жана андан кийин иш жүзүндөгү тесттин натыйжаларын күтүлгөн натыйжалар менен салыштыруучу кодду тестирлөө ыкмасы.
Автоматташтырылган тестирлөө үзгүлтүксүз жеткирүү (CD), үзгүлтүксүз интеграция (CI), DevOps жана DevSecOps кызматтарында маанилүү ролду ойнойт. Автоматташтырылган тестирлөөнүн негизги артыкчылыктары төмөнкүлөрдү камтыйт:
Программалык камсыздоону иштеп чыгууда, тиркеменин куруу каталарынан таза болушун жана анын белгиленген функциясын аткарышын камсыз кылуу үчүн куруу процессинде автоматташтырылган тесттерди жүргүзүү өзгөчө пайдалуу.
Программалык камсыздоону сыноону автоматташтырууга убакыт бөлүү, акырында иштеп чыгуучулардын убактысын үнөмдөп, коддун өзгөрүшү учурдагы функцияларды бузуп алуу коркунучун азайтат.
Сыноо иштеп чыгуу процессинде абдан маанилүү этап болуп саналат. Бардык мүчүлүштүктөр оңдолушун жана өнүм, программалык камсыздоо же аппараттык жабдык максаттуу же мүмкүн болушунча максаттуу аткарууга жакын иштешин камсыздайт. Кол менен тестирлөө эмес, автоматташтырылган тестирлөө минималдуу кемчиликтер менен өз убагында колдонуучунун муктаждыктарын канааттандырган үнөмдүү программалык камсыздоону ырааттуу жеткирүү үчүн маанилүү.
Кол менен тестирлөө дагы эле иштеп чыгуу учурунда ар кандай мезгилде жасалат, бирок муну көбүнчө иштеп чыгуучулар же аппараттык инженерлер өздөрү киргизген өзгөртүүлөр каалаган натыйжага ээ болгон-болбогондугун тез көрүш үчүн жасашат.
Ercole Palmeri
Болжолдуу тейлөө заводду башкарууга инновациялык жана жигердүү мамиле кылуу менен мунай жана газ секторун революция кылып жатат.…
Улуу Британиянын CMA жасалма интеллект рыногунда Big Tech жүрүм-туруму жөнүндө эскертүү берди. Ал жерде…
Имараттардын энергетикалык натыйжалуулугун жогорулатуу үчүн Европа Биримдиги тарабынан иштелип чыккан "Case Green" Декрети өзүнүн мыйзам чыгаруу процессин аяктады ...
Casaleggio Associati компаниясынын Италиядагы электрондук соода боюнча жылдык отчету сунушталды. "AI-Commerce: Жасалма интеллект менен электрондук сооданын чек аралары" деп аталган отчет.…