Csak a tesztemen keresztül!

Szakmai gondolatok informatikai rendszerek teszteléséről.

Gazda

Friss topikok

  • Akron: @Verhás Péter: Az ügyfeled a cég (vezérigazgatóval, Józsi nénivel) A cég ellenőrzi le és veszi át ... (2018.01.31. 14:09) Miért UAT
  • Verhás Péter: @ hrgy: Egy kicsit felhúztam magam, de sebaj. A lényegi állításokban igazad van, ám a személyekre... (2011.10.09. 00:25) A tesztelés nem mindenható
  • crix: Ez a hozzáállás. Sajnos most is. Aztán csodálkoztak itt a népek, amikor bevállaltam a hétvégi munk... (2011.10.05. 16:56) Újra fizetni kell
  • crix: és milyen specifikáció mentén ment át az ügyfél? elég blind? (2011.10.05. 13:41) Ügyfélteszt
  • fqqdk: fitnesse, concordion, és cucumber integráció lesz? (2011.03.05. 13:42) Automatizált tesztelés és üzleti tesztelés

Társblogok

SQL-ben, de hogyan

2009.08.12. 22:39 | Verhás Péter | 3 komment

Ennek mi köze a teszteléshez? Mint bárminek, és mindennek.

A múltkor egy tesztelési projekt során futottam bele az alábbi problémáb...

Nem. Bevallom férfiasan, éppen nem teszteltünk, hanem fejlesztettünk. (Ami persze, nincs tesztelés nélkül, mielőtt valaki kötözködni kezdene! Jajj nekem...) De azért érdekes...

Szóval a felhasználói felületen felhasználó kereshet. Megadhat országot, időpontot, lábméretet valamint egy színt, és megadjuk válaszként, hogy mely webshopos termékek illenek legjobban az ízléséhez. A feltételeket és/vagy jelleggel, tehát egyet, többet, egyet sem, mindet: ízlése szerint.

Ha az SQL lekérést összerakom String-ből, akkor az SQL fordul minden lekérésre. Ha előre lefordított SQL-t akarok, akkor N darab paraméter esetén 2^N kérést kell előre megírni (kézzel, vagy kóddal). Az túl sok.

Mi legyen?

István kitalálta a tutit (már kétszer is, és másodszor rájött, hogy három éve ezt már egyszer megoldotta), de mi lenne, ha a kommentekből az derülne ki, hogy van mégutibb is.

A múltkor felajánlottam egy könyvet. Most meg nem.

A bejegyzés trackback címe:

https://csakatesztemenkeresztul.blog.hu/api/trackback/id/tr371306055

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

esősévszak 2009.08.13. 07:59:27

Egy nagyon komplex lekérdezésekkel operáló programban balefutottam hasonlóba. Számomra a megoldás a CASE statement használata volt, kb ilyen módon (a példa kedvéért most magyarul a változónevek és angolul az SQL):

[...]
and case keresesimod
when 'all' then 1
when 'in' then kulcs in (select mezo from masiktabla where masiktabla.kulcs = ezatabla.kulcs)
when 'notin' then kulcs not in (select mezo from masiktabla where masiktabla.kulcs = ezatabla.kulcs)
end
[...]

Hope it helps. (Meg hogy nem esik szét a bloghu-tól.)

tvk · http://kodzaj.blog.hu 2009.08.13. 10:21:48

Rövidzárakkal is lehet:

select * from t where
(? is null or size=?) and
(? is null or country=?) and ...

"? is null" helyére értelemszerűen valami rendes üresvizsgálat kell és minden paramétert kétszer kell betolni.

Tényleg annyira sok idő az SQL lefordítása?

Verhás Péter · http://csakatesztemenkeresztul.blog.hu 2009.08.14. 13:32:17

@tvk: Nem mértük ki, de azt a megoldást találtuk amit te is javasolsz.