რა არის ნეაფუნქციური ტესტირება?
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() # გამოიწვევს HTTPError-ს ცუდი პასუხებისთვის (4xx ან 5xx)
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)
ნეფუნქციონალური ტესტირების შედეგები ხშირად წარმოდგენილია ანგარიშების, გრაფიკების და მეტრიკების სახით, რომლებიც საშუალებას აძლევს შეფასდეს სისტემის თვისებები და მიიღოს გადაწყვეტილებები საჭირო გაუმჯობესებების შესახებ.