2009. október 30., péntek

WATIR

Hello Mindenki

most egy kis szoftvertechnológiai oktatás következik!
Már régóta foglalkoztat a gondolat, hogy a szoftvereket, amiket évek óta írogatunk tucatnyi kollegámmal bent az otp-ben, bizony nem nem csak "kézzel", vagyis kattintgatással gépeléssel kéne tesztelni, hanem ún. automatizált tesztelő eszközzel.

Ez annyit tesz, hogy egy erre felkészített program "szimulálja" a felhasználói interakciókat: "mozgatja" az egeret, "leüti" a billentyűket. Persze a megfelelő sorrendben a megfelelő billentyűket, és ezt egy "tesztelési forgatókönyv" (tesztelő script) vezérli. A tesztelési forgatókönyvet viszont már emberi erővel kell elkészíteni (és ez nem is olyan gyorsan meg, sajnos...)
A tesztelési forgatókönyvben tetszőleges helyre ún. "ellenőrzési pontok" helyezhetők, ahol a teszt leellenőrzni, hogy pl megjelent-e a képernyőn egy adott üzenet, aminek meg kéne, és ha nem, akkor a teszt hibát jelez.

Igazából, ha az ember belegondol, ez már egészen vad dolog, hiszen arról van szó, hogy egy program tesztel egy másik programot!
Áááááá!

De ennek megvan a maga hatalmas előnye, sőt, előnyei:
  • a "tesztforgatókönyvet" csak egyszer kell elkészíteni, aztán bárhányszor lefuttatható, és nem kell újra meg újra kézzel végigtesztelni mindent (amit persze az ember általában nem is tesz meg teljes körűen, mert lehetetlen mindent mindig letesztelni)
  • ha a szoftver egyik pontján módosítunk valamit, akkor a korábban elkészített tesztforgatókönyvek újrafuttatásával könnyen meg lehet bizonyosodni, hogy vajon elrontottunk-e valahol valamit? Ezáltal sokkal nagyobb a biztonságérzete az embernek, mások bátrabban tudnak belenyúlni az én programomba, ha szükséges, stb.
  • A tesztforgatókönyv tulajdonképpen dokumentációként is használható, hiszen benne van (a korábban említett "ellenőrzési pontokon"), hogy milyen interakcióra milyen válasznak kell érkeznie. (Ez a már évekkel ezelőtt megírt szoftver módosításakor lehet érdekes, amikor már mindenki csak homályosan emlékszik, hogy pontosan - ez fontos kitétel - mit kell csinálnia a programnak...)
Épp most próbáltam ki egy ilyen automatizált tesztelő eszközt, a neve WATIR

itt a weblapja: www.watir.com
tökingyen van (szinte hihetetlen a "mai" világban...)

És leszedtem egy példa tesztforgatókönyvet is, ami a google keresőmotorját "teszteli", persze ez csak egy egyszerű példa.

Itt a forgatókönyv szövege, lejjebb meg a futtatási eredmény:

# Please, when you update this file, update also http://wiki.openqa.org/display/WTR/Example+Test+Case

#-------------------------------------------------------------#
# Demo test for the Watir controller.
#
# Purpose: to demonstrate the following Watir functionality:
# * entering text into a text field,
# * clicking a button,
# * checking to see if a page contains text.
# Test will search Google for the "pickaxe" Ruby book.
#-------------------------------------------------------------#

# the Watir controller
require "watir"

# set a variable
test_site = "http://www.google.com"

# open a browser
browser = Watir::Browser.new

# print some comments
puts "Beginning of test: Google search."

puts " Step 1: go to the test site: " + test_site
browser.goto test_site

puts " Step 2: enter 'pickaxe' in the search text field."
browser.text_field(:name, "q").set "pickaxe" # "q" is the name of the search field

puts " Step 3: click the 'Google Search' button."
browser.button(:name, "btnG").click # "btnG" is the name of the Search button

puts " Expected Result:"
puts " A Google page with results should be shown. 'Programming Ruby' should be high on the list."

puts " Actual Result:"
if browser.text.include? "Programming Ruby"
puts " Test Passed. Found the test string: 'Programming Ruby'. Actual Results match Expected Results."
else
puts " Test Failed! Could not find: 'Programming Ruby'."
end

browser.close

puts "End of test: Google search."

Itt az eredmény:

c:\ruby\tests>ruby example.rb
Beginning of test: Google search.
Step 1: go to the test site: http://www.google.com
Step 2: enter 'pickaxe' in the search text field.
Step 3: click the 'Google Search' button.
Expected Result:
A Google page with results should be shown. 'Programming Ruby' should be high
on the list.
Actual Result:
Test Passed. Found the test string: 'Programming Ruby'. Actual Results match E
xpected Results.
End of test: Google search.

Ennyit mára a tudomány és technika újdonságaiból, aludjatok jól, álmodjatok szépeket, jó éjszakát, gyekerek!

:)

2009. október 25., vasárnap

Koreografálok

Hello ismét,

egy jó ideje tervezek egy saját színházi estet, már régóta megvan az alapötlet: egy ember élete a születésétől kezdve a haláláig. Stílus szempontjából igen vegyes lesz: afrikai tánc, magyar néptánc, jazztánc, swing, latin és standard versenytáncok, hastánc, stb...

A második szám a főszereplő születés előtti életéről szól majd: a magzati létről meg a szülésről.
A szülés ősi energiáihoz szerintem az afrikai dobzene és afrikai tánc nagyon passzol, előtte a magzati időszakhoz pedig egy afrikai húros hangszer zenéjét választottam, amit chora-nak hívnak.
Na ezt a részt kezdtem el koreografálni kb két hete, és most végre elkészült - a 0. változat, hiszen még senkinek nem mutattam meg...
De legalább megvan, mert marha lassan haladok, de végül is érthető: nincs nagy tapasztalatom az ilyesmiben.

Pusszancs mindenkinek!

2009. október 23., péntek

Lótulajdonos lettem

Hö ezt én sem gondoltam volna még akár egy hónappal ezelőtt sem!!!

Na jó, nem csak az enyém a ló, de az enyém is, 1/15-öd részben!

persze Zalán bátyám rángatott bele...

Ostinato-nak hívják, egy éves, most vettük meg hetedmagammal Baden-Badenben az éves lóárverésen. Pontosabban: a "Konzorcium" vezetője, Sárközi Péter, és Kovács Sándor, a ló majdani trénere személyesen kiutazott, hogy egy megfelelő lóra tegyen szert az összedobott pépnzből.

Valakinek nagyobb részesedése van, nekem 1/15-öd rész :)

Persze Ági is nagyon örül :)

Bátyám részletesen is leírja, olvassátok el itt:



Csőváz!

Ágibébi te meg tanulj szorgalmasan a jövő heti Lovasterápiás Záróvizsgádra! :)

2009. október 5., hétfő

Ágfalván jártunk

Bizony megjártuk Ágfalvát!

Csütörtök délutántól vasárnap délutánig tartózkodtunk ott, fantasztikusan jó időt fogtunk ki!
Vasárnap még fürödtünk is a kültéri medencében, október 4-én! Igaz, csak 4 hosszt úsztam...
Fényképek sajnos nem készültek, mert Ági fényképezőgépe elromlott.

De megpróbálok az internetről majd levadászni egy pár képet...