Data : 25 Martie 2002 Autori : Despina Eftimescu (de@secure-net.de), Alexandru Ilioiu (ai@secure-net.ro)
Introducere
n noua economie, productorii de soluii IT sunt confruntai cu o nou cerin care i oblig s schimbe total modul de construcie a unui produs, fr a face compromisuri de calitate. A fi primul pe pia cu ultimele tehnologii este mai important ca oricnd. Lucrnd cu o infrastructura software i hardware din ce n ce mai complex, confruntai cu creterea continu a cerinelor de calitate i cu necesitatea reducerii costurilor, firmele de software ncep s preuiasc tot mai mult soluii solide, inginereti, de dezvoltare de software. Testarea produsului este n software o component major n procesul de dezvoltare. n limbaj de specialitate se discut despre asigurarea calitii (Quality Assurance). Firmele din industria tradiional de ex. industria de maini, de construcii, de produse electronice sau alimentare au de zeci de ani departamente de testare i verificare a calitii. n materie de software, organizarea i automatizarea muncii de testare i verificare a produselor a nceput din motive istorice evidente abia n anii '80. Testarea manual, mult timp vzut ca singura soluie de a descoperi eventualele defecte, ntrzie foarte mult lansarea pe pia a produsului i induce cheltuieli semnificative mai ales n cazul descoperirii efectelor laterale att n procesul dezvoltrii unei aplicaii ct i n cazul de schimbri ulterioare. Totodat procedurile de testare manual, prin natura lor limitat, nu reuesc s descopere toate defectele i nu au nici o ans s simuleze condiii de utilizare simultan, intensiv, a unei aplicaii. Exist numeroase ci de a mbunti procesul de testare, una dintre cele mai eficiente fiind testarea automat. Testele automate execut o secven de aciuni fr intervenie uman i pot simula utilizarea unei aplicaii n condiii de simultaneitate ridicat. n general, majoritatea produselor necesit s fie testate de mai multe ori, pe mai multe platforme software i hardware, ca i dup schimbrile ulterioare sau la lansarea unei noi versiuni de produs. Prin folosirea testrii automate, costurile testrilor repetate se reduc aproape la zero. Cele mai importante beneficii sunt: acoperirea tuturor etapelor de testare de la concepie pn la lansare posibilitatea simulrii testrii cu mai muli utilizatori posibilitatea repetrii testelor creterea siguranei n produs. Un sistem de testare automat trebuie s aib la baz dou caracteristici principale: module reutilizabile ntreinerea i urmrirea activitii dintr-un singur punct de control De aceea una din calitile care trebuie s le aib un astfel de sistem este capabilitatea de a fi uor configurat i adaptat n acelai ritm cu software-ul ce se testeaz . Sistemele de testare automat sunt o tehnologie n plin dezvoltare care au ca scop descoperirea i raportarea eventualelor defecte, mrirea longevitii produsului i reducerea procesului de ntreinere. Testarea automat nseamn mai mult dect o simpl captur de ecran i rspunsul la cteva scripturi : ea trebuie s nceap cu planificarea i design-ul procedurii de testare, s conin o serie de teste repetabile, o interfa de management al scenariilor de test i un mecanism de raportare i gestionare a bug-urilor descoperite n urma testrii. Un sistem de test evoluat sprijin utilizatorii printr-un sistem de documentare pe tot parcursul acestui proces. ntr-o abordare mai detaliat testarea automat nseamn: 1. planificare 1. identificarea cerinelor i a funcionalitilor 2. gruparea acestora n condiii de test 3. crearea cazurilor de test pentru aceste condiii 2. design
1/8
1. construcia scripturilor de test 2. generarea testelor de rulare 3. execuie 1. crearea scenariului de rulare a scripturilor 2. rularea uneltelor monitor pentru nregistrarea datelor 3. nregistrarea rezultatelor pentru fiecare rulare 4. raportarea i gestionarea bug-urilor 4. management 1. generarea rapoartelor i graficelor 2. controlul dintr-un singur punct de comand 3. documentarea permanent a stadiului curent al proiectului
analizoare de memorie - detecteaz depirea memoriei alocate, suprascrieri n zone nealocate i zone rmase nedealocate testare de solicitare/performan - pentru testarea aplicaiilor web i client/server n diferite scenarii de solicitare testare servere web - verific validitatea i integritatea link-urilor, a codului html, programe client-side i server-side, securitatea transmiterii datelor alte unelte - pentru managementul documentaiei, raportrii bug-urilor, configuraiei, etc.
execuia automat a testelor de performan n fazele de nceput ale proiectului poate evita eforturile de redesign n fazele ulterioare odat ce scripturile de testare automat sunt implementate, o parte din personal poate fi redirecionat ctre alte necesiti b) avantaje privind economia de timp analiz rapid i exact n cazul schimbrii parametrilor sistemului durat scurt a ciclurilor de testare estimri mai exacte pentru procesul de planificare a testului posibilitatea efecturii mai multor teste (scripturile de testare pot fi rulate i dup orele de program economisind astfel timp) generarea rapid a condiiilor de testare c) avantaje privind calitatea o mai bun nelegere a scopului testrii o acoperire mai mare a elementelor de testat rezultate mai consistente datorit repetabilitii testelor compararea automat a rezultatelor
Platforms
Windows NT Sun HP IBM Linux Intel
ERP/CRM/SCM Middleware
CORBA Microsoft (COM) BEA (Tuxedo, Jolt) IBM MQSeries
Commerce Apps
Ariba BroadVision Blue Martini Calico Selectica Vignette
Internet/Intranet Clieni
Web Servers
MS IIS Netscape NAS
Database Databases
Oracle SQLServer Sybase Informix IBM DB2 EMC
Wireless
Nokia OpenWave Everypath.com Brience Wapforum.Org AvantGo
4/8
Procesul de testare automat presupune un efort de management deosebit. Acest proces ncepe nc din faza de analiz a aplicaiei i continu n toate etapele de dezvoltare. n diagrama urmtoare se pot observa etapele procesului, ordinea i frecvena acestora, precum i locul central pe care l ocup managementul defectelor i serviciile. Un factor important este meninerea central a comunicrii ntre etape pentru managementul bug-urilor.
Ce exist pe pia
Exist numeroase soluii pentru implementarea unui sistem de testare automat, majoritatea companiilor din acest domeniu oferind att pachete software ct i servicii. Market leader este firma Mercury Interactive a crei concuren direct este firma Rational. Ambele firme ofer att produse de testare automat ct i pentru organizarea centralizat a procesului de testare, management de proiect i monitorizare de reele, baze de date i aplicaii n timpul utilizrii productive a acestora. Alte firme (Compuware, Segue, etc) ofer o gam de produse similare, de obicei incomplet. Preurile produselor de testare i monitorizare profesionale sunt deseori foarte mari (preuri de 250.000 USD nu sunt neobinuite). De aceea firmele productoare ofer i servicii, cu ajutorul crora se pot testa / monitoriza aplicaiile dumneavoastr fr s fie nevoie de achiziionarea programelor i/sau licenelor respective. Exist de asemenea i produse freeware sau open source ca de exemplu Cactus de la Jakarta. Firme importante ca de exemplu SAP au de obicei pentru produsele lor tool-uri de testare i monitorizare integrate. Dat fiind ca domeniul testrii automate este extrem de vast i complex, asemenea firme nu dezvolt propriile lor programe pentru aceste funcionaliti ci se bazeaz pe colaborari cu firme specializate (n cazul SAP Compuware pentru testare i Mercury Interactive pentru monitorizare), crend doar interfeele de integrare ctre produsele respective.
5/8
Active tune
serviciu special creat pentru calibrarea procesului de dezvoltare i producie
TestDirector
soluie global pentru managementul procesului de testare; conine patru module : Requirements, Test Plan, Test Lab i Defects Manager
Astra FastTrack
unealt pentru managementul defectelor unei aplicaii Web
- functional testing
Astra QuickTest
unealt care permite att testerilor nceptori ct i experilor s testeze aplicaiile Web dinamice
WinRunner
soluie pentru testarea funcional a aplicaiilor cu interfa grafic
QuickTest professional
unealt pentru automatizarea testrii regresive a aplicaiilor Web dinamice funcionale i
XRunner
unealt pentru automatizarea aplicaiile tip X-Window testrii funcionale la
- load testing
LoadRunner
soluie pentru managementul testrii de solicitare i performan
ActiveTest
serviciu prin care se poate testa i calibra infrastructura i aplicaiile Web n dezvoltare
Astra LoadTest
soluie rapid pentru testarea scalabilitii i performanelor aplicaiilor Web.
ActiveTest SecureCheck
serviciu gzduit care testeaz securitatea aplicaiilor Web i a infrastructurilor
LoadRunner TestCenter
soluie complet care permite managementul testrii multiple, concurente din mai multe locaii geografice. Toate resursele sunt centralizate i accesibile dintr-un singur punct de control
Servicii
File-AID
unealt pentru gsirea, extracia, convertirea i managementul datelor
PointForward
soluie pentru testarea i monitorizarea de la distan
QACenter
pachet complet pentru testarea aplicaiilor
XPEDITER
soluie pentru analiza i testarea aplicaiilor pe mai multe platforme
Production readiness
Quality Assurance
Development integration
and
UNIFACE
mediu pentru dezvoltarea aplicaiilor mari i complexe
Vantage
unealt pentru managementul aplicaiei : utilizator, reea, baz de date, server 6/8
3. Segue - www.segue.com
Domeniul Application performance management Produse SilkVision
soluie pentru monitorizarea comportamentului aplicaiei
Servicii
SilkTest
soluie pentru testarea scalabilitii i solicitrii aplicaiei
SilkPerformer V
soluie pentru simularea de performan i solicitare
SilkPlan
pachet de management pentru procese
4. Rational - www.rational.com
Domeniul Application performance management Produse Rational Suite TestStudio
pachet complet pentru testarea automat funcional, regresiv, modular i de ncrcare a aplicaiilor Web, ERP i client/server
Servicii
Enterprise testing - test management - load testing - runtime analysis - functional testing
Rational TestManager
permite controlul, managementul i raportul activitilor dintr-un singur punct de control tuturor
Rational TeamTest
automatizeaz testele funcionale, regresive, funcionaldistribuite pentru aplicaii Web, ERP i client/server
Rational PurifyPlus
automatizeaz testarea modulelor asigurnd performan i calitate
Rational Robot
automatizeaz testarea funcional i include teste regresive pentru aplicaii Web, ERP i client/server
Servicii
Cactus
permite efectuarea de teste asupra codului.
Cactus
permite testarea funcional returnate de server. prin verificarea valorilor
O atenie deosebit este ndreptat ctre produsul free Cactus, proiect open source dezvoltat de organizaia jakarta.apache.org. Cactus este un framework destinat testrii codului java server-side (Servlet, EJB, TagLibs, etc ). Modulul de baz al produsului este JUnit. Utilizarea produsului presupune programarea n Java a scenariilor de testare, Cactus neoferind o interfa grafic pentru nregistrarea workflow-ului ce urmeaz a fi testat. De aceea acest produs se adreseaz unor utilizatori cu pregtire solid n informatic.
Concluzii
Testarea automat nu va putea nlocui n ntregime testarea manual i nici nu trebuie. Tester-ii pot s observe cum un utilizator poate interaciona cu produsul, n timp ce un sistem de testare automat nu poate ntotdeauna s prevad aceste aciuni sau s gseasc cea mai bun cale de a le testa. Dac sunt bine folosite, programele de testare automat mresc considerabil productivitatea QA, economisesc costuri, mresc semnificativ consistena i calitatea produsului i ajut la optimizarea i accelerarea procesului de dezvoltare al unei aplicaii. Deja n rile cu tradiie n dezvoltarea de software exist cerina
7/8
ca toate produsele software din sectorul militar, medical, guvernamental i financiar s fie testate cu unul din sistemele recunoscute de testare automat, iar rapoartele automate asupra felului cum a decurs testarea constituie baza acceptrii unei aplicaii de ctre client.
Resurse :
1. Herbert M. Isenberg - The practical organization of automated software testing (http://www.automatedtesting.com/PATfinal.htm)
2. Brett Pettichord - Success with test automation (http://www.io.com/~wazmo/succpap.htm) 3. Elisabeth Hendrickson - Test automation advice (http://www.qualitytree.com/autotest/autotest.htm) 4. Elfriede Dustin, Jeff Rashka - Automated Software Testing (Addison Wesley Longman Inc., ISBN: 0201432870 ) 5. *** - Mercury Interactive - white papers (http://www.mercuryinteractive.com) 6. *** http://jakarta.apache.org
Prezentare autori
Despina Eftimescu a terminat informatica la Universitatea de Vest din Timioara n 1994 i a lucrat din 1995 ca inginer software n Mnchen, ntre altele pentru firma Siemens si Technische Universitt Mnchen. Din 1997 ea lucreaz la firma SecureNet GmbH iar din iunie 2001 conduce ca Chief Executive Officer filiala romn a acesteia, firma SecureNet SRL din Craiova. Alexandru Ilioiu este director tehnic la SecureNet SRL, din Craiova. Poate fi contactat pe email la adresa ai@secure-net.ro
8/8