Hogyan teszteljük webkód?

szavazat
11

Van valakinek valami jó tanácsok az írás teszt kód adatbázis-backend fejlesztés, ahol van egy nagy függés állapotát?

Konkrétan szeretnék írni tesztek kódot letölteni adatbázisrekordot, de a válaszok függ az adatok az adatbázisban (amely idővel változhat).

Az emberek általában, hogy egy külön fejlesztési rendszert egy „befagyasztott” tárol úgy, hogy az adott funkció mindig visszatér a pontos ugyanazt az eredményt szettet?

Biztos vagyok benne, hogy ez nem egy új kérdés, így én is nagyon érdekel, hogy tanuljanak mások tapasztalatait.

Léteznek jó cikkek, hogy ott megvitatják ezt a kérdést a web-alapú fejlesztés általában?

Én általában írni PHP kódot, de azt várnánk mindezen kérdésekre nagyrészt nyelv és keretrendszer agnosztikus.

A kérdést 05/08/2008 22:58
a forrás felhasználó
Más nyelveken...                            


10 válasz

szavazat
5

Meg kell nézni DBUnit, vagy próbálja megtalálni a PHP egyenértékű (ott kell lennie egy odakinn). Akkor tudja használni, hogy előkészítse az adatbázis egy adott adathalmaz, amely képviseli a vizsgálati adatok, tehát minden egyes vizsgálat már nem függ az adatbázisban, és néhány meglévő állapot. Ily módon az összes teszt önálló, és nem törik során további adatbázis-használat.

Frissítés: Egy gyors google keresés mutatott DB egység kiterjesztése a PHPUnit.

Válaszolt 05/08/2008 23:03
a forrás felhasználó

szavazat
3

Ha elsősorban érintett adatrétegből tesztelés, érdemes megnézni ezt a könyvet: xUnit tesztlapok: Refactoring teszt kód . Mindig biztos abban, hogy magam, de ez a könyv nem egy nagy munka, hogy segítsen felsorolni az aggodalmakat, mint a teljesítmény, a reprodukálhatóság, stb

Válaszolt 06/08/2008 05:14
a forrás felhasználó

szavazat
2

Használjuk egy memóriában tárol (HSQL: http://hsqldb.org/ ). Hibernate ( http://www.hibernate.org/ ) megkönnyíti számunkra, hogy pont a mi egység vizsgálatok a vizsgálati db, a hozzáadott bónusz, hogy futnak villámgyors ..

Válaszolt 10/09/2008 13:02
a forrás felhasználó

szavazat
2

Azt hiszem, ez attól függ, milyen adatbázist használ, de a Red Gate (www.red-gate.com), hogy egy eszköz az úgynevezett SQL Data Generator. Ezt be lehet állítani, hogy töltse az adatbázis értelmes keres vizsgálati adatok. Azt is mondja, hogy mindig ugyanazt a magot a véletlenszám-generátor, így a „véletlen” adat ugyanaz minden alkalommal.

Akkor majd írjuk meg a készülék ellenőrzi, hogy élnek ezzel a megbízható, megismételhető adatokat.

Ami tesztelésére web oldala a dolgoknak, Én jelenleg vizsgálja a szelén (selenium.openqa.org). Úgy tűnik, ez egy cross-browser képes tesztsorozat, amely segít teszt alkalmassága. Azonban, mint minden ilyen honlap vizsgálati eszközök, nincs igazi módja, hogy teszteljék, milyen jól ezeket a dolgokat már meg mind a böngészők nélkül öntés emberi szem felettük!

Válaszolt 06/08/2008 14:44
a forrás felhasználó

szavazat
1

Általában egyetértek Peter de létrehozása és törlése a vizsgálati adatok azt nem használja az SQL közvetlenül. Én szívesebben használják néhány szifilisz API, hogy a használt termék létrehozásához adatokat hasonló termeléshez a lehető ...

Válaszolt 10/09/2008 12:31
a forrás felhasználó

szavazat
1

Azt javaslom, hogy három adatbázisok. Egy termelési adatbázis, egy fejlesztés adatbázis (tele néhány értelmes adatokat az egyes fejlesztő), és egy vizsgálati adatbázis (üres asztalok és talán egy pár sort, hogy mindig szükség van).

A módja, hogy teszteljék adatbázis kódja:

  1. Helyezzen be egy pár sort (SQL), hogy alapállapotokat
  2. Fuss a funkciót, amely a tesztelni kívánt
  3. Összehasonlítása várható tényleges eredményeket. Itt jönne a normál egység tesztelési keretrendszer
  4. Tisztítsuk meg a sorok, hogy módosultak (így a következő távon nem fogja látni az előző futás)

A razzia lehetne tenni egy standard módon (természetesen csak a tesztelés adatbázis) a DELETE * FROM table.

Válaszolt 19/08/2008 19:40
a forrás felhasználó

szavazat
1

Itt a stratégia (használom JUnit, de biztos vagyok benne, van egy módja annak, hogy az egyenértékű PHP):

Van egy módszer, hogy fut, mielőtt az összes egység vizsgálatok egy adott DAO osztály. Ez hozza a dev adatbázist egy ismert állapotba (hozzáadja az összes vizsgálati adatok, stb.) Amint azt a vizsgálatok elvégzését, tudom nyomon követni minden olyan adatot adunk az ismert állapot. Ez az adat kitakarította a végén minden vizsgálat. Miután az összes tesztet az osztályban futni, más módszert eltávolítja az összes vizsgálati adatok a dev adatbázisban, így azt az állapotban volt, mielőtt a kísérleteket. Ez egy kis munka, hogy minden, de én általában írni a megoldást egy DBTestCommon osztály, ahol minden az én DAO vizsgálati osztályokat lehet kapni őket.

Válaszolt 11/08/2008 14:30
a forrás felhasználó

szavazat
1

Megpróbálhatod http://selenium.openqa.org/ ez több a GUI tesztelés helyett adatrétegből vizsgálati kérelmet, de nem rögzíti az intézkedéseket, amelyek akkor lehet lejátszani, hogy automatizálják vizsgálatok a különböző platformokon.

Válaszolt 06/08/2008 13:06
a forrás felhasználó

szavazat
1

Ha beállít az adatbázis ismert mennyiségű futtatása előtt a tesztek és lerombolja a végén, akkor tudni fogja, hogy milyen adatokat dolgozunk.

Akkor tudod használni valami hasonló szelén egyszerűen tesztelheti saját UI (feltételezve, web-alapú, de van egy csomó UI vizsgálati eszközök odakinn más UI-íz) és jelenlétének kimutatására egyes feljegyzések húzta vissza az adatbázisból.

Ez megér felállítása vagy egy teszt verziója az adatbázis -, vagy hogy a teszt scriptek feltölti az adatbázist az ismert adatok részeként a vizsgálatok.

Válaszolt 05/08/2008 23:08
a forrás felhasználó

szavazat
1

Van pontosan ugyanaz a probléma a munkámmal, és azt tapasztalom, hogy a legjobb ötlet az, hogy egy PHP script, hogy újra létre az adatbázist, majd egy külön script, ahol én dobja őrült adatok azt, hogy ha törik meg.

Én még soha nem használt semmilyen Unit tesztelés vagy hasonlók, így nem lehet azt mondani, hogy működik-e vagy sem sajnálom.

Válaszolt 05/08/2008 23:03
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more