Pisanje i provođenje automatiziranih testova programskog koda i web aplikacija - GASERI


Pisanje i provođenje automatiziranih testova programskog koda i web aplikacija - doc. dr. sc. Vedran Miletić, vmiletic@inf.uniri.hr , vedran.miletic.net - Fakultet informatike i digitalnih tehnologija Sveučilišta u Rijeci, akademska 2021./2...



Onion Details



Page Clicks: 1

First Seen: 03/15/2024

Last Indexed: 09/18/2024

Domain Index Total: 397



Onion Content



Pisanje i provođenje automatiziranih testova programskog koda i web aplikacija - doc. dr. sc. Vedran Miletić, vmiletic@inf.uniri.hr , vedran.miletic.net - Fakultet informatike i digitalnih tehnologija Sveučilišta u Rijeci, akademska 2021./2022. godina - Motivacija - U procesu razvoja aplikacije primijetite kvar (engl. fault , kolokvijalno pogreška, engl. bug ), pronađete u kojem je dijelu koda i popravite ga. Pokrenete aplikaciju i nakon malo klikanja imate dojam da sve radi kako treba. Na koji način ćete osigurati: Testiranje softvera (1/3) - Prema Wikipediji : Testiranje softvera je proces koji se provodi kako bi se dionicima pružile informacije o kvaliteti testiranog softverskog proizvoda ili usluge. Može pružiti objektivan, neovisan pogled na softver kako bi omogućio tvrtki da uzme u obzir i razumije rizike implementacije softvera. Tehnike ispitivanja uključuju postupak izvršavanja programa ili aplikacije s namjerom pronalaženja kvarova i provjere je li softverski proizvod prikladan za upotrebu. Testiranje softvera (2/3) - Testiranje softvera uključuje izvršavanje softverske ili sustavske komponente za procjenu jednog ili više svojstava koja nas zanimaju. Općenito, ova svojstva pokazuju u kojoj mjeri komponenta ili sustav koji se ispituje: Testiranje softvera (3/3) - Kako je broj mogućih testova čak i za jednostavne softverske komponente praktički beskonačan, sva testiranja softvera koriste neku strategiju za odabir testova koji su izvedivi za raspoloživo vrijeme i resurse. Kao rezultat toga, testiranje softvera obično izvršava aplikaciju ili neki njen dio s namjerom pronalaska kvarova. Testiranje je iterativni postupak : kada jedan je kvar otklonjen, može osvijetliti druge kvarove koji postoje zbog dubljih problema ili čak stvoriti nove. Dovršen razvoj značajki softvera - Izvor: Feature Complete (MonkeyUser, 20th November 2020) - Jednostavan primjer testa u pytestu - Primjer testa u Djangu - Testiranje metodom bijele kutije - Prema Wikipediji : Testiranjem metodom bijele (prozirne, staklene) kutije (engl. white-box testing ) verificira se interna struktura programa. Testovi se implementiraju programiranjem ulaza i očekivanih izlaza. Uglavnom se primjenjuje na nivou jedinice izvornog koda (engl. source code unit ), ali može se primijeniti i na nivoima integracije i sustava. Tehnike testiranja metodom bijele kutije - Alati za testiranje softvera - Primjeri alata za testiranje softvera na opisan način su: Primjeri testova u web aplikacijama - 🙋 Pitanje: Što testiraju ovi testovi? Testiranje metodom crne kutije - Prema Wikipediji : Testiranje metodom crne kutije (engl. black-box testing ) ili funkcionalno testiranje je proces testiranja bez poznavanja interne strukture softvera. Testeri samo znaju što softver treba raditi, ali ne i kako. Metode koje se koriste su: Fuzz testiranje (engl. fuzz testing , fuzzing ) - Fuzzing is a powerful strategy to find bugs in software. The idea is quite simple: Generate a large number of randomly malformed inputs for a software to parse and see what happens. If the program crashes then something is likely wrong. While fuzzing is a well-known strategy, it is surprisingly easy to find bugs, often with security implications, in widely used software. -- The Fuzzing Project - Primjeri alata za fuzz testiranje: american fuzzy lop , Radamsa i APIFuzzer - Testiranje s kraja na kraj - Testiranje s kraja na kraj (engl. end-to-end testing ) je suvremeni naziv za proces testiranja metodom crne kutije koji spaja više navedenih metoda. Primjeri alata koji se koriste za takvo testiranje su: Kolokvijalno rečeno, ovi alati imitiraju korištenje web aplikacije od strane korisnika. Dogfooding (1/2) - Dogfooding (2/2) - Dogfooding se može koristiti i kod projekata otvorenog koda, npr. developeri Mozille su kasnih 90-ih intenzivno koristili web preglednik, e-mail klijent i druge alate koje su razvijali pa prijavljivali probleme na koje su pritom naišli: Zagonetka trolejbusa - Izvor: Trolley Condrum (MonkeyUser, 16th March 2021) - Author: Vedran Miletić