Ի՞նչ է ոչ ֆունկցիոնալ թեստավորումը։
sobes.tech AI
Պատասխան AI-ից
Նեֆունկցիոնալ փորձարկումը՝ ծրագրային ապահովման փորձարկման տեսակ է, որը ուղղված է նրա նեֆունկցիոնալ պահանջների ստուգմանը։ Այն գնահատում է համակարգի հատկությունները, որոնք անմիջականորեն կապված չեն կոնկրետ գործառույթների հետ, այլ ավելի շատ՝ այն մասին, թե ինչպես է համակարգը աշխատում։
Նեֆունկցիոնալ փորձարկման հիմնական նպատակները՝
- Համակարգը համապատասխանեցնել օգտագործողի և բիզնեսի սպասումներին՝ արտադրողականության, հուսալիության, օգտագործման հարմարավետության և այլ ասպեկտների մասով։
- Հայտնել այն խնդիրները, որոնք կարող են ազդել համակարգի կայունության, մասշտաբայնության և անվտանգության վրա։
- Պարզել համակարգի համապատասխանությունը հաստատված ստանդարտներին և պահանջներին։
Նեֆունկցիոնալ փորձարկման տեսակներ՝
| Տեսակ | Կարճ նկարագրություն | Ստուգվող հատկանիշների օրինակներ |
|---|---|---|
| Արտադրողականության փորձարկում | Համակարգի արագության, արձագանքի, կայունության և մասշտաբայնության գնահատում բեռի տակ։ | Պատասխան ժամանակ, անցանելիություն, CPU/հիշողության բեռ։ |
| Բեռի փորձարկում | Համակարգի վարքագծի ստուգում սպասվող գագաթնակետային բեռի ժամանակ։ | Միաժամանակ օգտագործողների քանակը, գործարքների քանակը վայրկյանում։ |
| Սթրեսային փորձարկում | Համակարգի վարքագծի ստուգում գագաթնակետային բեռից կամ ռեսուրսների պակասից վերազանցման դեպքում։ | Սիստեմի անջատման կետը, բեռի տակ գործելու վարքագիծը։ |
| Տևականության փորձարկում | Համակարգի կարողությունը երկարատև անընդհատ աշխատանքը բեռի տակ ստուգելու համար։ | Հիշողության թափոններ, արտադրողականության դեգրադացիա ժամանակի ընթացքում։ |
| Անվտանգության փորձարկում | Համակարգի պաշտպանվածության ստուգում արտաքին և ներքին սպառնալիքներից, անօրինական մուտքից։ | SQL-միջամտությունների, XSS հարձակումների պաշտպանություն, հաստատում, թույլտվություն։ |
| Օգտագործման հարմարավետության փորձարկում | Որքան հեշտ և ինտուիտիվ է համակարգը օգտագործել օգտվողների համար։ | Հասկանալի ինտերֆեյս, հեշտ նավիգացիա, հասանելիություն։ |
| Համատեղելիության փորձարկում | Համակարգի աշխատանքը տարբեր միջավայրերում (բրաուզերներ, օպերացիոն համակարգեր, սարքեր)։ | Տարբեր բրաուզերների, օպերացիոն համակարգերի աջակցում։ |
| Հավատարիմության փորձարկում | Համակարգի կարողությունը կատարել իր գործառույթները առանց սխալների նշված ժամանակահատվածում։ | Միջին ժամանակը սխալի վրա աշխատելու համար (MTBF), սխալի հավանականությունը։ |
| Հասանելիության փորձարկում | Համակարգի օգտագործման հարմարավետության ստուգում մարդկանց համար, ովքեր ունեն սահմանափակումներ։ | WCAG ստանդարտների համապատասխանություն։ |
| Տեղայնացման/ինտերնացիոնալիզացիայի փորձարկում | Համակարգի հարմարեցում տարբեր լեզուների և տարածաշրջանային կարգավորումների համար։ | Թարգմանված տողեր, ամսաթվերի/թվարկումների ձևաչափեր։ |
Նեֆունկցիոնալ փորձարկումը սովորաբար կատարվում է ծրագրային ապահովման զարգացման ցիկլի սկզբնական փուլերում, քան ֆունկցիոնալը, բայց դրա պլանավորումը սկսվում է պահանջների ձևավորմամբ։ Այն կարող է լինել ավտոմատացված գործընթացների մաս, հատկապես արտադրողականության և անվտանգության փորձարկումների ժամանակ։
Նեֆունկցիոնալ փորձարկման գործիքներ՝
- Արտադրողականություն՝ JMeter, LoadRunner, Gatling, k6։
- Անվտանգություն՝ OWASP ZAP, Burp Suite, Acunetix։
- Համատեղելիություն՝ BrowserStack, Sauce Labs։
- Օգտագործման հարմարավետություն՝ UserTesting.com, աչքի հետևման գործիքներ։
Նմուշ ավտոմատացման՝
import time
import requests
def measure_page_load_time(url):
"""
Մեկնարկում է նշված URL-ի բեռնումը։
"""
start_time = time.time()
try:
response = requests.get(url)
response.raise_for_status() # Դրական պատասխանների համար (4xx կամ 5xx) գցում է HTTPError
end_time = time.time()
load_time = end_time - start_time
print(f"Բեռնում ժամանակ {url}: {load_time:.2f} վայրկյան")
return load_time
except requests.exceptions.RequestException as e:
print(f"Սխալ {url} բեռնելիս: {e}")
return None
# Օգտագործման օրինակ
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)
Նեֆունկցիոնալ փորձարկման արդյունքները հաճախ ներկայացվում են հաշվետվությունների, գրաֆիկների և մետրիկների տեսքով, որոնք թույլ են տալիս գնահատել համակարգի հատկությունները և ընդունել որոշումներ անհրաժեշտ բարելավումների մասին։