Test databaze, python, selenium

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
shockwave
Level 3
Level 3
Příspěvky: 464
Registrován: 10 úno 2011 16:36

Test databaze, python, selenium

Příspěvek 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
knowledgeispower
Level 1
Level 1
Příspěvky: 59
Registrován: 11 říj 2019 20:41

Re: Test databaze, python, selenium

Příspěvek 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.
shockwave
Level 3
Level 3
Příspěvky: 464
Registrován: 10 úno 2011 16:36

Re: Test databaze, python, selenium

Příspěvek 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?
knowledgeispower
Level 1
Level 1
Příspěvky: 59
Registrován: 11 říj 2019 20:41

Re: Test databaze, python, selenium

Příspěvek 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?
shockwave
Level 3
Level 3
Příspěvky: 464
Registrován: 10 úno 2011 16:36

Re: Test databaze, python, selenium

Příspěvek 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.
knowledgeispower
Level 1
Level 1
Příspěvky: 59
Registrován: 11 říj 2019 20:41

Re: Test databaze, python, selenium

Příspěvek 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
shockwave
Level 3
Level 3
Příspěvky: 464
Registrován: 10 úno 2011 16:36

Re: Test databaze, python, selenium

Příspěvek 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
knowledgeispower
Level 1
Level 1
Příspěvky: 59
Registrován: 11 říj 2019 20:41

Re: Test databaze, python, selenium

Příspěvek od knowledgeispower »

Zkus se zeptat sám sebe; co by se mělo ukázat.

Já si myslím, že nic.
shockwave
Level 3
Level 3
Příspěvky: 464
Registrován: 10 úno 2011 16:36

Re: Test databaze, python, selenium

Příspěvek od shockwave »

byla chyba v instalaci balicku misto:
pip install mysql-connector-python
jsem nainstaloval jen :
pip install mysql-connector

ted uz vse jede
Odpovědět

Zpět na „Programování a tvorba webu“