JavaRush /Java Blog /Random-TL /Paano magsimula sa awtomatikong pagsubok, bahagi 1

Paano magsimula sa awtomatikong pagsubok, bahagi 1

Nai-publish sa grupo
Inaanyayahan ka naming basahin ang Russian adaptation ng isang artikulo ni Tim Ebie, tagapagtatag ng https://testdemy.teachable.com/ , isang QA platform para sa online na pagsubok ng software, na nilikha upang tulungan ang mga nagsisimula sa kanilang paglalakbay sa awtomatikong pagsubok
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 1
Nakikita namin ang pagtaas ng interes at paglaki sa bilang ng mga web application sa merkado. Sa kanila ay dumarami ang mga trabaho na nangangailangan ng programming, mga teknikal na kasanayan at iba't ibang mga kasanayan sa automation. Bilang resulta, ang mga manu-manong tester, upang manatiling in demand, ay nakikita ang pangangailangang lumipat mula sa purong manu-manong pagsubok patungo sa pagtitiyak sa kalidad (QA) at tumitingin sa automated na pagsubok. Ang paglipat mula sa manu-mano patungo sa awtomatikong pagsubok ay isang matalinong pagpili, dahil maraming mga posisyon sa QA ang nangangailangan ng hanay ng mga teknikal na kasanayan na nauugnay sa pagsusulat ng code. Para sa mga hindi gusto ng pagbabago, ang ganitong pagbabago ay maaaring hindi komportable. Ang iba pang mga developer, sa kabilang banda, ay nakikita ang "panahon ng pagbabago" na ito bilang isang pagkakataon upang dalhin ang kanilang mga karera at kasanayan sa susunod na antas at pataasin ang kanilang kaugnayan. Sa tuwing tumataas ang mga pangangailangan, lumalawak ang mga posibilidad. Ang mga developer na may tamang hanay ng kasanayan ay maaaring tumalon sa tren at magkaroon ng mahusay, mahusay na suweldong karera. Kung naghahanap ka upang lumipat mula sa manu-manong pagsubok patungo sa automation, o kahit na isinasaalang-alang ang paglipat mula sa isa pang larangan ng pag-develop ng software, makatuwirang gumawa ng ilang hakbang upang matulungan kang magtagumpay.

Hakbang 1: Market Assessment

Ang “Habit number two” mula sa aklat ni Dr. Stephen A. Covey na “7 Habits of Highly Effective People” ay nagsasabing : “Magsimula nang nasa isip ang wakas.” . Naniniwala ako na ang prinsipyong ito ay totoo pagdating sa pagsisimula sa awtomatikong pagsubok. Magsimula sa pagtatasa sa merkado ng mga pangangailangan ng mga kumukuha ng mga inhinyero ng automation. Sa sandaling magkaroon ka ng pang-unawa sa mga teknikal na pangangailangan ng mga employer, maaari mong makuha ang naaangkop na mga kasanayan. Ang isang magandang lugar upang magsimula ay tingnan ang mga paglalarawan ng trabaho sa anumang site (hal. Indeed.com , Dice , Monster , LinkedIn , atbp.).
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 2
Narito ang mga halimbawa ng mga salita sa paghahanap na maaaring magamit upang makabuo ng pagpapahalaga sa merkado:
  • Test Automation Engineer;
  • Nag-develop ng Automation;
  • awtomatikong pagsubok/tester (awtomatikong pagsubok) (Automation Testing/Automation Tester);
  • QA Automation Engineer ;
  • Software Development Engineer sa Pagsubok (SDET).
Upang maunawaan kung paano iniisip ng mga employer at kung ano talaga ang inaasahan nila mula sa mga kandidato, isaisip ang mga sumusunod na tanong habang naghahanap ka:
  • Anong mga partikular na kasanayan at teknolohiya ang binabanggit nila?
  • Nakikita mo ba ang isang hiwalay na hanay o "block" ng mga kasanayan o teknolohiya para sa mga kasanayang ito?
  • Ilang taon ng karanasan ang kinakailangan, kung mayroon man?
  • Mayroon bang ilang mga industriya na may posibilidad na umarkila ng higit pang mga inhinyero ng automation kaysa sa iba?
  • Anong suweldo ang maaari mong asahan?
  • Ang mga tool o teknolohiya ba na interesado tayo sa pangunahing bukas na pag-access o komersyal na mga produkto?
Ngayon tingnan natin ang ilang paglalarawan ng trabaho upang madama kung ano ang hinahanap ng merkado. Mangyaring tandaan na ang mga trabahong pinag-uusapan ay matatagpuan sa Estados Unidos. Kung hindi ka nakatira sa United States, pakisuri ang mga tool sa paghahanap ng trabaho sa iyong bansa. Software Automation Developer I:
  • ay may malinaw na pag-unawa sa object-oriented programming language ;
  • pamilyar sa Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime;
  • Malapit na gumagana sa mga developer, business analyst at iba pang tester para matukoy ang mga bahagi ng pag-automate ng pagsubok na gagamitin para i-verify ang mga kinakailangan para sa binuong software.
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 3
QA tester (awtomatikong pagsubok):
  • nagse-save ng mga automated na pagsubok sa naaangkop na bersyon ng control system - TFS, GitHub , atbp.;
  • sumusunod sa mga paunang natukoy na pamantayan ng automation at mga pamantayan ng DevOps para sa automation, pati na rin ang tuluy-tuloy na proseso ng pagsasama at pag-deploy;
  • Karanasan sa mga tool ng ALM (TFS, Jira, HP QC) at mga tool sa pag-automate ng pagsubok (mas mabuti ang Selenium WebDriver) .
Quality Assurance Automation Engineer - QA ( Quality Assurance Automation Engineer ):
  • Karanasan sa Selenium WebDriver ;
  • mga kasanayan sa programming sa Python, Java , o mga katulad na wika;
  • karanasan sa pagsubok sa mobile / Appium .
Pagsubok ng software developer:
  • pag-update at pagpapalawak ng kapaligiran ng pagsubok at mga tool sa pagsubok sa C#, TypeScript, JavaScript ...;
  • Malakas na mga kasanayan sa programming sa C# o Java at/o JavaScript kasama ng isang malinaw na pag-unawa sa mga object-oriented programming concepts ;
  • Karanasan sa Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 4
Narito ang ilang mahahalagang takeaways mula sa mga paglalarawan ng trabaho na ito. Hybrid/Blended Roles: Bigyang-pansin ang mga titulo ng trabaho at kung paano tinitingnan ng mga kumpanyang ito ang automated na pagsubok ng software. Ito ay makikita sa pamamagitan ng mga pangalan ng mga tungkulin na kanilang inilista (Software Automation Developer, Software Developer sa Test, atbp. Pansinin ang isang pattern? Ang mga kumpanyang ito ay higit pa o mas kaunti ay tumutukoy sa mga inhinyero ng QA bilang mga developer ng Software: Para sa mga manu-manong tester, nangangahulugan ito na oras na upang matutunan kung paano magsulat ng code upang gawing mga automated na script ng pagsubok ang mga manu-manong kaso ng pagsubok. Para sa mga developer na gustong lumipat sa automated na pagsubok, nangangahulugan ito na dapat kang matuto nang higit pa tungkol sa mga pamamaraan ng pagsubok ng software, pagsubok ng life cycle ng Software, at matutunan kung paano bumuo ng mga awtomatikong kaso ng pagsubok upang suportahan ang mga lifecycle na ito. Huwag palampasin ang kritikal na pagbabagong ito o mahuhuli ka. Sa pagtaas ng mga Agile methodologies at Agile-based na mga proyekto, parami nang parami ang mga organisasyon na naghahalo ng QA at mga developer sa isa. Kaya oras na para maghanda ka para sa iyong mga bagong responsibilidad.Ang mga indibidwal na may pangunahing pagsasanay sa mundo ng pagsubok ng software at kasabay nito ay may mahusay na pag-unawa sa mga kasanayan ng isang software developer ay nagkakahalaga ng kanilang timbang sa ginto. Open Source Technologies/Programming Languages: Pakitandaan ang mga teknolohiya at programming language na naka-highlight nang bold sa mga paglalarawan . Ang mga teknolohiya at wikang ito ay naka-target, kailangan mong matutunan ang mga ito upang maging in demand sa merkado. Pumili ng isang high-demand na teknolohiya at simulan ang pagbuo ng iyong set ng kasanayan sa pamamagitan ng pagsasanay sa mga ito at paglahok sa real-world, mga hands-on na application at proyekto. Ito ay magpapabilis sa iyong pag-aaral. Kung hindi ka sigurado kung aling programming language ang magsisimula sa , paliitin natin nang kaunti ang field.

Hakbang 2: Master ang isang Object-Oriented Programming Language (OOP)

Aminin natin: karamihan sa mga manu-manong tester ay natatakot sa programming. Ang mismong pag-iisip ng pagkuha sa ilalim ng hood at makita kung paano gumagana ang mga system at application ay nakakatakot sa maraming manu-manong tester. Ang takot na ito ang pangunahing dahilan kung bakit sila naging mga manu-manong tester.
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 5
Ang programming ay ang batayan ng awtomatikong pagsubok. Kung gusto mong pumasok sa automation testing, kailangan mong makapag-code, at kung mas mahusay ka sa programming, mas magiging matagumpay ka sa automation testing o automation development. Samakatuwid, kung gusto mong manatiling mapagkumpitensya sa pabago-bagong mundong ito ng pag-unlad at teknolohiya, dapat mong lutasin ang takot na ito at maging isang in-demand na awtomatikong developer ng pagsubok. Ang magandang bagay ay na may kaunting gabay mula sa isang mas may karanasan na kasamahan, paglalapat ng pagpupursige at tiyaga, patuloy na pagsasanay (tulad ng ginagawa namin sa JavaRush), tiyak na mapapahusay mo ang iyong mga kasanayan sa programming. Ang susunod na lohikal na tanong ay: anong programming language ang dapat kong matutunan? Batay sa aming pagtatasa sa merkado, alam namin na ang mga tagapag-empleyo ay gustong kumuha ng mga tao "na may malakas na pag-unawa sa mga object-oriented na programming language." At ayon sa aming pagsusuri, makikita natin ang ilang object-oriented programming language na kanilang tinutukoy. Halimbawa, Java, C#, JavaScript, at Python. Maaari kang magsimula sa alinman sa mga ito. Kung nagsisimula kang matuto ng wikang OOP, narito ang ilang mga konsepto upang makakuha ng mahusay na pangangasiwa upang maging mas bihasa sa automated na pagsubok:
  • object-oriented programming (mga klase, bagay, mga pagkakataon, mana, katangian, atbp.);
  • Mga Module, Mga Karaniwang Aklatan (sa anumang wikang pipiliin mo);
  • mga istruktura ng data (mga diksyunaryo, listahan, tuple, atbp.);
  • mga uri ng data (mga string, character, integer, floating point, lohikal o Boolean na mga uri, NoneType, atbp.);
  • mga variable;
  • error/exception handling;
  • arithmetic operator/precedence order;
  • paghahambing, lohikal na mga operator ng Boolean;
  • mga pamamaraan / function / pamamaraan;
  • control flow: Kung ang mga statement, para sa mga loop, while loops, atbp.
  • magbasa/magsulat sa mga file;
Ang programming ay ang batayan ng awtomatikong pagsubok. Matuto kang magprogram at matututo kang mag-automate.

Hakbang 3: Mastering Automation Tools

Paulit-ulit kong sinasabi ito: kung mas mahusay kang makapag-program, mas mahusay kang makakapag-automate. Kapag nagsimula ka nang mag-aral ng programming language, ang susunod na hakbang ay upang matutunan kung paano gumamit ng mga tool sa automation. Dahil karamihan sa mga kumpanya ay nakasandal sa mga open source na tool sa automation (o libreng software) kaysa sa mga komersyal na lisensyadong produkto para sa mga dahilan ng gastos.
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 6
Ang isang mahusay na tool na maaaring matagpuan sa pampublikong domain ay Selenium WebDriver. Ang selenium ay may ilang mga binding ng wika (Python, Java, C#, Ruby, PHP, JavaScript, atbp.), kaya ang pag-aaral ng isa sa mga programming language na ito ay magbibigay ng isang mahusay na pundasyon para sa pagbuo ng isang matatag na karera sa automation. Ilang pangunahing konsepto na kailangan mong makabisado upang makabuo ng maaasahan, gumagana, at mahusay na mga automated na kaso ng pagsubok:
  • mga pattern ng disenyo: modelo ng object ng pahina;
  • paghahanap ng mga elemento ng web page gamit ang iba't ibang tagahanap (CSS Selector, XPATH, ID, Pangalan, atbp.);
  • lumipat sa Windows/iFrames;
  • refactoring;
  • pagsubok ng yunit;
  • pagsubok sa ulap/parallel na pagsubok;
  • pagsusuri ng data;
  • pagsubok sa iba't ibang web browser (Firefox, Internet Explorer, Chrome, Safari, Opera, atbp.);
  • implicit at tahasang mga inaasahan;
  • kadena ng mga aksyon
Kung pinili mo ang isang object-oriented na programming language at umasa sa mga tool sa automation upang suriin ang merkado, ang susunod na lohikal na hakbang ay... Ano sa palagay mo?...

Hakbang 4: Magsanay, Magsanay, Magsanay

Kahit anong gawin mo, wag kang susuko. Ang pag-aaral ng bago ay palaging isang hamon. Ngunit ang bawat hamon ay malalampasan ng sapat na pagsasanay at dedikasyon. Gaano katagal ang kinakailangan upang matuto ng mga bagong kasanayan at teknolohiya ay ganap na nakasalalay sa iyo at kung gaano karaming pagsasanay at dedikasyon ang iyong inilalagay sa pag-master ng mga kasanayang iyon.
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 7
Ang sinumang propesyonal na atleta ay magsasabi na naabot niya ang taas ng kanilang paglalakbay sa pamamagitan ng trabaho at pagsisikap ng kanilang pagsasanay. Sabi nila, naglaro ng husto si Michael Jordan, pero mas nag-training pa. Ang diskarte na ito ay dapat gamitin ng sinumang gustong mag-automate - magsanay, magsanay, magsanay ng iyong mga bagong kasanayan hanggang sa sila ay maging pangalawang kalikasan. Ito ang tanging paraan upang mapabuti ang iyong mga kasanayan at maging in demand bilang isang tester. Ang isa sa mga magagandang paraan upang magsanay ay ang aktibong pag-aaral ng programming language at mga tool sa automation sa parehong oras, "paglalaro" sa kanila. Sa madaling salita, magsulat ng maliliit na programa o mga awtomatikong pagsubok na script, sirain ang mga ito, baguhin ang mga ito, at tingnan kung paano ito gumagana ngayon. Matuto mula sa nagawa mo at subukang muli. Magsanay sa pamamagitan ng paglalaro, paggawa at pag-aaral. Gawin ito at ang iyong curve sa pagkatuto ay tataas.

Oras na para magsimula

Ang pinakamahalagang bagay sa isang bagong negosyo ay ang magsimula. Sa lahat ng oras na tayo ay nagpapaliban o nabigo sa pagsisimula, ito ay dahil wala tayong roadmap o game plan upang makatulong sa pag-chart ng ating kurso.
Paano magsimula sa awtomatikong pagsubok, bahagi 1 - 8
Bagama't ang pagsisikap na baguhin ang direksyon ng iyong karera ay maaaring mukhang nakakatakot, ang pagiging pinahahalagahan at mabibili ay mahalaga. Kailangan mong bumuo ng mga bagong kasanayan upang manatili sa tuktok ng patuloy na nagbabagong mundo ng software development at maging kung ano ang talagang hinahanap ng mga employer. Magsimula sa maliit: suriin ang mga kinakailangan sa merkado, matuto ng object-oriented na programming at mga tool sa automation, at patuloy na magsanay. At magiging handa ka para sa mga bagong pagkakataon sa trabaho bago mo ito malaman. Pinagmulan: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION