Бағдарламалық жасақтаманы тестілеу немесе бағдарламалық жасақтаманы тестілеу қолданбалы тестілеу ретінде де белгілі.
Бағдарламалық қамтамасыз етуді тестілеу, ең алдымен, өзара байланысты бірнеше процестерден тұратын үлкен процесс. Бағдарламалық қамтамасыз етуді тестілеудің негізгі мақсаты бағдарламалық жасақтаманың тұтастығын оның негізгі талаптары тұрғысынан оның толықтығымен бірге өлшеу болып табылады. Бағдарламалық жасақтаманы тестілеу әртүрлі тестілеу процестері арқылы бағдарламалық жасақтаманы тексеруді және тестілеуді қамтиды. Бұл процестердің мақсаттары мыналарды қамтуы мүмкін:
Функционалдық/іскерлік талаптарға сәйкес бағдарламалық қамтамасыз етудің толықтығын тексеру
Қателерді/техникалық қателерді анықтау және бағдарламалық құралдың қатесіз болуын қамтамасыз ету
Ыңғайлылықты, өнімділікті, қауіпсіздікті, локализацияны, үйлесімділікті және орнатуды бағалау
Тексерілген бағдарламалық құрал толық немесе пайдалануға жарамды болу үшін барлық сынақтардан өтуі керек. Бағдарламалық жасақтаманы тексеру әдістерінің кейбір түрлеріне ақ жәшік сынағы, қара жәшік сынағы және сұр жәшік сынағы жатады. Сонымен қатар, бағдарламалық құралды тұтастай, құрамдас бөліктерде/бірліктерде немесе тірі жүйе ішінде сынауға болады.
Black Box Testing – жүйенің ішкі жұмысына қатысты бағдарламалық құралдың функционалдығын талдауға бағытталған бағдарламалық құралды тестілеу әдісі. Black Box Testing тұтынушылардың талаптарын, техникалық сипаттамаларын және жоғары деңгейлі дизайн стратегияларын талдау әдісі ретінде әзірленді.
Қара жәшік тестілеу құралы жарамды және жарамсыз кодты орындау және енгізу шарттары жинағын таңдап, жарамды шығыс жауаптарын тексереді.
Қара жәшік сынағы функционалдық тестілеу немесе жабық қорап тесті ретінде де белгілі.
Іздеу жүйесі - қара жәшік сынауға жататын қолданбаның қарапайым мысалы. Іздеу жүйесінің пайдаланушысы веб-шолғыштың іздеу жолағына мәтін енгізеді. Содан кейін іздеу жүйесі пайдаланушы деректерінің нәтижелерін табады және шығарады (шығыс).
Қара жәшік тестінің артықшылықтарына мыналар жатады:
Қара жәшік тестілеуінің келесідей кемшіліктері де бар:
Ақ жолақты тестілеу кезінде код алдын ала таңдалған шығыс мәндерін тексеру үшін алдын ала таңдалған кіріс мәндерімен іске қосылады. Ақ жәшікті тестілеу көбінесе қондырма кодын (белгілі бір мүмкіндікті ауыстыру үшін пайдаланылатын код бөлігі. Түпнұсқа қашықтағы құрылғыдағы процедура сияқты бар кодтың әрекетін модельдей алады.) және драйверлерді жазуды қамтиды.
Ақ қорапты тестілеудің артықшылықтары мыналарды қамтиды:
Кемшіліктерге мыналар жатады:
Бірлік сынағы бағдарламалық жасақтаманы әзірлеудің өмірлік циклінің (SDLC) құрамдас бөлігі болып табылады, онда қажетті жарамдылық немесе мінез-құлық үшін бағдарламалық құралдың ең кішкентай бөліктеріне кешенді сынақ процедурасы жеке қолданылады.
Бірлік сынағы – кәсіпорынның бағдарламалық жасақтамасын әзірлеу әрекеттерінің көпшілігінде қолданылатын сапаны өлшеу және бағалау процедурасы. Жалпы, бірлік сынағы бағдарламалық құрал коды бағдарламалық құралдың/қолданбаның/бағдарламаның жалпы мақсатына қаншалықты сәйкес келетінін және оның жарамдылығының басқа кішірек блоктарға қалай әсер ететінін бағалайды. Бірлік сынақтарын қолмен – бір немесе бірнеше әзірлеушілер – немесе автоматтандырылған бағдарламалық шешім арқылы жасауға болады.
Тестілеу кезінде әрбір блок негізгі бағдарламадан немесе интерфейстен оқшауланады. Бірлік сынақтары әдетте әзірлеуден кейін және орналастыру алдында орындалады, осылайша интеграцияны және ақауды ерте анықтауды жеңілдетеді. Бірліктің өлшемі немесе көлемі бағдарламалау тіліне, бағдарламалық құрал қолданбасына және сынақ мақсаттарына байланысты өзгереді.
Функционалдық тестілеу – бағдарламалық жасақтаманы әзірлеу барысында қолданылатын тестілеу процесі, онда бағдарламалық жасақтама барлық талаптарға сәйкестігіне көз жеткізу үшін сыналады. Бұл бағдарламалық жасақтаманы оның функционалдық талаптарында көрсетілген барлық қажетті функционалдылыққа ие екендігін тексеру әдісі.
Функционалды тестілеу негізінен бағдарламалық жасақтаманың соңғы пайдаланушы немесе бизнес талап ететіндей нәтиже беретінін тексеру үшін қолданылады. Әдетте, функционалдық тестілеу әрбір бағдарламалық құрал функциясын бизнес талаптарымен бағалауды және салыстыруды қамтиды. Бағдарламалық қамтамасыз ету оның негізгі талаптарға қалай сәйкес келетінін, қатыстылығын немесе олардан өзгеретінін көру үшін шығысты бағалауға болатындай кейбір қатысты енгізуді беру арқылы сыналады. Сонымен қатар, функционалдық сынақтар бағдарламалық құралдың жарамдылығын да тексереді, мысалы, навигация функцияларының қажетінше жұмыс істейтініне көз жеткізу.
Регрессиялық тестілеу – бұл бағдарламалық жасақтаманы өзгерту нәтижесінде жаңа мәселелердің пайда болуын анықтау үшін қолданылатын бағдарламалық жасақтаманы тестілеудің бір түрі.
Өзгерістерді қолданбас бұрын бағдарлама тексеріледі. Өзгеріс қолданылғаннан кейін бағдарлама өзгерістің жаңа қателер немесе ақаулар тудырғанын немесе нақты өзгертудің мақсатына қызмет еткенін анықтау үшін таңдалған аймақтарда қайта сыналады.
Регрессиялық тестілеу үлкен бағдарламалық жасақтама қолданбалары үшін өте маңызды, себебі мәселенің бір бөлігін өзгерту қолданбаның басқа бөлігі үшін жаңа мәселені тудырғанын білу жиі қиын. Мысалы, банктік несиелік өтінім нысанын өзгерту ай сайынғы транзакция есебінің сәтсіздігіне әкелуі мүмкін. Көп жағдайда проблемалар бір-бірімен байланыссыз болып көрінуі мүмкін, бірақ олар іс жүзінде қолданба әзірлеушілерінің көңілін қалдыруы мүмкін.
Регрессиялық тестілеуді қажет ететін басқа жағдайларға белгілі бір өзгерістердің қойылған мақсатқа жетуін анықтау немесе ақаусыз кезең өткеннен кейін қайта пайда болатын мәселелерге байланысты жаңа қауіптерді сынау кіреді.
Қазіргі заманғы регрессиялық тестілеу, ең алдымен, қолданыстағы бағдарламалық жасақтаманың суретін түсіретін арнайы коммерциялық тестілеу құралдары арқылы өңделеді, олар кейін белгілі бір өзгертуді қолданғаннан кейін салыстырылады. Тестілеушілердің автоматтандырылған бағдарламалық жасақтама тестерлерімен бірдей тапсырмаларды тиімді орындауы мүмкін емес дерлік. Бұл әсіресе банктер, ауруханалар, өндірістік компаниялар және ірі сатушылар сияқты ірі АТ орталарындағы үлкен және күрделі бағдарламалық жасақтама қолданбаларына қатысты.
Стресс-тестілеу желілік трафиктің, процестің жүктелуінің, шамадан тыс жүктеменің, үдеткіштің және ресурстарды пайдаланудың ең жоғары талаптарының нәтижесінде пайда болуы мүмкін экстремалды және қолайсыз жағдайларда оның өнімділігінің қанағаттанарлық екенін анықтау үшін бағдарламалық немесе аппараттық құралдарды сынауды білдіреді.
Көптеген жүйелер қалыпты жұмыс жағдайларын ескере отырып жасалған. Сондықтан, егер шектен асып кетсе де, әзірлеу кезінде жүйе стресстік сынақтан өтсе, қателер елеусіз болады.
Стресс-тест келесі жағдайларда қолданылады:
Автоматтандырылған тестілеу (бағдарламалық қамтамасыз етуді тестілеуді автоматтандыру) тесттерді автоматты түрде іске қосатын, содан кейін нақты сынақ нәтижелерін күтілетін нәтижелермен салыстыратын арнайы бағдарламалық құралдарды пайдаланатын кодты тестілеуге деген көзқарас болып табылады.
Автоматтандырылған тестілеу Continuous Delivery (CD), Continuous Integration (CI), DevOps және DevSecOps жүйелерінде маңызды рөл атқарады. Автоматтандырылған тестілеудің негізгі артықшылықтары:
Бағдарламалық жасақтаманы әзірлеуде қолданбаның құрастыру қателері жоқтығына және оның көзделген функцияны орындауына көз жеткізу үшін құрастыру процесі кезінде автоматтандырылған сынақтарды орындау өте пайдалы.
Бағдарламалық құралды тестілеуді автоматтандыруға уақыт бөлу, сайып келгенде, кодты өзгерту бар функционалдылықты бұзу қаупін азайту арқылы әзірлеушілердің уақытын үнемдейді.
Тестілеу – даму үдерісіндегі өте маңызды кезең. Барлық қателердің түзетілгенін және өнімнің, бағдарламалық жасақтаманың немесе аппараттық құралдың мақсатты немесе мүмкіндігінше мақсатты өнімділігіне жақын жұмыс істеуін қамтамасыз етеді. Қолмен тестілеуден гөрі автоматтандырылған тестілеу ең аз ақаулармен дер кезінде пайдаланушы қажеттіліктерін қанағаттандыратын үнемді бағдарламалық қамтамасыз етуді тұрақты түрде жеткізу үшін маңызды.
Қолмен тестілеу әлі де әзірлеу кезінде әр түрлі уақытта орындалады, бірақ мұны негізінен әзірлеушілер немесе аппараттық инженерлер өздері жасаған өзгерістердің қажетті нәтиже бергенін жылдам көру үшін жасайды.
Ercole Palmeri
Smart Lock Market термині өндірісті, таратуды және пайдалануды қоршаған өнеркәсіп пен экожүйені білдіреді ...
Бағдарламалық жасақтама инженериясында дизайн үлгілері бағдарламалық жасақтаманы жобалауда жиі кездесетін мәселелердің оңтайлы шешімі болып табылады. мен сияқтымын…
Өнеркәсіптік таңбалау - бұл бетінде тұрақты белгілерді жасау үшін қолданылатын бірнеше әдістерді қамтитын кең термин ...
Келесі қарапайым Excel макрос мысалдары VBA Estimated оқу уақыты арқылы жазылған: 3 минут Мысал…