JavaRush /Java блогы /Random-KK /Автоматтандырылған тестілеуді қалай бастау керек, 1 бөлім...

Автоматтандырылған тестілеуді қалай бастау керек, 1 бөлім

Топта жарияланған
Автоматтандырылған тестілеуде саяхатын бастайтындарға көмектесу үшін жасалған бағдарламалық қамтамасыз етуді онлайн тестілеуге арналған QA платформасы https://testdemy.teachable.com/ негізін қалаушы Тим Эбидің мақаласының орысша бейімделуін оқуға шақырамыз.
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 1 бөлім
Біз қызығушылықтың артқанын және нарықтағы веб-қосымшалар санының өсуін көріп отырмыз. Олармен бірге бағдарламалауды, техникалық дағдыларды және әртүрлі автоматтандыру дағдыларын талап ететін жұмыс орындары көбейіп келеді. Нәтижесінде қолмен тестілеушілер сұранысқа ие болу үшін таза қолмен тестілеуден сапаны қамтамасыз етуге (QA) ауысу қажеттілігін көріп, автоматтандырылған тестілеуді қарастыруда. Қолмен тестілеуден автоматтандырылған тестілеуге ауысу ақылды таңдау болып табылады, өйткені көптеген QA позициялары code жазуға қатысты бірқатар техникалық дағдыларды талап етеді. Өзгерістерді ұнатпайтындар үшін мұндай өзгеріс ыңғайсыз болуы мүмкін. Басқа әзірлеушілер, керісінше, бұл «өзгеріс уақытын» өздерінің мансаптары мен дағдыларын келесі деңгейге көтеру және олардың өзектілігін арттыру мүмкіндігі ретінде қарастырады. Талаптар артқан сайын мүмкіндіктер кеңейеді. Дұрыс дағдылары бар әзірлеушілер пойызға секіре алады және жақсы, жақсы жалақы алатын мансапқа ие болады. Қолмен тестілеуден автоматтандыруға көшкіңіз келсе немесе басқа бағдарламалық жасақтаманы әзірлеу саласына көшуді ойласаңыз, табысқа жетуге көмектесу үшін бірнеше қадам жасағаныңыз жөн.

1-қадам: Нарықты бағалау

Доктор Стивен А. Ковидің «Жоғары тиімді адамдардың 7 әдеті» кітабындағы «Екінші әдет» : «Соңынан бастаңыз» делінген . Мен автоматтандырылған тестілеуді бастау кезінде бұл принцип дұрыс деп есептеймін. Автоматтандыру инженерлерін жалдайтындардың қажеттіліктерін нарықтық бағалаудан бастаңыз. Жұмыс берушілердің техникалық қажеттіліктерін түсінгеннен кейін сіз тиісті дағдыларды ала аласыз. Бастау үшін жақсы орын - кез келген сайттағы жұмыс сипаттамаларын қарау (мысалы, Indeed.com , Dice , Monster , LinkedIn және т.б.).
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 2 бөлім
Мұнда нарықтық бағаны құру үшін пайдалануға болатын іздеу сөздерінің мысалдары берілген:
  • Сынақтарды автоматтандыру инженері;
  • Автоматтандыруды әзірлеуші;
  • автоматтандырылған тестілеу/тестілеуші ​​(автоматтандырылған тестілеу) (Automation Testing/Automation Tester);
  • QA автоматтандыру инженері ;
  • Сынақтағы бағдарламалық жасақтаманы әзірлеу жөніндегі инженер (SDET).
Жұмыс берушілердің қалай ойлайтынын және үміткерлерден не күтетінін түсіну үшін іздеу кезінде келесі сұрақтарды есте сақтаңыз:
  • Олар қандай нақты дағдылар мен технологияларды атап өтеді?
  • Сіз осы дағдыларға арналған дағдылардың немесе технологиялардың жеке жиынтығын немесе «блогын» көресіз бе?
  • Егер бар болса, қанша жылдық тәжірибе қажет?
  • Басқаларға қарағанда автоматтандыру инженерлерін жалдауға бейім кейбір салалар бар ма?
  • Сіз қандай жалақы күте аласыз?
  • Бізді қызықтыратын құралдар немесе технологиялар бірінші кезекте ашық қолжетімділік немесе коммерциялық өнімдер ме?
Енді нарық не іздеп жатқанын сезіну үшін бірнеше лауазымдық нұсқаулықтарды егжей-тегжейлі қарастырайық. Қарастырылып отырған жұмыс орындары Америка Құрама Штаттарында орналасқанын есте сақтаңыз. Егер сіз Америка Құрама Штаттарында тұрмасаңыз, еліңіздегі жұмыс іздеу құралдарын қарап шығыңыз. Бағдарламалық құралды автоматтандыруды әзірлеуші ​​I:
  • an objectіге бағытталған бағдарламалау тілдерін нақты түсінеді ;
  • Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime бағдарламаларымен таныс ;
  • Әзірленген бағдарламалық жасақтамаға қойылатын талаптарды тексеру үшін пайдаланылатын сынақты автоматтандыру құрамдастарын анықтау үшін әзірлеушілермен, бизнес-сарапшылармен және басқа тестерлермен тығыз байланыста жұмыс істейді .
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 3 бөлім
QA тестілері (автоматтандырылған тестілеу):
  • автоматтандырылған сынақтарды сәйкес нұсқаларды басқару жүйелерінде сақтайды - TFS, GitHub және т.б.;
  • алдын ала анықталған автоматтандыру стандарттарын және автоматтандыруға арналған DevOps стандарттарын , сондай-ақ үздіксіз интеграция және орналастыру процестерін сақтайды ;
  • ALM құралдарымен (TFS, Jira, HP QC) және сынақ автоматтандыру құралдарымен (мүмкіндігінше Selenium WebDriver) тәжірибе .
Сапаны қамтамасыз ету автоматтандыру инженері - QA ( Сапаны қамтамасыз ету автоматтандыру инженері ):
  • Selenium WebDriver тәжірибесі ;
  • Python, Java немесе ұқсас тілдерде бағдарламалау дағдылары;
  • мобильді тестілеу тәжірибесі / Appium .
Тестілеу бағдарламалық құралын әзірлеуші:
  • C#, TypeScript, JavaScript ... тестілеу ортасын және тестілеу құралдарын жаңарту және кеңейту ;
  • C# немесе Java және/немесе JavaScript тілінде күшті бағдарламалау дағдылары және an objectіге бағытталған бағдарламалау тұжырымдамаларын нақты түсіну ;
  • Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence бағдарламаларымен жұмыс тәжірибесі.
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 4 бөлім
Міне, осы лауазымдық нұсқаулықтардан кейбір негізгі қорытындылар. Гибридті/аралас рөлдер: жұмыс атауларына және осы компаниялардың автоматтандырылған бағдарламалық қамтамасыз етуді тестілеуге қалай қарайтынына назар аударыңыз. Мұны олар тізімдейтін рөлдердің атауларынан көруге болады (Бағдарламалық қамтамасыз етуді автоматтандыруды әзірлеуші, сынақтағы бағдарламалық құралды әзірлеуші ​​және т.б. Үлгіге назар аударыңыз? Бұл компаниялар QA инженерлерін әзірлеушілер деп атайды. Бағдарламалық жасақтама: Қолмен тестілеушілер үшін бұл уақыт келді дегенді білдіреді. қолмен сынақ жағдайларын автоматтандырылған сынақ сценарийлеріне айналдыру үшін codeты жазуды үйреніңіз. Автоматтандырылған тестілеуге көшкісі келетін әзірлеушілер үшін бұл бағдарламалық жасақтаманы тестілеу әдістемелері, бағдарламалық жасақтаманы тестілеудің өмірлік циклі туралы көбірек білуіңіз керек және қолдау көрсету үшін автоматтандырылған сынақ жағдайларын құруды үйренуіңіз керек дегенді білдіреді. осы өмірлік циклдар.Осы маңызды ауысымды жіберіп алмаңыз, әйтпесе сіз артта қаласыз. Agile әдістемелері мен Agile негізіндегі жобалардың өсуімен қатар, көбірек ұйымдар QA мен әзірлеушілерді біріктіруде. Сондықтан сізге дайындалатын кез келді. жаңа міндеттер. Бағдарламалық жасақтаманы тестілеу әлемінде бастапқы дайындықтан өткен және сонымен бірге бағдарламалық жасақтама жасаушының дағдыларын жақсы түсінетін адамдар алтынмен бағаланады. Ашық бастапқы технологиялар/бағдарламалау тілдері: Сипаттамаларда қою шрифтпен белгіленген технологиялар мен бағдарламалау тілдеріне назар аударыңыз . Бұл технологиялар мен тілдер мақсатты, нарықта сұранысқа ие болу үшін оларды үйрену керек. Бір жоғары сұранысқа ие технологияны таңдап, оларды тәжірибе жүзінде қолдану және нақты әлемдегі, практикалық қолданбалар мен жобаларға қатысу арқылы дағдылар жиынтығын құруды бастаңыз. Бұл сіздің оқуыңызды тездетеді. Қай бағдарламалау тілінен бастау керек екенін білмесеңіз , өрісті аздап тарылтып көрейік.

2-қадам: Объектіге бағытталған бағдарламалау тілін меңгеру (OOP)

Келіңіздер, қолмен тестілеушілердің көпшілігі бағдарламалаудан қорқады. Сорғыштың астына түсу және жүйелер мен қосымшалардың қалай жұмыс істейтінін көру туралы ойдың өзі көптеген қолмен тестерлерді қорқытады. Бұл қорқыныш, негізінен, олардың қолмен тестілеуші ​​болған себебі.
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 5 бөлім
Бағдарламалау автоматтандырылған тестілеудің негізі болып табылады. Егер сіз автоматтандыруды тестілеуге кіргіңіз келсе, сіз codeтай білуіңіз керек және бағдарламалауда неғұрлым жақсы болсаңыз, автоматтандыруды тестілеуде немесе автоматтандыруды әзірлеуде соғұрлым табысты боласыз. Сондықтан, егер сіз осы үнемі өзгеріп отыратын даму мен технология әлемінде бәсекеге қабілетті болғыңыз келсе, сіз осы қорқынышты жеңіп, сұранысқа ие автоматтандырылған сынақ әзірлеушісі болуға шешім қабылдауыңыз керек. Бір жақсысы, тәжірибелі әріптестің минималды нұсқауымен, табандылық пен табандылықты қолдана отырып, үнемі жаттыға отырып (JavaRush-тегі сияқты) сіз өзіңіздің бағдарламалау дағдыларыңызды сөзсіз жақсарта аласыз. Келесі логикалық сұрақ: қандай бағдарламалау тілін үйренуім керек? Біздің нарықтық бағалауымызға сүйене отырып, біз жұмыс берушілер «нысанға бағытталған бағдарламалау тілдерін жақсы түсінетін» адамдарды жалдағысы келетінін білеміз. Біздің талдауымызға сәйкес, біз олар сілтеме жасайтын бірнеше an objectіге бағытталған бағдарламалау тілдерін көре аламыз. Мысалы, Java, C#, JavaScript және Python. Сіз олардың кез келгенінен бастай аласыз. Егер сіз OOP тілін үйренуді бастасаңыз, автоматтандырылған тестілеуді жақсы меңгеру үшін бірнеше тұжырымдамалар бар:
  • an objectіге бағытталған бағдарламалау (сыныптар, an objectілер, даналар, мұрагерлік, атрибут және т.б.);
  • Модульдер, Стандартты кітапханалар (сіз таңдаған тілде);
  • деректер құрылымдары (сөздіктер, тізімдер, кортеждер және т.б.);
  • деректер типтері (жолдар, символдар, бүтін сандар, өзгермелі нүкте, логикалық немесе логикалық типтер, NoneType және т.б.);
  • айнымалылар;
  • қатені/ерекше жағдайды өңдеу;
  • арифметикалық операторлар/артықшылық тәртібі;
  • салыстыру, логикалық логикалық операторлар;
  • proceduresалар/функциялар/әдістер;
  • басқару ағыны: If операторлары, for циклдері, while циклдері және т.б.
  • файлдарға оқу/жазу;
Бағдарламалау автоматтандырылған тестілеудің негізі болып табылады. Бағдарламалауды үйреніңіз және сіз автоматтандыруды үйренесіз.

3-қадам: Автоматтандыру құралдарын меңгеру

Мен мынаны айтамын: неғұрлым жақсы бағдарламаласаңыз, соғұрлым жақсы автоматтандыруға болады. Бағдарламалау тілін үйренуді бастағаннан кейін келесі қадам автоматтандыру құралдарын пайдалануды үйрену болып табылады. Өйткені көптеген компаниялар шығындарға байланысты коммерциялық лицензияланған өнімдерге емес, ашық бастапқы автоматтандыру құралдарына (немесе тегін бағдарламалық құралға) жүгінеді.
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 6 бөлім
Қоғамдық доменде табуға болатын тамаша құрал - Selenium WebDriver. Selenium-да бірнеше тілдік байланыстар бар (Python, Java, C#, Ruby, PHP, JavaScript және т. Сенімді, функционалды және тиімді автоматтандырылған сынақ жағдайларын құру үшін меңгеру қажет бірнеше негізгі ұғымдар:
  • дизайн үлгілері: бет нысанының үлгісі;
  • әртүрлі локаторлар арқылы веб-бет элементтерін іздеу (CSS Selector, XPATH, ID, Name және т.б.);
  • Windows/iFrames ауыстырыңыз;
  • рефакторинг;
  • бірліктерді сынау;
  • бұлтты тестілеу/параллельді тестілеу;
  • деректерді тексеру;
  • әртүрлі веб-браузерлерде тестілеу (Firefox, Internet Explorer, Chrome, Safari, Opera және т.б.);
  • жасырын және айқын күтулер;
  • әрекеттер тізбегі
Егер сіз an objectілі-бағытталған бағдарламалау тілін таңдаған болсаңыз және нарықты бағалау үшін автоматтандыру құралдарына сүйенген болсаңыз, келесі логикалық қадам... Сіз қалай ойлайсыз?...

4-қадам: Тәжірибе, Тәжірибе, Тәжірибе

Не істесең де, ешқашан тастама. Жаңа нәрсені үйрену әрқашан қиындық тудырады. Бірақ кез келген қиындықты жеткілікті тәжірибе мен берілгендік арқылы жеңуге болады. Жаңа дағдылар мен технологияларды үйренуге қанша уақыт кететіні толығымен сізге және осы дағдыларды меңгеру үшін қаншалықты тәжірибе мен берілгендікке байланысты.
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 7 бөлім
Кез келген кәсіпқой спортшы өзінің жаттығулары мен күш-жігерінің арқасында сапардың биігіне жеткенін айтады. Олар Майкл Джордан қатты ойнады, бірақ одан да қатты жаттығады дейді. Бұл тәсілді автоматтандыруды қалайтын кез келген адам қабылдауы керек - тәжірибе, тәжірибе, жаңа дағдыларды олар екінші табиғатқа айналғанша жаттықтыру. Бұл сіздің дағдыларыңызды жетілдірудің және тестілеуші ​​ретінде сұранысқа ие болудың жалғыз жолы. Оқытудың жақсы тәсілдерінің бірі – олармен «ойнап» бір уақытта бағдарламалау тілін және автоматтандыру құралдарын белсенді түрде үйрену. Басқаша айтқанда, шағын бағдарламаларды немесе автоматтандырылған сынақ сценарийлерін жазыңыз, оларды бұзыңыз, өзгертіңіз және оның қазір қалай жұмыс істейтінін көріңіз. Жасағаныңыздан сабақ алып, әрекетті қайталаңыз. Ойнау, орындау және оқу арқылы жаттықтыру. Мұны орындаңыз және сіздің оқу қисығыңыз жоғарылайды.

Бастау уақыты

Жаңа бизнесте ең бастысы - бастау. Біз барлық уақытта кейінге қалдырамыз немесе бастай алмадық, себебі бізде жол картасы немесе ойын жоспары біздің бағытты анықтауға көмектеседі.
Автоматтандырылған тестілеуді қалай бастау керек, 1 - 8 бөлім
Мансап бағытын түбегейлі өзгерту әрекеті қиын болып көрінсе де, бағаланатын және сатылатын болуы өте маңызды. Бағдарламалық жасақтаманы әзірлеудің үнемі өзгеретін әлемінде қалу үшін және жұмыс берушілер шынымен іздейтін нәрсе болу үшін жаңа дағдыларды дамыту керек. Кішкентайдан бастаңыз: нарық талаптарын бағалаңыз, an objectіге бағытталған бағдарламалау мен автоматтандыру құралдарын үйреніңіз және үнемі тәжірибе жасаңыз. Сіз бұл туралы білмей тұрып, жаңа жұмыс мүмкіндіктеріне дайын боласыз. Дереккөз: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION