Manual'dan keyingi qadam. Junior'ga oson โ Middle'ga shart. Bu darsdan keyin sizning maoshingiz 30-50% oshishi mumkin.
75 daqiqa
Boshlovchilar uchun
6 ta interaktiv
Kirish
Automation nima?
Tasavvur qiling: TestShop saytida 50 ta sahifa bor. Har sahifa uchun 10 ta test. Jami โ 500 ta test. Ularni qo'lda bajarish kerak har release oldidan.
Manual qilsangiz: 2-3 kun. Automation qilsangiz: 30 daqiqa. Bu โ automation'ning sehri!
Asosiy atama
Test Automation โ kompyuter tomonidan qo'l harakatlarini takrorlash. Siz bir marta yozasiz, kompyuter har gal o'zi bajaradi.
Oddiy qilib: Robot โ sizning qo'l harakatlaringizni o'rgangan. Endi siz "Bosma!" deysiz, robot bajaradi. Charchamaydi, xatolashmaydi.
๐ก Sodda misol
Kir yuvish mashinasi
Ilgari kishilar kirni qo'lda yuvardi - 1 soat ish. Kir mashinasi paydo bo'ldi - tugmani bosasiz, hammasini o'zi qiladi. Automation ham xuddi shunday: bir marta sozlaysiz, keyin tugma bosib, kompyuter testlarni o'zi bajaradi.
Nega automation kerak?
Tezlik โ 500 ta test 30 daqiqada (qo'lda 3 kun)
Aniqlik โ kompyuter charchamaydi, e'tibor yo'qotmaydi
Takrorlash โ har release'da qayta-qayta bajaradi
Tunda ham โ siz uxlayotganda testlar ishlaydi
Maoshingiz โ Manual+Auto QA = 30-50% ko'proq
Boshlovchilar uchun muhim
Automation โ bir kechada o'rganib bo'lmaydi. 3-6 oy doimiy amaliyot kerak. Lekin asoslarni bilish โ sizni boshqa Junior'lardan ajratadi!
1-qism
Manual vs Automation
Bu tez-tez yaxshi tushunilmaydigan tushuncha. Automation Manual'ni almashtirmaydi โ to'ldiradi.
๐ค Manual Testing
Qo'lda bajariladi
Tez yangilanadigan testlar
UX (foydalanuvchi tajribasi)
Murakkab vizual testlar
Yangi feature'lar (avval manual)
Exploratory testing
๐ค Automation Testing
Kompyuter bajaradi
Takrorlanuvchi testlar
Regression Testing
API testlar
Performance / Load testing
Critical funksiyalar (Login, To'lov)
Batafsil taqqoslash
Xususiyat
Manual
Automation
Boshlash vaqti
Darhol
Skript yozish kerak (1-2 soat)
Bajarilish vaqti
5-10 daqiqa/test
5-10 sekund/test
1000 marta takror
Imkonsiz
Oson
UI o'zgartirilsa
Hech narsa qilma
Skript yangilash kerak
Foydalanuvchi tajribasi
Yaxshi sezadi
Sezmaydi
Charchaganlik
Bor
Yo'q
Yangi bug topish
Yaxshi
Faqat yozilgan testlar
Asosiy qoida
Yangi feature โ Manual (avval qo'lda sinab ko'rasiz). Eski feature โ Automation (har release'da takrorlash uchun).
ROI โ qaytarim hisoblash
Automation arzon emas โ vaqt va kuch ketadi. Lekin uzoq muddatda juda foydali. Pastdagi kalkulyator orqali sinab ko'ring:
๐งฎ ROI Calculator
Automation sizga foydalimi?
Ma'lumotlarni kiriting va qancha vaqt tejashingizni ko'ring:
๐ Natija
0
Manual jami (soat)
0
Auto jami (soat)
๐ฏ Classifier
Manual yoki Automation?
1-qadam: Holatni bosing. 2-qadam: Manual yoki Auto ekanini tanlang.
๐ Endi pastdagi tugmalardan birini tanlang
Login funksiyasini har release oldidan tekshirish (50 marta)
Takrorlanuvchi va critical.
Yangi qo'shilgan "Sevimlilar" tugmasini tekshirish
Yangi feature, hali UI o'zgaradi.
Sayt 1000 ta foydalanuvchi yukini ko'tara oladimi?
Performance/Load testing.
Sayt dizaynini ko'rish - "chiroyli ko'rinadimi?"
UX/Vizual baholash.
100 ta API endpoint - har birida CRUD test
Ko'p, takrorlanuvchi.
Mobil ilovada animatsiyalar silliq ishlayaptimi?
Vizual va his bilan baholash.
๐ค
Manual
๐ค
Automation
0 / 6 to'g'ri
2-qism
Automation asboblari
Bozorda ko'p asboblar bor. Hammasi turli xil โ turli xil til, turli xil maqsad.
๐
Selenium
Eng mashhur, eski, kuchli. Hamma brauzerda ishlaydi.
2004 yil ยท Java/Python
๐ญ
Playwright
Microsoft. Zamonaviy, tez. Yangi loyihalar uchun #1.
2020 ยท JS/Python
โก
Cypress
Frontend QA uchun. Brauzerda ko'rinadi, oson.
2017 ยท JavaScript
๐ฑ
Appium
Mobil ilovalar uchun. iOS va Android.
2014 ยท Java/Python
Qaysisini tanlash kerak?
Selenium โ agar Java yoki Python biladigan bo'lsangiz va eski loyihada ishlasangiz
Playwright โ yangi loyihalar uchun, JavaScript bilsangiz, eng yaxshisi
Cypress โ frontend ko'proq test qilsangiz, JavaScript bilan
Appium โ mobil ilova test qilish kerak bo'lsa
Mening tavsiyam
Boshlovchilar uchun: Selenium IDE (kodsiz) yoki Playwright (zamonaviy). 19-darsda Selenium chuqur o'rganamiz!
๐ฏ Bog'lang
Asbob va xususiyatni bog'lang
Har asbob qanday vazifa uchun?
Asbob
๐ Selenium
๐ญ Playwright
โก Cypress
๐ฑ Appium
๐จ Postman
Xususiyat
API testing uchun
Eng eski va mashhur (2004)
Mobil ilovalar uchun (iOS/Android)
Frontend QA uchun, JS bilan
Microsoft yaratdi, zamonaviy va tez
0 / 5 juft
3-qism
Test Automation Piramidasi
Automation asboblar har xil. Lekin strategiya bir xil โ Test Pyramid (5-darsdan eslang!).
UI / E2E (10%)
Selenium, Playwright. Sekin va qimmat. Faqat critical yo'llar.
API (20%)
Postman, Newman. O'rta tez. Backend funksiyalari.
Unit (70%)
JUnit, Jest, PyTest. Juda tez. Dasturchi yozadi.
Nega bunday tartib?
Unit tests โ eng tez (millisekund). Kichik bo'laklarni tekshiradi. Dasturchi yozadi.
API tests โ o'rta tez (sekund). Backend funksiyalarini tekshiradi. QA yoki Auto QA yozadi.
UI tests โ eng sekin (daqiqa). Foydalanuvchi yo'lini tekshiradi. Auto QA yozadi.
Ko'p Unit + bir oz API + kam UI = tez va ishonchli automation!
๐ฏ Tartibga qo'ying
Test Pyramid darajalarini tartibga qo'ying
1-qadam: Pastdagi qadamni bosing. 2-qadam: To'g'ri darajani tanlang.
๐ Endi yuqoridagi joylardan birini tanlang
๐ผ Yuqori (10%)
Darajani qo'ying
โฌ๏ธ O'rta (20%)
Darajani qo'ying
โฌ๏ธ Past (70%)
Darajani qo'ying
๐ก API tests (Postman)
๐ UI/E2E tests (Selenium)
๐งฉ Unit tests (Jest)
0 / 3 to'g'ri
4-qism
Birinchi automation skripti
Automation skripti yozish uchun avval elementlarni topish kerak. Sayt brauzer'da ko'rinadi, lekin kompyuter elementlarni qanday topadi?
Element nima?
HTML element โ sahifadagi har narsa: tugma, input, link, rasm. Har birining id, class yoki name bo'lishi mumkin.
// ID bo'yicha (eng aniq)#login-btn// id="login-btn" elementni topadi// Class bo'yicha.btn-primary// class="btn-primary" elementni topadi// Tag bo'yichabutton// barcha <button> elementlar// Aralashbutton.btn-primary// button + class
2. XPath (kuchli, lekin sekin)
// Matn bo'yicha izlash//button[text()="Kirish"]// Attribute bo'yicha//input[@name="email"]// Bola element//div[@id="form"]/button
3. Boshqa usullar
By ID โ eng tez va aniq
By Name โ input maydonlar uchun
By Link Text โ link'lar uchun
Selenium misoli (Python)
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://testshop.uz/login")
# Email maydoni topib, ma'lumot kiritish
email = driver.find_element_by_id("email")
email.send_keys("test@example.com")
# Login tugmasini bosish
login_btn = driver.find_element_by_css_selector(".btn-login")
login_btn.click()
driver.quit()
Bu skript: brauzer ochadi, login sahifasi, email kiritadi, tugma bosadi.
Selenium IDE (kodsiz)
JavaScript yoki Python bilmaslik xavotir solmasin. Selenium IDE โ Firefox extension yoki alohida desktop ilova: siz harakat qilasiz, u o'zi kod yozadi! Boshlovchilar uchun ideal.
๐ฏ Selector Builder
To'g'ri selectorni tanlang
Quyidagi HTML elementni qaysi selector bilan topish mumkin?
Savol: Eng yaxshi (eng aniq, eng tez) selector qaysi?
#submit-btnCSS - ID
.btn.btn-primaryCSS - Class
buttonCSS - Tag
//button[text()="Yuborish"]XPath - Text
๐ฌ Haqiqiy stsenariy
Click loyihasida 1-automation skript
Dushanba, 10:00. Click QA Lead sizga keldi: "Login funksiyasi har release oldidan 50 marta tekshiriladi. Manual'da har test 5 daqiqa - jami 250 daqiqa (4+ soat). Automate qilib bera olasizmi?"
Sizdagi vaqt: 1 hafta. JavaScript va Python yo'q.
Birinchi nima qilasiz?
Eng to'g'ri yondashuv?
โก Tezkor tekshiruv
500 ta yangi mahsulot saytga qo'shildi. Har biri uchun "Savatga qo'shish" testi kerak. Manual yoki Auto?
Video dars
Videoni ko'ring
Matnni o'qib chiqdingizmi? Endi videodarsni ko'ring โ mavzularni chuqurroq tushunasiz va bilimingizni mustahkamlaysiz.
๐ฏ Amaliyot vaqti
Bilimni mustahkamlang
Bu darsda kod yozmaymiz โ automation'ni qachon, nimaga va qanday rejalashtirish kerakligini o'rgandik. To'rt vazifa shuni mustahkamlaydi. Birinchi ishlaydigan skriptni 19-darsda yozasiz.
Sizning vazifalaringiz:
1
ROI'ni o'z loyihangiz uchun hisoblang
Yuqoridagi ROI kalkulyatoriga qayting va o'z jamoangiz raqamlarini kiriting: nechta test, har biri necha daqiqa, oyiga necha marta bajariladi. Natijani yozib oling โ automation qachon o'zini oqlashini raqam bilan bilib qo'ying.
2
TestShop'da 5 ta selector yozing
TestShop login sahifasini oching, DevTools (F12 yoki โฅโI) ni ishga tushiring. 5 ta elementga CSS Selector yozing va Console'da document.querySelector("...") bilan tekshiring. Har biri uchun eng qisqa va barqaror variantni tanlang.
3
O'z testlaringizni piramidaga joylang
Loyihangizdagi (yoki o'ylab topgan) 10 ta testni oling va piramidaning qaysi qavatiga tushishini belgilang: Unit, API yoki UI. Nisbatni sanang โ 70/20/10 ga yaqinmi yoki hamma narsa UI'damimi?
4
Automation nomzodlarini ajrating
Shu 10 ta testdan qaysilari automation'ga arziydi? Mezon: takrorlanuvchi + barqaror + natijasi aniq. Arzimaydiganlarini ham yozing va sababini ko'rsating โ intervyuda aynan shu fikrlash so'raladi.
๐ก Portfolio uchun
3- va 4-vazifa natijasini bitta jadvalga yig'ing: test โ daraja โ automation kerakmi โ sababi. Bu Junior portfolio uchun kuchli hujjat โ u siz kod yozishdan oldin o'ylay olishingizni ko'rsatadi.
๐ฌ
Keyingi dars โ birinchi skriptingiz
19-darsda avval Selenium IDE bilan kod yozmasdan skript yozib olasiz (Record โ Play), keyin o'sha skriptni Python kodiga aylantiramiz.