what is software testing
Kompletný sprievodca testovaním softvéru s viac ako 100 návodmi na ručné testovanie s definíciou testovania, typmi, metódami a podrobnosťami procesu:
Čo je to Testovanie softvéru?
Testovanie softvéru je proces overovania a overovania funkčnosti aplikácie s cieľom zistiť, či spĺňa stanovené požiadavky. Jedná sa o proces hľadania chýb v aplikácii a kontroly, či aplikácia funguje podľa požiadaviek koncového používateľa.
Čo je to ručné testovanie?
Ručné testovanie je proces, pri ktorom porovnávate správanie vyvinutého kódu (softvér, modul, API, vlastnosť atď.) S očakávaným správaním (požiadavky).
Čo sa dozviete:
Zoznam návodov na ručné testovanie softvéru
Toto je najpodrobnejšia séria tutoriálov o testovaní softvéru. Pozorne si prečítajte témy uvedené v tejto sérii, aby ste sa naučili základné a pokročilé testovacie techniky.
Táto séria tutoriálov by obohatila vaše vedomosti a zasa rozšírila vaše testovacie schopnosti.
Precvičte si kompletné ručné testovanie bezplatného školenia na živom projekte:
Výukový program č. 1: Základy ručného testovania softvéru
Výukový program č. 2: Živý úvod do projektu
Výukový program č. 3: Písanie testovacích scenárov
Výukový program č. 4: Napíšte dokument plánu testov od začiatku
Výukový program č. 5: Písanie testovacích prípadov z dokumentu SRS
Výukový program č. 6: Vykonanie testu
Výukový program č. 7: Sledovanie chýb a testovacie odhlásenie
Výukový program č. 8: Kurz testovania softvéru
Životný cyklus testovania softvéru:
Výukový program č. 1: STLC
Testovanie webu:
Výukový program č. 1: Testovanie webových aplikácií
Výukový program č. 2: Cross Browser Testovanie
Správa testovacích prípadov:
ako otvoriť spustiteľný súbor jar
Výukový program č. 1: Testovacie prípady
Výukový program č. 2: Ukážka šablóny testovacieho prípadu
Výukový program č. 3: Matica sledovateľnosti požiadaviek (RTM)
Výukový program č. 4: Pokrytie testu
Výukový program č. 5: Správa testovacích údajov
Správa testov:
Výukový program č. 1: Stratégia testovania
Výukový program č. 2: Šablóna plánu skúšok
Výukový program č. 3: Odhad testu
Výukový program č. 4: Nástroje na správu testov
Výukový program č. 5: Výukový program HP ALM
Výukový program č. 6: Jira
Výukový program č. 7: Výukový program TestLink
Technické skúšky:
Výukový program č. 1: Použite testovanie prípadov
Výukový program č. 2: Stavové prechodové testovanie
Výukový program č. 3: Analýza hraničných hodnôt
Výukový program č. 4: Rozdelenie ekvivalencie
Výukový program č. 5: Metodiky testovania softvéru
Výukový program č. 6: Agilná metodika
Správa defektov:
Výukový program č. 1: Životný cyklus chýb
Výukový program č. 2: Hlásenie chýb
Výukový program č. 3: Priorita defektu
Výukový program č. 4: Výukový program pre Bugzilla
Funkčné testovanie
Výukový program č. 1: Testovanie jednotiek
Výukový program č. 2: Skúška zdravého rozumu a dymu
Výukový program č. 3: Regresné testovanie
Výukový program č. 4: Testovanie systému
Výukový program č. 5: Prijímacie skúšky
Výukový program č. 6: Testovanie integrácie
Výukový program č. 7: Testovanie prijatia používateľa UAT
Nefunkčné testovanie:
Výukový program č. 1: Nefunkčné testovanie
Výukový program č. 2: Testovanie výkonu
Výukový program č. 3: Testovanie bezpečnosti
Výukový program č. 4: Testovanie bezpečnosti webových aplikácií
Výukový program č. 5: Testovanie použiteľnosti
Výukový program č. 6: Testovanie kompatibility
Výukový program č. 7: Testovanie inštalácie
Výukový program č. 8: Testovanie dokumentácie
Typy testovania softvéru:
Výukový program č. 1: Druhy testovania
Výukový program č. 2 : Testovanie čiernej skrinky
Výukový program č. 3: Testovanie databázy
Výukový program č. 4: Úplné testovanie
Výukový program č. 5: Prieskumné testovanie
Výukový program č. 6: Prírastkové testovanie
Výukový program č. 7: Testovanie prístupnosti
Výukový program č. 8: Negatívne testovanie
Výukový program č. 9: Testovanie backendu
Výukový program č. 10: Alfa testovanie
Výukový program č. 11: Beta testovanie
Výukový program č. 12: Alfa vs Beta testovanie
Výukový program č. 13: Gama testovanie
Výukový program č. 14: Testovanie ERP
Výukový program č. 15: Statické a dynamické testovanie
Výukový program č. 16: Adhoc testovanie
Výukový program č. 17: Testovanie lokalizácie a internacionalizácie
Výukový program č. 18: Automatizačné testovanie
Výukový program č. 19: Testovanie bielej skrinky
Kariéra pri testovaní softvéru:
Výukový program č. 1: Výber kariéry pri testovaní softvéru
Výukový program č. 2: Ako získať prácu na testovaní kvality - Kompletný sprievodca
Výukový program č. 3: Možnosti kariéry pre testerov
Výukový program č. 4: Prepínač testovania iných ako IT na softvér
Výukový program č. 5: Nastartujte svoju kariéru v oblasti manuálneho testovania
Výukový program č. 6: Ponaučenia z 10 rokov testovania
Výukový program č. 7: Prežiť a pokročiť v testovacej oblasti
Príprava rozhovoru:
Výukový program č. 1: Príprava na obnovenie QA
Výukový program č. 2: Otázky týkajúce sa manuálneho testovania
Výukový program č. 3: Dotazy na rozhovor s automatizačným testovaním
Výukový program č. 4: Otázky týkajúce sa QA rozhovoru
Výukový program č. 5: Vybavte akýkoľvek pracovný pohovor
Výukový program č. 6: Získajte skúšobnú prácu ako svieži
Testovanie rôznych doménových aplikácií:
Výukový program č. 1 : Testovanie bankových aplikácií
Výukový program č. 2: Testovanie aplikácií v zdravotníctve
Výukový program č. 3: Testovanie platobnej brány
Výukový program č. 4: Testovací systém predaja (POS)
Výukový program č. 5: Testovanie webových stránok elektronického obchodu
Testovanie certifikácie QA:
Výukový program č. 1: Sprievodca certifikáciou testovania softvéru
Výukový program č. 2: Sprievodca certifikáciou CSTE
Výukový program č. 3: Sprievodca certifikáciou CSQA
Výukový program č. 4: Sprievodca ISTQB
Výukový program č. 5: ISTQB Advanced
Témy pokročilého manuálneho testovania:
Výukový program č. 1: Cyklomatická zložitosť
Výukový program č. 2: Testovanie migrácie
Výukový program č. 3: Cloudové testovanie
Výukový program č. 4: Testovanie ETL
Výukový program č. 5: Metriky testovania softvéru
Výukový program č. 6: Webové služby
Pripravte sa na to, že sa pozriete na 1. tutoriál v tejto sérii manuálnych testov !!!
Úvod do manuálneho testovania softvéru
Ručné testovanie je proces, pri ktorom porovnávate správanie vyvinutého kódu (softvér, modul, API, vlastnosť atď.) S očakávaným správaním (požiadavky).
A ako zistíte, aké je očakávané správanie?
Poznáte to tak, že si pozorne prečítate alebo vypočujete požiadavky a úplne im porozumiete. Pamätajte, že úplné pochopenie požiadaviek je veľmi dôležité.
čo je plánovanie a stratégia testov
Myslite na seba ako na konečného používateľa toho, čo budete testovať. Potom už nie ste viazaní dokumentom alebo slovami v ňom obsiahnutými k požiadavkám na softvér. Potom môžete pochopiť základné požiadavky a nielen skontrolovať chovanie systému proti tomu, čo je napísané alebo povedané, ale aj proti vášmu vlastnému porozumeniu a proti veciam, ktoré nie sú napísané alebo povedané.
Niekedy to môže byť zmeškaná požiadavka (neúplná požiadavka) alebo implicitná požiadavka (niečo, čo nepotrebuje osobitnú zmienku, ale mala by byť splnená) a musíte si to tiež otestovať.
Ďalej nemusí byť nevyhnutne zdokumentovaná požiadavka. Môžete veľmi dobre poznať softvérové funkcie, alebo môžete dokonca hádať a potom testovať jeden krok po druhom. Všeobecne to nazývame ad-hoc testovanie alebo prieskumné testovanie.
Pozrime sa do hĺbky:
Po prvé, poďme pochopiť skutočnosť - Či už porovnávate testovanie softvérovej aplikácie alebo niečoho iného (povedzme vozidla), koncept zostáva rovnaký. Prístup, nástroje a priority sa môžu líšiť, ale hlavným cieľom zostáva ROVNAKÝ a je JEDNODUCHÝ, t. J. Porovnanie skutočného správania s očakávaným správaním.
Po druhé - Testovanie je ako prístup alebo nastavenie mysle, ktoré by malo vychádzať zvnútra. Zručnosti sa dajú naučiť, ale úspešným testerom sa stanete, až keď budete mať v predvolenom nastavení niekoľko kvalít. Keď hovorím, že testovacím schopnostiam sa dá naučiť, mám na mysli sústredené a formálne vzdelávanie v procese testovania softvéru.
Aké sú však kvality úspešného testera? Môžete si o nich prečítať na nižšie uvedenom odkaze:
Prečítajte si ju tu => Vlastnosti vysoko efektívnych testerov
Pred pokračovaním v tomto návode vám vrelo odporúčam prejsť si vyššie uvedený článok. Pomôže vám porovnať vaše vlastnosti s tými, ktoré sa očakávajú v úlohe testera softvéru.
Pre tých, ktorí si článok nestihnú prečítať, je tu zhrnutie:
„Aby ste boli deštruktívnym a úspešným testerom, je dôležitá vaša zvedavosť, pozornosť, disciplína, logické myslenie, vášeň pre prácu a schopnosť rozoberať veci. Fungovalo to pre mňa a pevne verím, že to bude fungovať aj pre vás. Ak už tieto vlastnosti máte, potom to skutočne malo fungovať aj pre vás. “
Hovorili sme o základných požiadavkách systému stáva sa softvérovým testerom. Teraz si uvedomme, prečo má a bude mať ručné testovanie svoju nezávislú existenciu s rastom automatizačného testovania alebo bez neho.
Prečo je potrebné ručné testovanie?
Viete, čo je na testovačke najlepšie, aj to ako manuálny tester?
Je to skutočnosť, že tu nemôžete závisieť iba od sady zručností. Musíte mať / rozvíjať a zlepšovať svoj myšlienkový proces. To je vec, ktorú si za pár dolárov skutočne nekúpite. Sami na tom musíte pracovať.
Budeš musieť vypestujte si zvyk klásť otázky a pri testovaní sa ich budete musieť pýtať každú minútu. Väčšinou by ste si mali tieto otázky klásť sebe ako iným.
Dúfam, že ste si prešli článkom, ktorý som odporučil v predchádzajúcej časti (t. J. Kvalitami vysoko efektívnych testerov). Ak áno, potom by ste vedeli, že testovanie sa považuje za myšlienkový proces a to, ako úspešný budete ako tester, úplne závisí od kvalít, ktoré ako človek máte.
Pozrime sa na tento jednoduchý postup:
- Niečo robíš ( vykonávať akcie ), zatiaľ čo vy ho sledujete s určitým zámerom (v porovnaní s očakávaným). Teraz tvoj pozorovanie zručnosti a disciplína predvádzať veci sa tu dostane do obrazu.
- Voila! Čo to bolo? Niečo si si všimol. Všimli ste si to, pretože ste dávali perfektné pozornosť k detailom pred tebou. Nenecháš to tak, pretože si zvedavý . Vo vašom pláne nebolo to, že sa stane niečo neočakávané / čudné, všimnete si to a budete to ďalej skúmať. Ale teraz to robíš. Môžete to nechať ísť. Ale nemali by ste to nechať ísť.
- Ste šťastní, zistili ste príčinu, kroky a scenár. Teraz to budete správne a konštruktívne komunikovať s vývojovým tímom a ostatnými zainteresovanými stranami vo vašom tíme. Môžete to urobiť pomocou niektorého z nástrojov na sledovanie defektov alebo ústne, musíte sa však uistiť, že ste komunikuje to konštruktívne .
- Ojoj! Čo ak to urobím takto? Čo ak zadám správne celé číslo ako vstup, ale s úvodnými bielymi medzerami? Čo ak? … Čo ak? … Čo ak? Nemusí sa to skončiť ľahko, nemalo by sa to skončiť ľahko. Budeš predstavte si veľa situácií a scenárov a skutočne budete v pokušení ich vykonať tiež.
Schéma uvedená nižšie predstavuje životnosť testera:
Prečítajte si tieto štyri odrážky uvedené vyššie ešte raz. Všimli ste si, že som to choval veľmi krátko, ale napriek tomu som vyzdvihol najbohatšiu časť manuálneho testeru? A všimli ste si odvážne zvýraznenie v priebehu niekoľkých slov? To sú presne tie najdôležitejšie vlastnosti, ktoré manuálny tester potrebuje.
Naozaj si teraz myslíte, že tieto činy možno úplne nahradiť niečím iným? A horúci trend súčasnosti - dá sa niekedy nahradiť automatizáciou?
V SDLC pri akejkoľvek vývojovej metodológii zostáva len málo vecí konštantných. Ako tester spotrebujete požiadavky a prevádzate ich do testovacích scenárov / testovacích prípadov. Tieto testovacie prípady potom vykonáte alebo priamo automatizujete (viem, že to robí niekoľko spoločností).
Keď ju automatizujete, vaše zameranie je stabilné, čo automatizuje uvedené kroky.
Vráťme sa k formálnej časti, tj k manuálnemu vykonaniu testovacích prípadov.
Tu sa nezameriavate iba na vykonávanie písomných testovacích prípadov, ale pri tom vykonáte aj veľa prieskumných testov. Pamätáte si, že ste zvedaví? A budete si predstavovať. A nebudete schopní odolať, urobíte skutočne to, čo ste si predstavovali.
Obrázok uvedený nižšie zobrazuje, ako je zjednodušené písanie testovacích prípadov:
Vyplňujem formulár a mám hotové vyplnenie prvého poľa. Som príliš lenivý ísť na to, aby myš presunula zameranie na ďalšie pole. Stlačil som kláves „tab“. Rovnako som skončil s vyplnením ďalšieho a posledného poľa, teraz musím kliknúť na tlačidlo Odoslať, zameranie je stále na posledné pole.
Ojoj, omylom som stlačil kláves „Enter“. Skontrolujem, čo sa stalo. ALEBO je tu tlačidlo na odoslanie, dvakrát na neho kliknem. Nespokojný. Klikám na to viackrát, príliš rýchlo.
Všimli ste si to? Existuje toľko možných akcií používateľa, a to tak zamýšľaných, ako aj nezamýšľaných.
Neuspejete pri napísaní všetkých testovacích prípadov, ktoré pokryjú vašu testovanú aplikáciu na 100%. Toto sa musí stať prieskumným spôsobom.
Pri testovaní aplikácie budete pridávať nové testovacie prípady. Budú to testovacie prípady na chyby, s ktorými ste sa stretli, pre ktoré predtým nebol napísaný žiadny testovací prípad. Alebo počas testovania niečo spustilo váš myšlienkový proces a dostali ste niekoľko ďalších testovacích prípadov, ktoré by ste radi pridali do svojej sady testovacích prípadov a vykonali ich.
Ani po tomto všetkom neexistuje záruka, že neexistujú skryté chyby . Softvér s nulovými chybami je mýtus. Môžete zacieliť iba na to, aby ste to priblížili k nule, ale to sa jednoducho nemôže stať bez toho, aby ľudská myseľ neustále zacieľovala na to isté, podobne ako v príkladnom procese, ktorý sme videli vyššie.
Prinajmenšom od dnešného dňa neexistuje softvér, ktorý bude myslieť ako ľudská myseľ, pozorovať ako ľudské oko, klásť otázky a odpovedať ako človek a potom vykonávať zamýšľané a nezamýšľané činnosti. Aj keby sa také niečo stalo, koho myseľ, myšlienky a oko budú napodobňovať? Váš alebo môj? My, ľudia, tiež nemáme rovnaké právo. Každý sme iný. Potom?
Potreba manuálneho testovania, keď je okolo automatizácia:
Automation Testing má v dnešnej dobe svoj vlastný podiel na sláve a v nadchádzajúcich rokoch ich bude ešte viac, ale jednoducho nemôže nahradiť manuálne testovanie kvality (prečítajte si ľudské / prieskumné testy).
Určite ste už počuli - „ Neautomatizujete testovanie, automatizujete kontrolu “. Táto veta hovorí veľa o tom, kde stojí ručné testovanie QA a testovanie automatizácie. O tejto téme písalo a hovorilo veľa známych mien po celom svete, takže na to nebudem veľmi klásť dôraz.
Automatizácia nemôže nahradiť testovanie ľudí, pretože:
- Vyžaduje runtime úsudky o všetkom, čo sa deje pred vašimi očami (počas testovania) a v niekoľkých prípadoch aj v zákulisí.
- Vyžaduje si to jasné a neustále pozorovanie.
- Vyžaduje to spochybňovanie.
- Vyžaduje vyšetrovanie.
- Vyžaduje si to zdôvodnenie.
- Vyžaduje si neplánované akcie podľa potreby počas testovania.
Testovanie môže byť nahradené nástrojom / strojom, ktorý bude schopný absorbovať podrobnosti, spracovať ich, ovládať akcie a vykonávať ich ako ľudská myseľ a človek, a to všetko za behu a vo všetkých možných kontextoch. Tento nástroj musí opäť byť ako všetci možní ľudia.
Stručne povedané, testovanie na ľuďoch sa nedá nahradiť. Možno sa nejaký hollywoodsky sci-fi film za pár rokov bude blížiť, ale v skutočnom živote nevidím, že to príde o niekoľko sto rokov, čo si viem predstaviť. Nebudem to odpisovať večne, pretože verím v nekonečné možnosti.
Na samostatnú nôtu, aj keď sa to naozaj stane po niekoľkých stovkách rokov, obraz, ktorý si dokážem predstaviť, je určite obrazom strašidelného sveta. Vek transformátorov. :)
= >> Odporúčané čítanie - Najlepšie spoločnosti poskytujúce ručné testovacie služby
Ako automatizácia dopĺňa manuálne testovanie?
Už som povedal a znova opakujem, že automatizáciu už nemožno ignorovať. Vo svete, kde sa kontinuálna integrácia, nepretržité doručovanie a neustále zavádzanie stávajú povinnými vecami, nemôže neustále testovanie zostať nečinné. Musíme nájsť spôsoby, ako to urobiť.
Väčšinou nasadenie stále väčšieho počtu pracovných síl z dlhodobého hľadiska pre túto úlohu nepomáha. Tester (testovací vedúci / architekt / manažér) musí preto opatrne rozhodovať o tom, čo sa má automatizovať a čo by sa malo stále robiť ručne.
Stáva sa nesmierne dôležité nechať si vypracovať veľmi presné testy / kontroly, aby ich bolo možné automatizovať bez akýchkoľvek odchýlok od pôvodného očakávania a aby ich bolo možné použiť pri regresii produktu ako súčasť ‘priebežného testovania‘.
Poznámka: Slovo spojité z výrazu „Kontinuálne testovanie“ je predmetom podmienených a logických volaní podobných ostatným pojmom, ktoré sme použili vyššie s rovnakou predponou. Kontinuálne v tomto kontexte znamená čoraz častejšie, rýchlejšie ako včera. Pokiaľ to má význam, môže to veľmi dobre znamenať každú sekundu alebo nanosekundu.
Bez dokonalého zosúladenia ľudských testerov a automatizovaných kontrol (sú zdokumentované testy s presnými krokmi, očakávanými výsledkami a výstupnými kritériami uvedeného testu) je dosiahnutie nepretržitého testovania veľmi ťažké, čo následne umožní nepretržitú integráciu, nepretržité dodávanie a nepretržité nasadenie. ťažšie.
Úmyselne som použil termín kritériá ukončenia testu uvedený vyššie. Naše automatizačné obleky už nemôžu byť podobné tým tradičným. Musíme sa ubezpečiť, že ak zlyhajú, mali by zlyhať rýchlo. A aby nedochádzalo k ich rýchlemu zlyhaniu, mali by sa automatizovať aj výstupné kritériá.
Príklad:
Povedzme, že existuje chyba blokovania, pri ktorej sa nemôžem prihlásiť na Facebook.
Funkcia prihlásenia potom musí byť vašou prvou automatizovanou kontrolou a vaša automatizačná sada by nemala spustiť nasledujúcu kontrolu, kde je prihlásenie nevyhnutnou podmienkou, ako je zverejnenie stavu. Veľmi dobre viete, že to musí zlyhať. Ak to chcete urobiť rýchlejšie, zverejnite výsledky rýchlejšie, aby sa chyba dala rýchlejšie vyriešiť.
Ďalšia vec je opäť niečo, čo ste už určite počuli - Nemôžete a nemali by ste sa pokúšať všetko automatizovať.
Vyberte testovacie prípady, ktoré, ak budú automatizované, budú mať značný prínos testerom a má dobrú návratnosť investícií. Z tohto dôvodu existuje všeobecné pravidlo, ktoré hovorí, že by ste sa mali pokúsiť automatizovať všetky vaše testovacie prípady s prioritou 1, a pokiaľ je to možné, tak s prioritou 2.
Automatizáciu nie je ľahké implementovať a je časovo náročná, preto sa odporúča vyhnúť sa automatizácii prípadov s nízkou prioritou aspoň do času, keď skončíte s vysokými. Výber toho, čo má byť automatizované, a zameranie na to zlepšuje kvalitu aplikácie, ak sa používa a udržiava nepretržite.
Záver
Dúfam, že ste už pochopili, prečo a ako veľmi je potrebné ručné / ľudské testovanie na dodanie kvalitných produktov a ako ich automatizácia dopĺňa.
Uznanie dôležitosti manuálneho testovania QA a pochopenie jeho zvláštnosti je úplne prvým krokom k tomu, aby ste boli vynikajúcim manuálnym testerom.
V našich nadchádzajúcich výukových programoch manuálneho testovania sa budeme zaoberať všeobecným prístupom k vykonávaniu manuálneho testovania, jeho koexistenciou s automatizáciou a mnohými ďalšími dôležitými aspektmi.
Som si istý, že získate rozsiahle vedomosti o testovaní softvéru, keď prejdete celým zoznamom tutoriálov v tejto sérii.
dve hlavné položky testované v integračnom teste sú rozhrania a očakávané výsledky.
Budeme radi, keď sa nám ozvete. Neváhajte a vyjadrite svoje myšlienky a návrhy v sekcii komentárov nižšie.
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Úloha pomocníka QA pri testovaní softvéru
- Alfa testovanie a beta testovanie (kompletný sprievodca)
- Funkčné testovanie vs. Nefunkčné testovanie
- Najlepšie služby na testovanie softvéru QA od spoločnosti SoftwareTestingHelp
- Kurz testovania softvéru: Do ktorého inštitútu pre testovanie softvéru by som sa mal pripojiť?
- Typy testovania softvéru: Rôzne typy testovania s podrobnosťami
- Ako svoju kariéru si zvolíte testovanie softvéru