Stránka 1 z 1

Test databaze, python, selenium

Napsal: 25 kvě 2020 09:15
od shockwave
Ahoj, chctel bych se optat nejakeho testera, jak se testuje databaze.

Je mozne,databazi stahnout, dostat k ni pristup udaje, a pak pomoci Mysql workbench, Pycharm, Robotframework a Pythonu testovat, zda se do ni vse ulozilo, jak ma, apod.

Nebo je nejaky jiny postup, jak to testeri delaji, chtel bych to take trosku ovladat, ale materialu na tohle tema jsem nedohledal. Dekuji moc

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 11:49
od knowledgeispower

Kód: Vybrat vše

assert(condition, message)

https://stackoverflow.com/questions/514 ... -in-python

Například:

Kód: Vybrat vše

assert(2 + 2 == 5, "Houston we've got a problem")


Testy fungují tak, že máš testovací data a na nich provádíš různé věci. Finální podobu těch dat potom otestuješ. Testuješ očekavané data, tedy co očekáváš, že na tom bude, s finální podobou dat.

1) Můžeš například vytáhnout všechny uživatele s tabulky users a otestovat, zda každý uživatel má jméno.

2) Můžeš třeba vymazat všechny uživatele se jménem Pavel, vytáhnout si zase všechny uživatele z tabulky a otestovat, zda se nějaký nejmenuje Pavel.

Testy ale většinou děláš kvůli tomu, že chceš zjistit, zda kód, který jsi napsal, funguje dobře. Dejme tomu, že si tedy napsal v Pythonu vlastní metodu k určité třídě, která vezme 2 parametry, dvě jména, a všechny uživalete, kteří se jmenují prvním jménem přejmenuje na druhé jméno.

Jak by tedy mohl vypadat test pro tuto funkcionalitu:

Kód: Vybrat vše

prvniJmeno = "Honza"
druheJmeno = "Pavel"

# zde si např. pomocí SQL SELECT vybereš všechny uživatele z tabulky
# zde otestuješ, zda se alespoň jeden uživatel jmenuje jako prvniJmeno (tudíž Honza)

# zde zavoláš tvojí metodu Rename, které přejmenuje všechny prvniJmeno na druheJmeno
DbTest.Rename(prvniJmeno, druheJmeno)

# zde si např. pomocí SQL SELECT vybereš všechny uživatele z tabulky
# zde otestuješ, že žádný uživatel se nesmí jmenovat prvniJmeno, musí existovat alespoň jeden uživatel, který se jmenuje druheJmeno


Jedná se o úplně triviální příklad, který ti má přiblížiš princip testování. Testování je důležitá část programování, v jakékoli firmě se většinou na svoji práci píšou testy.

Důvodů je několik:

1) až budeš mít spoustu kódu, tak testovat ručně každý kód se ti časově nevyplatí
2) až svůj kód někomu předáš, tak on nebude zjišťovat jak funguje, on chce akorát vědět, zda projde test
...

V praxi potom testuješ po každé nově přidané funkcionalitě všechny předešlé funkcionality najednou, abys zjistil, zda se ti nějaká nerozbila.

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 12:45
od shockwave
Takže ale nenapsal jsem uplnou hovadinu, když jsem chtěl stahnout original testovanou databazi a nasledne ji nahrat do Mysql workbench a tam testovat. Jde mi o to, jak se testuje ta originální database, co se s ní udělá, takže se stáhne někam a tam se testuje? ok?

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 15:48
od knowledgeispower
Samozřejmě můžeš použít jako testovací data cizí databázi.

A jde ti o testy, kdy testuješ kód, který pracuje s databází, nebo testování, zda daná databáze byla správně navrhnuta?

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 15:58
od shockwave
Jde mi kokretně o to jak by se postupovalo na pozici testera, který má otestovat data, která se mají uložit do databáze. Jak se napojím na databázi, pomocí pythonu. Nemohu rovnou napsat SELECT ... Jde mi primárně o ověření , zda data došla do _DB. A klidně pokud někdo popíšete testování kodu pracujícího s _DB, tak mi to vůbec vadit nebude.

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 16:09
od knowledgeispower
Jsou 2 způsoby jak zjistit, zda jsou data v databázi:

1) koukneš přímo do databáze
2) kód

Výše jsi psal o MySQL, když napíšeš do Google tyto klíčové slova, tak ti to vyplivne spoustu odkazů: python, mysql

Jeden z odkazů: https://www.w3schools.com/python/python ... tarted.asp

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 20:20
od shockwave
Tak jsem se pokusil nainstalovat podle navodu zde : https://www.w3schools.com/python/python ... tarted.asp

"MySQL Connector driver", PIP hlasi uspesne nainstalovano, avsak kdyz dam toto: import mysql.connector
nic se neukaze. import mysql.connector jsem ulozil radne do .py souboru a spustil z cmd radky. MySQL pro developery jsem nainstaloval. Netusite, kde by mohla byt chyba. Dekuji

Re: Test databaze, python, selenium

Napsal: 25 kvě 2020 22:31
od knowledgeispower
Zkus se zeptat sám sebe; co by se mělo ukázat.

Já si myslím, že nic.

Re: Test databaze, python, selenium

Napsal: 26 kvě 2020 00:58
od shockwave
byla chyba v instalaci balicku misto:
pip install mysql-connector-python
jsem nainstaloval jen :
pip install mysql-connector

ted uz vse jede