JavaRush /Java blogi /Random-UZ /Avtomatlashtirilgan testni qanday boshlash kerak, 1-qism

Avtomatlashtirilgan testni qanday boshlash kerak, 1-qism

Guruhda nashr etilgan
Sizni avtomatik sinovdan o'tishni boshlayotganlarga yordam berish uchun yaratilgan onlayn dasturiy ta'minotni sinovdan o'tkazish uchun QA platformasi - https://testdemy.teachable.com/ asoschisi Tim Ebining maqolasining rus tiliga moslashuvini o'qishni taklif qilamiz.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-1-qism
Biz bozordagi veb-ilovalar sonining qiziqishi va o'sishini ko'rmoqdamiz. Ular bilan dasturlash, texnik ko'nikmalar va turli xil avtomatlashtirish ko'nikmalarini talab qiladigan ko'proq va ko'proq ish o'rinlari keladi. Natijada, qo'lda sinovchilar talabni saqlab qolish uchun sof qo'lda sinovdan sifat kafolatiga (QA) o'tish zarurligini ko'rishadi va avtomatlashtirilgan testlarni ko'rib chiqmoqdalar. Qo'lda sinovdan avtomatlashtirilgan testga o'tish oqilona tanlovdir, chunki QAning ko'p pozitsiyalari kod yozish bilan bog'liq bir qator texnik ko'nikmalarni talab qiladi. O'zgarishlarni yoqtirmaydiganlar uchun bunday o'zgarish noqulay bo'lishi mumkin. Boshqa tomondan, boshqa ishlab chiquvchilar, bu "o'zgarish vaqti" ni o'zlarining martaba va ko'nikmalarini keyingi bosqichga ko'tarish va ularning dolzarbligini oshirish imkoniyati sifatida ko'rishadi. Har safar talablar ortib borsa, imkoniyatlar kengayadi. To'g'ri mahorat to'plamiga ega bo'lgan ishlab chiquvchilar poezdda sakrashlari va ajoyib, yaxshi maoshli martabaga ega bo'lishlari mumkin. Agar siz qo'lda sinovdan avtomatlashtirishga o'tmoqchi bo'lsangiz yoki hatto dasturiy ta'minotni ishlab chiqishning boshqa sohasidan o'tishni o'ylayotgan bo'lsangiz, muvaffaqiyatga erishish uchun bir necha qadam qo'yish mantiqan.

1-qadam: Bozorni baholash

Doktor Stiven A. Kovining "Yuqori samarali odamlarning 7 odati" kitobidagi "ikkinchi odat"da shunday deyilgan : "Oxirini yodda tutgan holda boshlang." Menimcha, bu printsip avtomatlashtirilgan testlarni boshlashda to'g'ri. Avtomatlashtirish muhandislarini yollayotganlarning ehtiyojlarini bozor bahosidan boshlang. Ish beruvchilarning texnik ehtiyojlarini tushunganingizdan so'ng, siz tegishli ko'nikmalarga ega bo'lishingiz mumkin. Boshlash uchun yaxshi joy - har qanday saytdagi ish tavsiflarini ko'rib chiqish (masalan, Indeed.com , Dice , Monster , LinkedIn va boshqalar).
Avtomatlashtirilgan testni qanday boshlash kerak, 1-2-qism
Bozor bahosini yaratish uchun ishlatilishi mumkin bo'lgan qidiruv so'zlariga misollar:
  • Sinovlarni avtomatlashtirish bo'yicha muhandis;
  • Avtomatlashtirishni ishlab chiquvchi;
  • avtomatlashtirilgan sinov/sinov (avtomatlashtirilgan test) (Avtomatlashtirilgan sinov/avtomatlashtirish sinovi);
  • QA avtomatlashtirish muhandisi ;
  • Testda dasturiy ta'minotni ishlab chiqish muhandisi (SDET).
Ish beruvchilar qanday fikrda ekanligini va nomzodlardan nimani kutishlarini tushunish uchun qidiruv paytida quyidagi savollarni yodda tuting:
  • Ular qanday aniq ko'nikmalar va texnologiyalarni eslatib o'tmoqda?
  • Siz ushbu ko'nikmalar uchun ko'nikmalar yoki texnologiyalarning alohida to'plamini yoki "blokini" ko'rasizmi?
  • Agar mavjud bo'lsa, necha yillik tajriba talab qilinadi?
  • Boshqalarga qaraganda ko'proq avtomatlashtirish muhandislarini yollashga moyil bo'lgan ayrim tarmoqlar bormi?
  • Qanday maosh kutish mumkin?
  • Bizni qiziqtirgan vositalar yoki texnologiyalar birinchi navbatda ochiq kirish yoki tijorat mahsulotlarimi?
Endi bozor nimani qidirayotganini his qilish uchun bir nechta ish tavsiflarini batafsil ko'rib chiqaylik. Shuni yodda tutingki, ko'rib chiqilayotgan ish o'rinlari Qo'shma Shtatlarda joylashgan. Agar siz Qo'shma Shtatlarda yashamasangiz, iltimos, mamlakatingizdagi ish qidirish vositalarini ko'rib chiqing. Dasturiy ta'minotni avtomatlashtirishni ishlab chiquvchi I:
  • ob'ektga yo'naltirilgan dasturlash tillari haqida aniq tushunchaga ega ;
  • Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime bilan tanish ;
  • Ishlab chiquvchilar, biznes-tahlilchilar va boshqa testerlar bilan ishlab chiqilgan dasturiy ta'minotga qo'yiladigan talablarni tekshirish uchun foydalaniladigan testlarni avtomatlashtirish komponentlarini aniqlash uchun yaqindan ishlaydi.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-3-qism
QA tester (avtomatlashtirilgan test):
  • tegishli versiyani boshqarish tizimlarida avtomatlashtirilgan testlarni saqlaydi - TFS, GitHub va boshqalar;
  • avtomatlashtirish uchun oldindan belgilangan avtomatlashtirish standartlari va DevOps standartlariga , shuningdek uzluksiz integratsiya va joylashtirish jarayonlariga amal qiladi;
  • ALM vositalari (TFS, Jira, HP QC) va sinovlarni avtomatlashtirish vositalari (afzal Selenium WebDriver) bilan ishlash tajribasi .
Sifatni avtomatlashtirish bo'yicha muhandis - QA ( Sifatni avtomatlashtirish bo'yicha muhandis ):
  • Selenium WebDriver bilan ishlash tajribasi ;
  • Python, Java yoki shunga o'xshash tillarda dasturlash qobiliyatlari;
  • mobil sinov tajribasi / Appium .
Sinov dasturi ishlab chiqaruvchisi:
  • test muhitini va C#, TypeScript, JavaScript ... test vositalarini yangilash va kengaytirish ;
  • C# yoki Java va/yoki JavaScript-da kuchli dasturlash ko'nikmalari va ob'ektga yo'naltirilgan dasturlash tushunchalarini aniq tushunish ;
  • Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence bilan tajriba.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-4-qism
Mana bu ish ta'riflaridan ba'zi asosiy xulosalar. Gibrid/aralashtirilgan rollar: Lavozim unvonlariga va ushbu kompaniyalar avtomatlashtirilgan dasturiy ta'minotni sinovdan o'tkazishga qanday qarashlariga e'tibor bering. Buni ular sanab o'tgan rollarning nomlaridan ko'rish mumkin (Dasturiy ta'minotni avtomatlashtirish bo'yicha ishlab chiquvchi, Testda dasturiy ta'minot ishlab chiqaruvchisi va boshqalar. Naqshga e'tibor bering? Bu kompaniyalar QA muhandislarini ishlab chiquvchilar sifatida ko'proq yoki kamroq ko'rsatadi. Dasturiy ta'minot: Qo'lda sinovchilar uchun bu vaqt keldi qo‘lda test holatlarini avtomatlashtirilgan test skriptlariga aylantirish uchun kod yozishni o‘rganing. Avtomatlashtirilgan testga o‘tmoqchi bo‘lgan ishlab chiquvchilar uchun bu dasturiy ta’minotni sinovdan o‘tkazish metodologiyalari, dasturiy ta’minotni sinovdan o‘tkazish hayotiy tsikli haqida ko‘proq ma’lumotga ega bo‘lishingiz va qo‘llab-quvvatlash uchun avtomatlashtirilgan test holatlarini yaratishni o‘rganishingiz kerakligini anglatadi. bu hayot tsikllari.Ushbu muhim siljishni o'tkazib yubormang, aks holda siz ortda qolasiz.Agile metodologiyalari va Agile-ga asoslangan loyihalarning kuchayishi bilan tobora ko'proq tashkilotlar QA va ishlab chiquvchilarni birlashtirmoqda. Shunday qilib, sizga tayyorgarlik ko'rish vaqti keldi. yangi mas'uliyat.Dasturiy ta'minotni sinovdan o'tkazish dunyosida boshlang'ich ta'limga ega bo'lgan va shu bilan birga dasturiy ta'minot ishlab chiqaruvchisi mahoratini yaxshi tushunadigan shaxslar oltinga arziydi. Ochiq manbali texnologiyalar/dasturlash tillari: Iltimos, tavsiflarda qalin harflar bilan ta'kidlangan texnologiyalar va dasturlash tillariga e'tibor bering . Ushbu texnologiyalar va tillar maqsadli, bozorda talabga ega bo'lish uchun ularni o'rganish kerak. Yuqori talab qilinadigan texnologiyani tanlang va ularni amalda qoʻllash va real dunyoda, amaliy dasturlar va loyihalarda ishtirok etish orqali oʻz mahoratingizni oshirishni boshlang. Bu sizning o'rganishingizni tezlashtiradi. Qaysi dasturlash tilidan boshlashni bilmasangiz , keling, maydonni biroz toraytiramiz.

2-qadam: Ob'ektga yo'naltirilgan dasturlash tilini (OOP) o'zlashtirish

Keling, tan olaylik: ko'pchilik qo'lda testerlar dasturlashdan qo'rqishadi. Kaput ostiga tushish va tizimlar va ilovalar qanday ishlashini ko'rish haqidagi o'ylar ko'plab qo'lda sinovchilarni qo'rqitadi. Bu qo'rquv, asosan, ularning qo'lda sinovchilarga aylanishining sababidir.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-5-qism
Dasturlash avtomatlashtirilgan testning asosidir. Agar siz avtomatlashtirish testlariga kirmoqchi bo'lsangiz, kodlashni bilishingiz kerak va dasturlashda qanchalik yaxshi bo'lsangiz, avtomatlashtirishni sinovdan o'tkazish yoki avtomatlashtirishni ishlab chiqishda shunchalik muvaffaqiyatli bo'lasiz. Shuning uchun, agar siz rivojlanish va texnologiyaning doimiy o'zgaruvchan dunyosida raqobatbardosh bo'lishni istasangiz, bu qo'rquvni engishga qaror qilishingiz va talab qilinadigan avtomatlashtirilgan test ishlab chiqaruvchisi bo'lishingiz kerak. Yaxshi tomoni shundaki, tajribali hamkasbning minimal yo'l-yo'rig'i bilan, qat'iyat va qat'iyatlilik, doimiy mashq qilish (biz JavaRush-da qilganimiz kabi) bilan siz albatta dasturlash mahoratingizni oshirishingiz mumkin. Keyingi mantiqiy savol: qaysi dasturlash tilini o'rganishim kerak? Bozor baholashimizga asoslanib, ish beruvchilar "obyektga yo'naltirilgan dasturlash tillarini yaxshi tushunadigan" odamlarni yollashni xohlashlarini bilamiz. Va bizning tahlilimizga ko'ra, biz ular murojaat qiladigan bir nechta ob'ektga yo'naltirilgan dasturlash tillarini ko'rishimiz mumkin. Masalan, Java, C#, JavaScript va Python. Ularning har qandayidan boshlashingiz mumkin. Agar siz OOP tilini o'rganishni boshlayotgan bo'lsangiz, avtomatlashtirilgan testlarni yaxshiroq bilish uchun bir nechta tushunchalar mavjud:
  • ob'ektga yo'naltirilgan dasturlash (sinflar, ob'ektlar, misollar, meros, atribut va boshqalar);
  • Modullar, standart kutubxonalar (siz tanlagan tilda);
  • ma'lumotlar tuzilmalari (lug'atlar, ro'yxatlar, kortejlar va boshqalar);
  • ma'lumotlar turlari (satrlar, belgilar, butun sonlar, suzuvchi nuqta, mantiqiy yoki mantiqiy tiplar, NoneType va boshqalar);
  • o'zgaruvchilar;
  • xato/istisnolarni boshqarish;
  • arifmetik operatorlar/ustunlik tartibi;
  • taqqoslash, mantiqiy mantiqiy operatorlar;
  • protseduralar/funksiyalar/usullar;
  • boshqaruv oqimi: If iboralari, for looplari, while looplari va boshqalar.
  • fayllarni o'qish / yozish;
Dasturlash avtomatlashtirilgan testning asosidir. Dasturlashni o'rganing va siz avtomatlashtirishni o'rganasiz.

3-qadam: Avtomatlashtirish vositalarini o'zlashtirish

Men shuni aytaman: qancha yaxshi dasturlash mumkin bo'lsa, shunchalik yaxshi avtomatlashtirish mumkin. Dasturlash tilini o'rganishni boshlaganingizdan so'ng, keyingi qadam avtomatlashtirish vositalaridan foydalanishni o'rganishdir. Chunki ko'pchilik kompaniyalar xarajat sababli tijorat litsenziyalangan mahsulotlarga emas, ochiq manbali avtomatlashtirish vositalariga (yoki bepul dasturiy ta'minotga) moyil.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-6 qism
Jamoat mulkida topish mumkin bo'lgan ajoyib vosita bu Selenium WebDriver. Selenyumda bir nechta til bog'lanishlari mavjud (Python, Java, C#, Ruby, PHP, JavaScript va boshqalar), shuning uchun ushbu dasturlash tillaridan birini o'rganish avtomatlashtirish sohasida mustahkam martaba yaratish uchun ajoyib asos bo'ladi. Ishonchli, funktsional va samarali avtomatlashtirilgan test holatlarini yaratish uchun siz o'zlashtirishingiz kerak bo'lgan bir nechta asosiy tushunchalar:
  • dizayn naqshlari: sahifa ob'ekti modeli;
  • turli lokatorlar (CSS Selector, XPATH, ID, Name va boshqalar) yordamida veb-sahifa elementlarini qidirish;
  • Windows/iFrames-ni almashtirish;
  • refaktoring;
  • birlik sinovi;
  • bulutli test/parallel test;
  • ma'lumotlarni tekshirish;
  • turli veb-brauzerlarda test o'tkazish (Firefox, Internet Explorer, Chrome, Safari, Opera va boshqalar);
  • yashirin va aniq taxminlar;
  • harakatlar zanjiri
Agar siz ob'ektga yo'naltirilgan dasturlash tilini tanlagan bo'lsangiz va bozorni baholash uchun avtomatlashtirish vositalariga tayangan bo'lsangiz, keyingi mantiqiy qadam... Nima deb o'ylaysiz?...

4-qadam: Amaliyot, amaliyot, amaliyot

Nima qilsangiz ham, hech qachon voz kechmang. Yangi narsalarni o'rganish har doim qiyin. Ammo har qanday qiyinchilikni etarlicha mashq va fidoyilik bilan engish mumkin. Yangi ko'nikmalar va texnologiyalarni o'rganish uchun qancha vaqt kerak bo'lishi butunlay sizga bog'liq va bu ko'nikmalarni o'zlashtirish uchun qancha amaliyot va fidoyilik sarflaysiz.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-7 qism
Har qanday professional sportchi o'z mashg'ulotlari va sa'y-harakatlari bilan sayohat cho'qqilariga erishganini aytadi. Aytishlaricha, Maykl Jordan qattiq o'ynagan, ammo undan ham qattiqroq mashq qilgan. Ushbu yondashuvni avtomatlashtirishni istagan har bir kishi qabul qilishi kerak - mashq qiling, mashq qiling, yangi ko'nikmalaringizni ikkinchi tabiatga aylanmaguncha mashq qiling. Bu o'z mahoratingizni oshirish va tester sifatida talabga ega bo'lishning yagona yo'li. O'qitishning yaxshi usullaridan biri bu dasturlash tilini va avtomatlashtirish vositalarini bir vaqtning o'zida faol ravishda o'rganish, ular bilan "o'ynash". Boshqacha qilib aytganda, kichik dasturlar yoki avtomatlashtirilgan test skriptlarini yozing, ularni buzing, o'zgartiring va hozir qanday ishlashini ko'ring. Qilgan ishlaringizdan o'rganing va qayta urinib ko'ring. O'ynash, qilish va o'rganish orqali mashq qiling. Buni bajaring va o'rganish egri ko'tariladi.

Boshlash vaqti

Yangi biznesda eng muhim narsa bu boshlashdir. Har doim biz ishni kechiktiramiz yoki boshlay olmay qolamiz, chunki bu bizning yo'nalishimizni belgilashga yordam beradigan yo'l xaritasi yoki o'yin rejamiz yo'qligidir.
Avtomatlashtirilgan testni qanday boshlash kerak, 1-8 qism
Karyera yo'nalishini tubdan o'zgartirishga urinish qiyin bo'lib tuyulishi mumkin bo'lsa-da, qadrli va sotiladigan bo'lish juda muhimdir. Dasturiy ta'minotni ishlab chiqishning doimiy o'zgaruvchan dunyosida qolish va ish beruvchilar izlayotgan narsa bo'lish uchun siz yangi ko'nikmalarni rivojlantirishingiz kerak. Kichikdan boshlang: bozor talablarini baholang, ob'ektga yo'naltirilgan dasturlash va avtomatlashtirish vositalarini o'rganing va doimiy ravishda mashq qiling. Va siz buni bilishingizdan oldin yangi ish imkoniyatlariga tayyor bo'lasiz. Manba: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION