+ All Categories
Home > Documents > C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare,...

C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare,...

Date post: 02-Feb-2018
Category:
Upload: docong
View: 233 times
Download: 1 times
Share this document with a friend
39
1 1/39 Cursul 9 : Cursul 9 : Testare Software Testare Software ~ ~ 29.04.2014 29.04.2014 Testare Software Testare Software
Transcript
Page 1: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

11/39

Cursul 9 :Cursul 9 : Testare Software Testare Software ~~ 29.04.201429.04.2014

Testare SoftwareTestare Software

Page 2: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

22/39

Testarea Testarea SSoftwareoftware

TestareaTestarea da o viziune obiectivă asupra produsului, oferind astfel

posibilitatea de investigație Software, realizată cu scopul de a oferi

informații referitoare la calitatea unui produs soft.

Testarea Software Testarea Software pune la dispoziție evaluarea riscurilor implementarii.

Tehnicile de testare Tehnicile de testare includ procesul de execuție a programului sau

aplicației în scopul identificării erorilor soft.

Testarea Software Testarea Software mai poate fi definită ca un proces de validare si

verificare a unui produs (corespunde cerințelor care au determinat

proiectarea si implementarea lui si se comportă corespunzător asteptărilor).

Testare Software Testare Software poate fi implementată in orice etapă a procesului de

dezvoltare, desi partea considerabilă a efortului de testare de obicei este

aplicată după formalizarea cerințelor si finalizarea implementării.

Page 3: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

33/39

NuNu există un proces de testare c există un proces de testare caa sasa permitpermitaa identificarea tuturor identificarea tuturor

defectelor posibile defectelor posibile ale unuiale unui produs soft. produs soft. UnUn proces proces de testare de testare poate furniza poate furniza

o viziune critică sau comparativăo viziune critică sau comparativă,, studiindstudiind metricile metricile ssi constrângerile care i constrângerile care

servesc drept criterii de acceptanservesc drept criterii de acceptanttăă. Aceste criterii pot fi derivate din. Aceste criterii pot fi derivate din::

•• specificaspecificațții tehnice, ii tehnice,

•• produse asemănătoare comparabileproduse asemănătoare comparabile, ,

•• versiuni anterioare ale aceluiaversiuni anterioare ale aceluiassi produs, i produs,

•• aassteptari fateptari fattă de produs enună de produs enunțțate de către utilizator sau clientate de către utilizator sau client,,

•• standarde relevante, standarde relevante,

•• legi legi îîn vigoare, etc.n vigoare, etc.

Fiecare produs software are o Fiecare produs software are o audienaudiențțăă caracteristică caracteristică. Testarea Soft. Testarea Soft este este

procesul care procesul care realizeaza realizeaza evaluevaluareaarea acceptabilitatacceptabilitatiiii produsului din produsului din

perspectiva utilizatorilor finali, audienperspectiva utilizatorilor finali, audienttei ei ttintăintă si a si a cumpărătorilor cumpărătorilor îîntrntr--un un

mod cât mai obiectiv.mod cât mai obiectiv.

…… Testarea Testarea SSoftwareoftware

Page 4: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

44/39

Gelperin Gelperin ssi Hetzel au i Hetzel au îîmpărmpărțțit evoluit evoluțția conceptului de ia conceptului de testare a unui testare a unui sistem informaticsistem informatic îîn mai multe etape, n mai multe etape, astfelastfel::

1945 1945 -- 1956 1956 -- Orientarea spre depanareOrientarea spre depanareTestarea programelorTestarea programelor ((verificareverificare)) ~~ nu exista o distincnu exista o distincțție clară ie clară îîntre ntre activităactivitățțile de scriere a codului, testare ile de scriere a codului, testare ssi depanare. i depanare.

1957 1957 -- 19781978 -- Orientarea spre demonstraOrientarea spre demonstrațțieiePe măsură ce sistemele informatice crePe măsură ce sistemele informatice creșșteau teau îîn numărn număr, complexitate , complexitate șși cost,i cost, procesul de testare a căpătat o importan procesul de testare a căpătat o importanțță tot mai mareă tot mai mare. . PPersoanele implicate ersoanele implicate îîn dezvoltarea de programe informatice au n dezvoltarea de programe informatice au devenit mai condevenit mai conșștiente de riscurile asociate cu defectele din tiente de riscurile asociate cu defectele din programe programe ssi au i au îînceput să pună mai mult accent pe testarea nceput să pună mai mult accent pe testarea șși i remedierea defectelor remedierea defectelor îînainte ca acestea să afecteze produsul livratnainte ca acestea să afecteze produsul livrat. . Scopul procesului de testare era demonstrarea corectitudinii Scopul procesului de testare era demonstrarea corectitudinii funcfuncțționării programuluiionării programului, a, adică absendică absențța erorilor.a erorilor.

1979 1979 -- 19821982 -- Orientare spre defectareOrientare spre defectareMyers propune Myers propune îîn abordarea sa n abordarea sa șși o serie de activităi o serie de activitățți de analiză i de analiză șși i control care control care îîmpreună cu procesul de testare să crească nivelul de mpreună cu procesul de testare să crească nivelul de calitate a sistemelor informatice.calitate a sistemelor informatice.

Page 5: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

55/39

1983 1983 -- 1987 1987 -- Orientarea spre evaluareOrientarea spre evaluareGhidul de bune practici sugerează alegerea unor diverse metode dGhidul de bune practici sugerează alegerea unor diverse metode de e verificare verificare ssi validare, i validare, îîn funcn funcțție de caracteristicile fiecărui proiect ie de caracteristicile fiecărui proiect îîn n scopul crescopul creșșterii calităterii calitățții generale a produsului. ii generale a produsului. ÎÎn anii '70 nivelul de n anii '70 nivelul de profesionalism al persoanelor implicate profesionalism al persoanelor implicate îîn activitatea de testare a n activitatea de testare a crescut simcrescut simțțitor. Apar posturile dedicate de tester, manager de teste itor. Apar posturile dedicate de tester, manager de teste sau analist de teste. sau analist de teste.

1988 1988 -- îîn prezent n prezent -- Orientarea spre prevenireOrientarea spre prevenireStandardele precedente sunt dezvoltate Standardele precedente sunt dezvoltate șși i îîmbunătămbunătățțite ite îîncepând cu ncepând cu 1987 când1987 când IEEE publică o metodologie comprehensivă care se aplică IEEE publică o metodologie comprehensivă care se aplică îîn n toate fazele ciclului de viatoate fazele ciclului de viațță a programuluiă a programului. T. Testarea trebuie făcută estarea trebuie făcută îîn n toate fazele de lucru, toate fazele de lucru, îîn paralel cu programarea n paralel cu programarea șși are următoarele i are următoarele activităactivitățți principale:i principale: planificare planificare, a, analizănaliză, proiectare, implementare, , proiectare, implementare, execuexecuțție ie șși i îîntrentrețținere. Respinere. Respectarea acestei metodologii duce la ectarea acestei metodologii duce la scăderea costurilor de dezvoltare scăderea costurilor de dezvoltare șși de i de îîntrentrețținere a unui sistem prin inere a unui sistem prin scăderea numărului de defecte care ajung nedetectate scăderea numărului de defecte care ajung nedetectate îîn produsul n produsul final.final.Metodologiile moderne, precum Agile, Scrum, eXtreme Programming Metodologiile moderne, precum Agile, Scrum, eXtreme Programming ssi i altele pun un accent deosebit pe procesul de testare pe care altele pun un accent deosebit pe procesul de testare pe care îîl l integrează integrează îîn profunzime cu celelalte activităn profunzime cu celelalte activitățți care i care ttin de dezvoltarea in de dezvoltarea programelor informatice: planificare, proiectare, programare, evprogramelor informatice: planificare, proiectare, programare, evaluare aluare șși control.i control.

Page 6: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

66/39

Testarea software automatizatăTestarea software automatizată

Testarea automatizatăTestarea automatizată -- reprezintă o testare dinamică reprezintă o testare dinamică șși analiticăi analitică, , care presupune utilizarea a unui program pentru executarea care presupune utilizarea a unui program pentru executarea procedurilor (test case) sau a procedurilor (test case) sau a îîntregilor scenarii de testare.ntregilor scenarii de testare.ÎÎn ultimul timp pentru testarea automan ultimul timp pentru testarea automattizată se folosesc tot mai des izată se folosesc tot mai des aassaa--numitele numitele xUnit frameworksxUnit frameworks, din care fac parte, din care fac parte JUnitJUnit ssii NUnitNUnit. Ele . Ele permit testarea codului de program pentru a verifica programul permit testarea codului de program pentru a verifica programul îîn n circumstancircumstanțțe diferite. De exemplu, aceleae diferite. De exemplu, aceleașși proceduri de testare se i proceduri de testare se folosesc pentru a testa comportamentul programului folosesc pentru a testa comportamentul programului îîn n diferitediferite sisteme de operaresisteme de operare..

1.1. xUnitxUnit2.2. CPPUnitCPPUnit3.3. JUnitJUnit4.4. NUnitNUnit5.5. HtmlUnitHtmlUnit6.6. HttpUnitHttpUnit7.7. TOSCA TestsuiteTOSCA Testsuite

Page 7: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

77/39

…… Testarea software automatizatăTestarea software automatizată

1.1. xUnitxUnit

When developing software, testing the software is worthwhile. OnWhen developing software, testing the software is worthwhile. One e type of testing, unit testing, involves testing the fundamental type of testing, unit testing, involves testing the fundamental units of the units of the software. It may be carried out by writing code that tries out tsoftware. It may be carried out by writing code that tries out the target he target unit, checking inputs and outputs, one detail at a time. By keepunit, checking inputs and outputs, one detail at a time. By keeping such ing such automated testing code, programmers can verify that they haven'tautomated testing code, programmers can verify that they haven'tbroken something along the way. Software to manage these tests abroken something along the way. Software to manage these tests are re often called codeoften called code--driven testing frameworks.driven testing frameworks.

Various such frameworks have come to be known collectively as Various such frameworks have come to be known collectively as xUnit. These allow testing of different elements (units) of softxUnit. These allow testing of different elements (units) of software, such ware, such as functions and classes. The main advantage of xUnit frameworksas functions and classes. The main advantage of xUnit frameworks is is that they provide an automated solution with no need to write ththat they provide an automated solution with no need to write the same e same tests many times, and no need to remember what should be the restests many times, and no need to remember what should be the result of ult of each test. These frameworks are based on a design by Kent Beck, each test. These frameworks are based on a design by Kent Beck, originally implemented for Smalltalk as SUnit. Erich Gamma and Koriginally implemented for Smalltalk as SUnit. Erich Gamma and Kent ent Beck ported SUnit to Java, creating JUnit. From there, the frameBeck ported SUnit to Java, creating JUnit. From there, the framework work was also ported to other programming languages, e.g., CppUnit (fwas also ported to other programming languages, e.g., CppUnit (for C++), or C++), NUnit (for .NET), MATLAB Unit Testing Framework. They are all reNUnit (for .NET), MATLAB Unit Testing Framework. They are all referred ferred to as xUnit and are usually free, opento as xUnit and are usually free, open--source software.source software.

Page 8: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

88/39

…… Testarea software automatizatăTestarea software automatizată

2.2. CPPUnitCPPUnit

CppUnit is a unit testing framework module for the C++ programmiCppUnit is a unit testing framework module for the C++ programming ng language. It allows unitlanguage. It allows unit--testing of C sources as well as C++ with testing of C sources as well as C++ with minimal source modification. It was started around 2000 by Michaminimal source modification. It was started around 2000 by Michael el Feathers as a C++ port of JUnit for Windows and ported to Unix bFeathers as a C++ port of JUnit for Windows and ported to Unix by y Jerome Lacoste. Jerome Lacoste. The library is released under the GNU Lesser The library is released under the GNU Lesser General Public License.General Public License.The framework runs tests in suites. Test result output is sent tThe framework runs tests in suites. Test result output is sent to a o a filter, the most basic being a simple pass or fail count printedfilter, the most basic being a simple pass or fail count printed out, or out, or more advanced filters allowing XML output compatible with more advanced filters allowing XML output compatible with continuous integration reporting systems.continuous integration reporting systems.The project has been forked several times. The freedesktop.org The project has been forked several times. The freedesktop.org version, maintained by Markus Mohrhard of the LibreOffice projecversion, maintained by Markus Mohrhard of the LibreOffice project t (which uses CppUnit heavily), is actively maintained, and is use(which uses CppUnit heavily), is actively maintained, and is used in d in Linux distributions such as Debian, Ubuntu, Gentoo and Arch.Linux distributions such as Debian, Ubuntu, Gentoo and Arch.

Page 9: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

99/39

…… Testarea software automatizatăTestarea software automatizată

3.3. JUnitJUnit

JUnit is a unit testing framework for the Java programming languJUnit is a unit testing framework for the Java programming language. age. JUnit has been important in the development of testJUnit has been important in the development of test--driven driven development, and is one of a family of unit testing frameworks wdevelopment, and is one of a family of unit testing frameworks which hich is collectively known as xUnit that originated with SUnit.is collectively known as xUnit that originated with SUnit.JUnit is linked as a JAR at compileJUnit is linked as a JAR at compile--time; the framework resides under time; the framework resides under package junit.framework for JUnit 3.8 and earlier, and under package junit.framework for JUnit 3.8 and earlier, and under package org.junit for JUnit 4 and later.package org.junit for JUnit 4 and later.

JUnit alternatives have been written in other languages including:

• Actionscript (FlexUnit)• Ada (AUnit)• C (CUnit)• C# (NUnit)• C++ (CPPUnit)• Coldfusion (MXUnit)• Erlang (EUnit)• Fortran (fUnit)• Delphi (DUnit)• Free Pascal (FPCUnit)

• Haskell (HUnit)• JavaScript (JSUnit)• Microsoft .NET (NUnit)• Objective-C (OCUnit)• OCaml (OUnit)• Perl (Test::Class and Test::Unit)• PHP (PHPUnit)• Python (PyUnit)• Qt (QTestLib)• R (RUnit)• Ruby (Test::Unit)

Page 10: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1010/39

…… Testarea software automatizatăTestarea software automatizată

4.4. NUnitNUnit

JUnit is a unit testing framework for the Java programming langJUnit is a unit testing framework for the Java programming language. uage. JUnit has been important in the development of testJUnit has been important in the development of test--driven driven development, and is one of a family of unit testing frameworks wdevelopment, and is one of a family of unit testing frameworks which hich is collectively known as xUnit that originated with SUnit.is collectively known as xUnit that originated with SUnit.JUnit is linked as a JAR at compileJUnit is linked as a JAR at compile--time; the framework resides under time; the framework resides under package junit.framework for JUnit 3.8 and earlier, and under pacpackage junit.framework for JUnit 3.8 and earlier, and under package kage org.junit for JUnit 4 and later.org.junit for JUnit 4 and later.

Example of an NUnitExample of an NUnit test fixturetest fixture::usingusing NUnit.Framework; [TestFixture] public classpublic class ExampleTestOfNUnit { [Test]

public voidpublic void TestMultiplication(){ Assert.AreEqual(8, 2*2, "Multiplication");

// Equivalently, since version 2.4 NUnit offers a new and// more intuitive assertion syntax based on constraint objects// [http://www.nunit.org/index.php?p=constraintModel&r=2.4.7]:Assert.That(2*2, Is.EqualTo(4), "Multiplication constraint-based");

} } The NUnit framework discovers the method ExampleTestOfNUnit.TestMultiplication()ExampleTestOfNUnit.TestMultiplication() automatically by reflection.

Page 11: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1111/39

4.4. NunitNunit ……

Page 12: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1212/39

…… Testarea software automatizatăTestarea software automatizată

5.5. HtmlUnitHtmlUnit

HtmlUnitHtmlUnit is a headlessis a headless web browserweb browser written inwritten in JavaJava. It allows high. It allows high--level level manipulation ofmanipulation of websiteswebsites from other Java code, including filling and from other Java code, including filling and submittingsubmitting formsformsand clickingand clicking hyperlinkshyperlinks. It also provides access to . It also provides access to the structure and the details within receivedthe structure and the details within received web pagesweb pages. HtmlUnit . HtmlUnit emulates parts of browser behaviour including the loweremulates parts of browser behaviour including the lower--level aspects level aspects ofof TCP/IPTCP/IP andand HTTPHTTP. A sequence such . A sequence such asas getPage(url),getPage(url), getLinkWith("Click here"),getLinkWith("Click here"), click()click() allows a user to allows a user to navigate throughnavigate through hypertexthypertext and obtain web pages that and obtain web pages that includeinclude HTMLHTML,, JavaScriptJavaScript,, AjaxAjax andand cookiescookies. This headless browser . This headless browser can deal with HTTPS security, basic http authentication, automatcan deal with HTTPS security, basic http authentication, automatic ic page redirection and other HTTP headers. It allows Java test codpage redirection and other HTTP headers. It allows Java test code to e to examine returned pages either as text, an XML DOM, or as collectexamine returned pages either as text, an XML DOM, or as collections ions of forms, tables, and links.of forms, tables, and links.[1][1]

The most common use of HtmlUnit isThe most common use of HtmlUnit is test automationtest automation of web pages, but of web pages, but sometimes it can be used forsometimes it can be used for web scrapingweb scraping, or downloading website , or downloading website content.content.

Version 2.0 includes many new enhancements such as Version 2.0 includes many new enhancements such as aa W3CW3C DOMDOM implementation, Java 5 features, betterimplementation, Java 5 features, better XPathXPath support, support, and improved handling for incorrect HTML, in addition to variousand improved handling for incorrect HTML, in addition to variousJavaScript enhancements, while version 2.1 mainly focuses on tunJavaScript enhancements, while version 2.1 mainly focuses on tuning ing some performance issues reported by users.some performance issues reported by users.

Page 13: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1313/39

…… Testarea software automatizatăTestarea software automatizată

6.6. HttpUnitHttpUnit

HttpUnitHttpUnit is anis an open sourceopen source software testingsoftware testing framework used to framework used to perform testing of web sites without the need for aperform testing of web sites without the need for a web browserweb browser. . HttpUnit supportsHttpUnit supportsHTMLHTML form submission,form submission, JavaScriptJavaScript,, HTTPHTTP basic basic access authenticationaccess authentication, automatic page redirection, and, automatic page redirection, and cookiescookies. . Written inWritten in JavaJava, HttpUnit allows Java test code to process returned , HttpUnit allows Java test code to process returned pages as text, XMLpages as text, XML DOMDOM, or containers of forms, tables and links. , or containers of forms, tables and links. HttpUnit is well suited to be used in combination withHttpUnit is well suited to be used in combination withJUnitJUnit, in , in order to easily write tests that verify the proper behaviour of order to easily write tests that verify the proper behaviour of a web a web site.site.The use of HttpUnit allows for automated testing of web The use of HttpUnit allows for automated testing of web applications and as a result, assists inapplications and as a result, assists in regression testingregression testing..

Page 14: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1414/39

…… Testarea software automatizatăTestarea software automatizată

7.7. TOSCA TestsuiteTOSCA Testsuite

Web testingWeb testing is the name given tois the name given to software testingsoftware testing that focuses onthat focuses on web web applicationsapplications. Complete testing of a web. Complete testing of a web--based system before going live based system before going live can help address issues before the system is revealed to the pubcan help address issues before the system is revealed to the public. lic. Issues such as the security of the web application, the basic Issues such as the security of the web application, the basic functionality of the site, its accessibility to handicapped userfunctionality of the site, its accessibility to handicapped users and fully s and fully able users, as well as readiness for expected traffic and numberable users, as well as readiness for expected traffic and number of of users and the ability to survive a massive spike in user trafficusers and the ability to survive a massive spike in user traffic, both of , both of which are related towhich are related to load testingload testing.

Web application performance tool.Web application performance tool.A web application performance tool (WAPT) is used to test web

applications and web related interfaces. These tools are used for performance, load and stress testing of web applications, web sites, web servers and other web interfaces. WAPT tends to simulate virtual users which will repeat either recorded URLs or specified URL and allows the users to specify number of times or iterations that the virtual users will have to repeat the recorded URLs. By doing so, the tool is useful to check for bottleneck and performance leakage in the website or web application being tested.

Page 15: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1515/39

… Testarea software automatizatăTestarea software automatizatăTestarea software Testarea software este o activitate esentiala, dar si scumpa si

laborioasa. Automatizarea oricarei faze a procesului poate reduce timpul de testare si poate scadea costurile totale ale activitatii de testare.

Exista mai multi factori luati în considerare atunci când se planifica automatizarea de testare softwareautomatizarea de testare software. Automatizare schimba complexitatea de testare si organizarea testelor de la proiectare pâna la punerea în aplicare si executarea acestora, avand un impact vast asupra organizatiei de la sarcinile îndeplinite, abordari de testare, si chiar caracteristici de produs.

Sunt diverse opinii referitoare la avantajele si capacitatile avantajele si capacitatile testariitestarii automatizareautomatizare. Sunt studiate costurile si beneficiile înainte de a întreprinde o automatizare in scopul obtinerii unui randament crescut.

Testarea software este, foarte importanta, deoarece:• 30% din timp este pierdut cu corectarea defectelor• 26% dintre proiecte sunt livrate cu intarziere• 10% dintre companii platesc penalitati pentru intarzieri in livrare

Testare Software automataTestare Software automata prezinta urmatoarele avantaje:• economiseste timp si bani• îmbunatateste precizia• creste aria de testare• face ceea ce testele manuale nu fac• ajuta dezvoltatorii si tester-ii• imbunatateste moralul echipei

Agile SCRUM MasterAgile SCRUM MasterAgile Project ManagementAgile Project ManagementSoftware Test AutomationSoftware Test Automation

ITIL Foundation LevelITIL Foundation Level

Page 16: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1616/39

Instrumente pentru managementul testăriiInstrumente pentru managementul testării

• instrumente de testare: o TestlinkTestlink, V. 1.9.5; - instrument pentru managementul testelor; instrument pentru managementul testelor;

[http://www.teamst.org/index.php/newshttp://www.teamst.org/index.php/news--mainmenumainmenu--2/12/1--latest/131latest/131--195195--releasedreleased];o JenkinsJenkins, versiunea 1.509; - instrument pentru integrarea continuă a softuluiinstrument pentru integrarea continuă a softului; ;

[http://jenkinshttp://jenkins--ci.orgci.org/]; o JUnitJUnit, V. 4.10.0;

- paltformă de testare pentru limbajul altformă de testare pentru limbajul JavaJava; ; [http://sourceforge.net/projects/junithttp://sourceforge.net/projects/junit/];

• instrumente de management: instrumente de management: o MavenMaven, V. 3.0.5;

- instrument pentru managementul proiectelor instrument pentru managementul proiectelor şşi resurselor soft;i resurselor soft;[http://maven.apache.orghttp://maven.apache.org/];o SVNSVN , V. 1.0.0;

- instrument pentru managementul versiunilor surselor (resurselor)instrument pentru managementul versiunilor surselor (resurselor). .

Page 17: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1717/39

TemaTema

Proiectati si implementati o aplicaProiectati si implementati o aplicaţţie ie JavaJava care folosecare foloseşşte interfete interfeţţe grafice e grafice pentru rezolvarea problemei propuse mai jos. Se va evidentia o pentru rezolvarea problemei propuse mai jos. Se va evidentia o arhitectură de aplicaarhitectură de aplicaţţie pe 3 niveluri: ie pe 3 niveluri:

1. interfa1. interfaţţă ă (nivel prezentare) (nivel prezentare) –– interfainterfaţţa grafică a grafică (gui); (gui);

2. logica aplica2. logica aplicaţţiei (nivel logic) iei (nivel logic) –– domeniul problemei (model, controller); domeniul problemei (model, controller); 3. persisten3. persistenţţa datelor (nivel date) a datelor (nivel date) –– depozit de date (repository). depozit de date (repository).

InformaInformaţţiile vor fi preluate din fiiile vor fi preluate din fişşiere text.iere text.

Obs.Obs.1.1. DocumentaDocumentaţţia va conia va conţţine un tabel cu cazurile de testare utilizate de ine un tabel cu cazurile de testare utilizate de

TestLinkTestLink şşi i Jenkins Jenkins 2.2. Pentru realizarea documentaPentru realizarea documentaţţiei se poate porni de la documentul (cu iei se poate porni de la documentul (cu

descrierea cazurilor de testare) generat de descrierea cazurilor de testare) generat de TestLinkTestLink: : [Test Specification [Test Specification Generate Test Specification Document]. Generate Test Specification Document].

Page 18: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1818/39

A. A. Mangementul resurselor proiectului Mangementul resurselor proiectului JavaJava se va realiza folosind se va realiza folosind MavenMaven, iar pentru managementul versiunilor surselor se va utilza , iar pentru managementul versiunilor surselor se va utilza SVNSVN; ; -- numele proiectului numele proiectului MavenMaven va corespunde idva corespunde id--ului userului de pe ului userului de pe

domeniul SCS domeniul SCS

B. B. Managementul cazurilor de testare se va realiza folosind Managementul cazurilor de testare se va realiza folosind TestLinkTestLink; ; -- se va realiza descrierea cazurilor de testare; se va realiza descrierea cazurilor de testare; -- cazurile de testare se vor organiza cazurile de testare se vor organiza îîn cadrul unui Test Project; n cadrul unui Test Project; -- pentru un Test Project se pot crea Requirements care se vor pentru un Test Project se pot crea Requirements care se vor

testa testa îîn cadrul unui TestPlan; n cadrul unui TestPlan; -- un Test Plan conun Test Plan conţţine Test Suites format din Test Cases; ine Test Suites format din Test Cases; -- pentru a executa un Test Plan se creează un Build pentru a executa un Test Plan se creează un Build; ; -- după rularea testelor după rularea testelor, s, starea acestora se setează corespunzător tarea acestora se setează corespunzător

(passed, failed); (passed, failed);

C. C. Cazurile de testare vor fi rulate automat folosind Cazurile de testare vor fi rulate automat folosind JenkinsJenkins; ; -- rularea automată va permite actualizarea implicită a stării unu rularea automată va permite actualizarea implicită a stării unui i

caz de testare executat (passed, failed), caz de testare executat (passed, failed), îîn cadrul aplican cadrul aplicaţţiei iei TestLink; TestLink;

Page 19: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

1919/39

A. A. MavenMaven si si SVNSVN pentru pentru Eclipse Eclipse

I. Instalare I. Instalare MavenMaven îîn Eclipse n Eclipse 1. 1. îîn Eclipse, meniul Help n Eclipse, meniul Help ------> Install New Software; > Install New Software; 2. 2. îîn secn secţţiunea Work with se selectează versiunea Eclipse iunea Work with se selectează versiunea Eclipse (ex. Juno); (ex. Juno); 3. 3. îîn text fieldn text field--ul filtrare se completează Mavenul filtrare se completează Maven; ; 4. 4. se selectează Maven Integration for Eclipse se selectează Maven Integration for Eclipse ------> Next; > Next; 5. 5. se urmează procesulse urmează procesul de instalare până la finalizare de instalare până la finalizare. .

II. Creare proiect II. Creare proiect MavenMaven1. 1. îîn Eclipse, meniul Filen Eclipse, meniul File------> New > New ------> Other; > Other; 2. 2. se selectează Maven se selectează Maven ------> Maven Project > Maven Project ------> Next; > Next; 3. 3. se bifează Use default Workspace locationse bifează Use default Workspace location; ; 4. 4. se selectează All Catalog se selectează All Catalog şşi din listă maveni din listă maven--archetypearchetype--quickstart; quickstart; 5. 5. se completează Group Id se completează Group Id (se va folosi id(se va folosi id--ului userului de pe dom. SCS); ului userului de pe dom. SCS);

(userul cu adresa [email protected], va avea Group Id xxir(userul cu adresa [email protected], va avea Group Id xxir1234MV) 1234MV) 6. 6. se completează Artefact Id se completează Artefact Id (se va folosi id(se va folosi id--ului userului de pe dom. SCS); ului userului de pe dom. SCS);

(userul cu adresa [email protected], va avea Artefact Id x(userul cu adresa [email protected], va avea Artefact Id xxir1234)xir1234)7. câmpul Package se va completa automat; 7. câmpul Package se va completa automat;

(nu se va modifica, dar va fi folosit (nu se va modifica, dar va fi folosit îîn cadrul proiectului Maven) n cadrul proiectului Maven) 8. Finish pentru a finaliza crearea proiectului Maven. 8. Finish pentru a finaliza crearea proiectului Maven.

Page 20: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2020/39

... Maven si SVN pentru Eclipse ... Maven si SVN pentru Eclipse

III. Instalare plugin Maven rulare multi-thread (failsafe) 1. 1. îîn Eclipse, n Eclipse, îîn Project Explorer, click dreapta pe numele proiectului n Project Explorer, click dreapta pe numele proiectului

Maven Maven Maven Maven Add Plugin; Add Plugin; 2. 2. îîn câmpul Enter field groupId, artefactId orn câmpul Enter field groupId, artefactId or…… se completează failsafe se completează failsafe; ; 3. 3. se asteaptă să ca lista Search Results să se populeze cu rezultase asteaptă să ca lista Search Results să se populeze cu rezultate; te; 4. 4. se selectează orgse selectează org.apache.maven.plugin (versiunea 2.14); .apache.maven.plugin (versiunea 2.14); 5. OK pentru a finaliza instalarea5. OK pentru a finaliza instalarea

IV. Instalare plugin IV. Instalare plugin SVNSVN pentru Eclipse pentru Eclipse 1. 1. îîn Eclipse, n Eclipse, Install New Software; Install New Software;

2. 2. îîn secn secţţiunea Work with se selectează versiunea Eclipse iunea Work with se selectează versiunea Eclipse (ex. Juno); (ex. Juno);

3. 3. îîn text fieldn text field--ul filtrare se completează SVNul filtrare se completează SVN; ;

4. 4. se selectează SVN subversion TeamProvider se selectează SVN subversion TeamProvider şşi SVN subsversion i SVN subsversion

TeamProvider Sources TeamProvider Sources Next Next; ;

5. 5. se urmează procesul de instalare până la finalizarese urmează procesul de instalare până la finalizare..

Page 21: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2121/39

... Maven si SVN pentru Eclipse ... Maven si SVN pentru Eclipse

V. Încărcare sursel proiect Maven pe SVN

1. 1. îîn Eclipse, n Eclipse, îîn Project Explorer, click dreapta pe numele proiectului n Project Explorer, click dreapta pe numele proiectului Maven Maven Team Team Share Project Share Project; ;

2 2. s. se selectează SVN e selectează SVN Next Next; ; 3 3. s. se adaugă adresae adaugă adresa: http://subversion.assembla.com/svn/ssvv/; : http://subversion.assembla.com/svn/ssvv/; 4. 4. îîn câmpul user se completează avescann câmpul user se completează avescan; ; 5. 5. îîn câmpul password se completează n câmpul password se completează 123456; 123456;

6 6. s. se continuă cu Nexte continuă cu Next; ; 7 7. s. se selectează SimpleMode e selectează SimpleMode Next Next; ; 8 8. s. se adaugă ca e adaugă ca şşi comentariu first version; i comentariu first version; 9. Finish pentru a finaliza partajarea proiectului pe SVN. 9. Finish pentru a finaliza partajarea proiectului pe SVN.

10. D10. După modificarea surselor upă modificarea surselor îîn cadrul proiectului din Eclipse, n cadrul proiectului din Eclipse, sursele se vor sursele se vor îîncărcate pe SVNncărcate pe SVN: : -- ÎÎn Project Explorer se selectează numele proiectului Mavenn Project Explorer se selectează numele proiectului Maven; ; -- Click dreapta pe numele proiectului Maven Click dreapta pe numele proiectului Maven Team Team Commit; Commit;

11. 11. ÎÎn SVN numele proiectului va fi identificat prin Artefact Id; n SVN numele proiectului va fi identificat prin Artefact Id; 12. Vizualizarea repository12. Vizualizarea repository--ului SVN: se ului SVN: se îîncarcă ncarcă îîntrntr--un browser web un browser web

adresa http://subversion.assembla.com/svn/ssvv/adresa http://subversion.assembla.com/svn/ssvv/

Page 22: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2222/39

... Maven si SVN pentru Eclipse ... Maven si SVN pentru Eclipse

VI. Modificarea versiunii JUnit utilizate, în fişierul pom.xml

1. se modifică versiunea platformei JUnit în cadrul proiectului Maven, în fisierul pom.xml, considerând următoarea arborescenţă de dependente:

<dependencies> <dependencies> <dependency> <dependency> <groupId>junit</groupId> <groupId>junit</groupId> <artifactId>junit</artifactId> <artifactId>junit</artifactId> <version>4.11</version> <version>4.11</version> <scope>test</scope> <scope>test</scope> </dependency> </dependency>

……. . </dependencies></dependencies>

Page 23: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2323/39

B. B. TestLinkTestLink

I. Accesare I. Accesare TestLink TestLink 1. http://www.scs.ubbcluj.ro/testlink/testlink1. http://www.scs.ubbcluj.ro/testlink/testlink--1.9.5/login.php; 1.9.5/login.php;

2. se poate accesa doar de pe sta2. se poate accesa doar de pe staţţiile din Campus.iile din Campus.

II. Creare cont II. Creare cont TestLink TestLink 1. pentru userul cu adresa [email protected] se va crea un1. pentru userul cu adresa [email protected] se va crea un cont cu cont cu

user name xxir1234 user name xxir1234 şşi parola dorităi parola dorită..

III. Creare proiect III. Creare proiect TestLinkTestLink (pentru domeniul SCS)(pentru domeniul SCS)1. Doar userul admin poate crea un proiect TestLink. 1. Doar userul admin poate crea un proiect TestLink.

2. 2. Pentru fiecare grupă a fost creat câte un proiectPentru fiecare grupă a fost creat câte un proiect: [GrupaAAA, AlteGrupe]. : [GrupaAAA, AlteGrupe].

3. Fiecare student va utiliza proiectul grupei sale pentru a3. Fiecare student va utiliza proiectul grupei sale pentru a––şşi descrie i descrie şşi rula i rula

propriile teste.propriile teste.

IV. Selectarea unui proiect IV. Selectarea unui proiect TestLink TestLink 1. Se alege din lista (combo) din col1. Se alege din lista (combo) din colţţul drept sus al platformei ul drept sus al platformei TestLinkTestLink..

Page 24: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2424/39

... TestLink... TestLinkV. Creare proiect V. Creare proiect TestLink TestLink

1. meniul Project 1. meniul Project SecSecţţiunea Test Project ; iunea Test Project ; 2. 2. se selectează Test Project Management se selectează Test Project Management Create Create; ; 3. 3. se completează câmpurile ca se completează câmpurile ca îîn figura de mai jos; n figura de mai jos; 4. Create pentru a finaliza crearea proiectului TestLink.4. Create pentru a finaliza crearea proiectului TestLink.

Page 25: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2525/39

... TestLink... TestLinkVI. Creare câmpuri cheie [Custom Fields] (pt. dom. SCS)VI. Creare câmpuri cheie [Custom Fields] (pt. dom. SCS)

1. 1. nu este necesar să se creeze alte câmpuri cheienu este necesar să se creeze alte câmpuri cheie; ; 2. au fost deja create câteva câmpuri cheie care se pot utiliza;2. au fost deja create câteva câmpuri cheie care se pot utiliza; 3. 3. se va utiliza câmpul cheie JavaClassName; se va utiliza câmpul cheie JavaClassName; VVSS Informatică VVSS Informatică ––

RomânăRomână, 2012, 2012--2013/II 2013/II 4. 4. câmpurile cheie sunt utilizate pentru a lega entităcâmpurile cheie sunt utilizate pentru a lega entităţţile Test Plan ile Test Plan

(din (din TestLink) de entiTestLink) de entitătăţţile Job (din Jenkins).ile Job (din Jenkins).

VII. Creare câmpuri cheie [Custom Fields] VII. Creare câmpuri cheie [Custom Fields] (General)(General)1. meniul Project 1. meniul Project SecSecţţiunea Test Project ; iunea Test Project ; 2. 2. se selectează Define Custom Fieldsse selectează Define Custom Fields; ; 3. 3. se completează câmpurile se completează câmpurile (vezi figura de mai jos); (vezi figura de mai jos); 4. Add pentru a finaliza crearea unui câmp cheie.4. Add pentru a finaliza crearea unui câmp cheie.

Page 26: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2626/39

... TestLink... TestLink

VIII. Asocierea câmpurilor cheie (pt. dom. SCS)VIII. Asocierea câmpurilor cheie (pt. dom. SCS)1. 1. pentru proiectele pentru proiectele GrupaAAAGrupaAAA a fost deja atasat câmpul cheie a fost deja atasat câmpul cheie

JavaClassNameJavaClassName..

IX. IX. Asocierea câmpurilor cheie Asocierea câmpurilor cheie (General)(General)1. meniul Project 1. meniul Project SecSecţţiunea Test Project ; iunea Test Project ; 2. 2. se selectează Assign Custom Fieldsse selectează Assign Custom Fields; ; 3. 3. se selectează câmpul cheie se selectează câmpul cheie Assign.Assign.

X. X. Stabilirea numelui unui Stabilirea numelui unui Test Plan Test Plan ((pt. dom. SCSpt. dom. SCS))1. Fiecare student 1. Fiecare student îîşşi va crea propriul Test Plan; i va crea propriul Test Plan; 2. Pentru userul cu adresa [email protected], numele 2. Pentru userul cu adresa [email protected], numele

planului de testare asociat va fi xxir1234TestPlan.planului de testare asociat va fi xxir1234TestPlan.

Page 27: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2727/39

XI. XI. Crearea unui Crearea unui Test PlanTest Plan1. meniul Project 1. meniul Project SecSecţţiunea Test Plan ; iunea Test Plan ; 2. 2. se selectează Test Plan Management se selectează Test Plan Management Create Create; ; 3. 3. se completează câmpurilese completează câmpurile::

... TestLink... TestLink

Page 28: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2828/39

XII. XII. Crearea unui Crearea unui Test Suites/ Test CaseTest Suites/ Test Case1. meniul Project 1. meniul Project secsecţţiunea Test Specification ; iunea Test Specification ; 2. 2. se selectează Test Specificationse selectează Test Specification; ; 3. 3. se selectează proiectul se selectează proiectul îîn framen frame--ul din partea stânga a ecranului; ul din partea stânga a ecranului; 4. 4. îîn Test Suite Operations n Test Suite Operations Create, ca Create, ca îîn de mai jos; n de mai jos; ......

... TestLink... TestLink

Page 29: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

2929/39

... ... XII. XII. Crearea unui Crearea unui Test Suites/ Test Case Test Suites/ Test Case ……

... ...

5. 5. se completează câmpurile ca se completează câmpurile ca îîn figura de mai jos; n figura de mai jos; 6. Create pentru a finaliza crearea unui Test Suite.6. Create pentru a finaliza crearea unui Test Suite.

... TestLink... TestLink

Page 30: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3030/39

XIII. XIII. Crearea unui Crearea unui Test Case Test Case 1. 1. se selectează entitatea Test Suite dorită se selectează entitatea Test Suite dorită îîn framen frame--ul din stânga ecranului; ul din stânga ecranului; 2. 2. îîn Test Suite Operations / Test Case Operations n Test Suite Operations / Test Case Operations Create Create (vezi (vezi fig. urfig. urm.); m.); 3. 3. se completează numele clasei de testare automatăse completează numele clasei de testare automată; ;

•• numele clasei de testare automată numele clasei de testare automată: package.TestClassName; : package.TestClassName; •• e.g., clasa FractionMV.Fraction.FractionClassSimplifyTest, undee.g., clasa FractionMV.Fraction.FractionClassSimplifyTest, unde: :

−− pachetul: FractionMV.Fraction; pachetul: FractionMV.Fraction; −− clasa de testare: FractionClassSimplifyTest; clasa de testare: FractionClassSimplifyTest;

4. se va preciza tipul execu4. se va preciza tipul execuţţiei testului Automated; iei testului Automated; 5. Create pentru a finaliza crearea unui Test Case.5. Create pentru a finaliza crearea unui Test Case.

... TestLink... TestLink

……

Page 31: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3131/39

... XIII. ... XIII. Crearea unui Crearea unui Test Case Test Case ……

... TestLink... TestLink

Page 32: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3232/39

XIV. XIV. Asocierea unui Asocierea unui Test Case Test Case la un la un Test PlanTest Plan1. meniul Project 1. meniul Project ------> Sec> Secţţiunea Test Specification ; iunea Test Specification ; 2. 2. se selectează Test Specificationse selectează Test Specification; ; 3. 3. se selectează entitatea Test Case dorită se selectează entitatea Test Case dorită îîn framen frame--ul din partea stângă ul din partea stângă

a ecranului din cadrul proiectului de testare;a ecranului din cadrul proiectului de testare; 4. 4. se continuă cu Add to Test Plans se continuă cu Add to Test Plans îîn framen frame--ul din partea dreaptă a ul din partea dreaptă a

ecranului; ecranului; 5. 5. se selectează entitatea Test Plan care se adugă Test Casese selectează entitatea Test Plan care se adugă Test Case--ul curent ul curent

(xxir1234TestPlan) (xxir1234TestPlan) AddAdd

... TestLink... TestLink

Page 33: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3333/39

C. C. Jenkins Jenkins –– configurareconfigurare

I. Accesare I. Accesare Jenkins Jenkins 1. http://www.scs.ubbcluj.ro:9090; 1. http://www.scs.ubbcluj.ro:9090;

2. se poate accesa doar de pe sta2. se poate accesa doar de pe staţţiile din Campus. iile din Campus.

II. Configurare II. Configurare JenkinsJenkins1. meniul Jenkins 1. meniul Jenkins Manage Jenkins Manage Jenkins Configure System; Configure System;

•• îîn secn secţţiunea Jenkins Location iunea Jenkins Location

−− Jenkins URL: Jenkins URL: http://www.scs.ubbcluj.ro:9090/http://www.scs.ubbcluj.ro:9090/

•• îîn secn secţţiunea TestLink iunea TestLink

−− Name: TestLink195 ; Name: TestLink195 ;

−− URL: URL: http://www.scs.ubbcluj.ro/testlink/testlinkhttp://www.scs.ubbcluj.ro/testlink/testlink--1.9.5/lib/api/xmlrpc.php1.9.5/lib/api/xmlrpc.php ; ;

−− Developer Key: din TestLink.Developer Key: din TestLink.

Page 34: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3434/39

C. C. JenkinsJenkins

I. Accesare I. Accesare Jenkins Jenkins 1. http://www.scs.ubbcluj.ro:9090; 1. http://www.scs.ubbcluj.ro:9090;

2. se poate accesa doar de pe sta2. se poate accesa doar de pe staţţiile din Campus. iile din Campus.

II. Conectare la II. Conectare la JenkinsJenkins1. pentru userul [email protected], accesul se face pr1. pentru userul [email protected], accesul se face prin intermediulin intermediul

contului existent contului existent îîn domeniul SCS; n domeniul SCS;

III. Crearea unui III. Crearea unui JobJob1. Fiecare student 1. Fiecare student îîşşi va crea propriul Job; i va crea propriul Job; 2. Pentru userul cu adresa [email protected], numele jobul2. Pentru userul cu adresa [email protected], numele jobului ui

asociat va fi xxir1234Job. asociat va fi xxir1234Job. 3. meniul Jenkins 3. meniul Jenkins New Job New Job; ; 4. 4. se completează câmpurilese completează câmpurile: :

•• Name: xxir1234Job ; Name: xxir1234Job ; •• se selectează op se selectează opţţiunea Build a freeiunea Build a free--style software project ; style software project ; •• OK pentru a finaliza crearea Jobului. OK pentru a finaliza crearea Jobului.

Page 35: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3535/39

... Jenkins... JenkinsIV. ConfigurareaIV. Configurarea unui unui JobJob1. 1. meniul Jenkins, se smeniul Jenkins, se selectează jobul dorit din lista de joburi existenteelectează jobul dorit din lista de joburi existente; ; 2. 2. din meniul din partea stângădin meniul din partea stângă, , îîn secn secţţiunea Configure: iunea Configure:

•• îîn secn secţţiunea Source Code Management: iunea Source Code Management: −− opopţţiunea Subversion Modules: iunea Subversion Modules:

a. a. se completează Repository URLse completează Repository URL: : http://subversion.assembla.com/svn/ssvv/xxir1234 ; http://subversion.assembla.com/svn/ssvv/xxir1234 ; b. se alege Repository depth: infinity ; b. se alege Repository depth: infinity ; c. se alege Checkc. se alege Check--out strategy: use svn update as much as possible; out strategy: use svn update as much as possible; d. se alege Repository browser: Auto; d. se alege Repository browser: Auto;

•• îîn secn secţţiunea Build: iunea Build: −− pentru Add build steps se alege Invoke toppentru Add build steps se alege Invoke top--level Maven targets: level Maven targets:

a. Maven Version: mvn; a. Maven Version: mvn; b. Goals: compile; b. Goals: compile;

−− pentru Add build steps se alege Invoke TestLink: pentru Add build steps se alege Invoke TestLink: a. TestLink Version: TestLink195; a. TestLink Version: TestLink195; b. Test Project Name: b. Test Project Name:

i. numele proiectului TestLink, e.g., Grupa231; i. numele proiectului TestLink, e.g., Grupa231; . . .. . .

Page 36: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3636/39

... Jenkins... Jenkins

... IV. Configurarea... IV. Configurarea unui unui JobJob . . . . . . . . . . . .

c. Test Plan Name: c. Test Plan Name: i. numele Test Planului, e.g., xxir1234TestPlan; i. numele Test Planului, e.g., xxir1234TestPlan;

d. Build Name: build_$BUILD_ID; d. Build Name: build_$BUILD_ID; e. Custom Fields: e. Custom Fields:

i. câmpul cheie, i.e., JavaClassName; i. câmpul cheie, i.e., JavaClassName; •• îîn secn secţţiunea Test Execution, opiunea Test Execution, opţţiunea Iterative Test Build Steps: iunea Iterative Test Build Steps: −− pentru Add steps se alege Invoke toppentru Add steps se alege Invoke top--level Maven targets: level Maven targets:

a. Maven version: mvn ; a. Maven version: mvn ; b. Goals: verify ; b. Goals: verify ;

−− ÎÎn secn secţţiunea Advances: iunea Advances: a. Properties: test=$TESTLINK_TESTCASE_JavaClassName ; a. Properties: test=$TESTLINK_TESTCASE_JavaClassName ;

•• ÎÎn secn secţţiunea Result Seeking Strategy: iunea Result Seeking Strategy: −− Pentru Add strategy se selectează clasa JUnit Pentru Add strategy se selectează clasa JUnit: :

a. Include Pattern: **/TESTa. Include Pattern: **/TEST--*.xml *.xml b. Key Custom Field: JavaClassName b. Key Custom Field: JavaClassName c. Se allege Attach JUnit XML c. Se allege Attach JUnit XML şşi Include test notes; i Include test notes;

3. OK pentru a finalize configurarea. 3. OK pentru a finalize configurarea.

Page 37: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3737/39

V. Realizarea unui V. Realizarea unui BuildBuild1. 1. meniul Jenkins, se smeniul Jenkins, se selectează jobul dorit din lista de joburi existenteelectează jobul dorit din lista de joburi existente; ; 2. 2. din meniul din partea stângă se alege opdin meniul din partea stângă se alege opţţiunea Build Now iunea Build Now şş se ase aşşteaptă teaptă

să se finalilezeze funcsă se finalilezeze funcţţionalitatea; ionalitatea; 3. 3. îîn secn secţţiunea Build History (când mouseiunea Build History (când mouse--ul este dresupra apare meniul ul este dresupra apare meniul Console Output; Console Output; •• dacă execu dacă execuţţia Buildia Build--ului sului s--a realizat cu succes se alege opa realizat cu succes se alege opţţiunea iunea

TestLink results din meniul din stânga pentru a vizualiza rezultTestLink results din meniul din stânga pentru a vizualiza rezultatele. atele.

VI. VI. Transmiterea rezultatelor din Transmiterea rezultatelor din JenkinsJenkins îîn n TestLinkTestLink1. 1. După un Build realizat cu successDupă un Build realizat cu success, testele gestionate de TestLink , testele gestionate de TestLink îîsi si

actualizează starea actualizează starea îîn passed sau faileadn passed sau failead; ;

VII. VII. Vizualizarea stării unui Vizualizarea stării unui Test Case Test Case îîn n TestLinkTestLink1. 1. ÎÎn meniul Test Execution, n meniul Test Execution, îîn cadrul proiectului dorit (n cadrul proiectului dorit (e.g., e.g., Grupa231), Grupa231),

se selectează Test Planse selectează Test Plan--ul dorit (e.g., xxir1234TestPlan) ul dorit (e.g., xxir1234TestPlan) şşi Test Casei Test Case--ul ul

dorit; dorit;

... Jenkins... Jenkins

Page 38: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3838/39

. . . Next .... . . Next ...

Selenium WebDriver Selenium WebDriver

si si

Mozilla Firefox cu FirebugMozilla Firefox cu Firebug

I. I. Creare proiect Maven Creare proiect Maven II. II. Adăugarea dependenAdăugarea dependenţţei Selenium ei Selenium îîn proiectul Maven: n proiectul Maven: III. III. Adăugarea dependenAdăugarea dependenţţei Firefox ei Firefox îîn proiectul Maven: n proiectul Maven: IV. IV. Instalare Add ons Firebug pentru Mozilla Firefox: Instalare Add ons Firebug pentru Mozilla Firefox: V. V. Utilizare Firebug Utilizare Firebug îîn Mozilla Firefox: n Mozilla Firefox: VI. VI. Testarea interfeTestarea interfeţţei grafice web ei grafice web îîn Eclipse, cu Selenium n Eclipse, cu Selenium

Page 39: C9 ~ VvSs - cs.ubbcluj.roper/Scs_Per/VvSs/C9 ~ VvSs.pdf · activități principale: planificare, analiză, proiectare, ... ("Click here"),click() allows a user to navigate throughhypertext

3939/39

1.1. ȘȘtefan Stăncescutefan Stăncescu, , Lecu Radu Lecu Radu ȘȘerban, Tierban, Tică Andra Mariacă Andra Maria, Vidra, Vidrașșcu Mihai, cu Mihai, Implementarea, testarea, verificarea Implementarea, testarea, verificarea șși validarea produselor softwarei validarea produselor software, , FACULTATEA FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI,DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA INFORMATIEI,http://stst.elia.pub.ro/news/IS/Teme%20IS%202011_12/Lecu%20Tica%http://stst.elia.pub.ro/news/IS/Teme%20IS%202011_12/Lecu%20Tica%20Vidrascu%20IMPLVER%20442A.pdf20Vidrascu%20IMPLVER%20442A.pdf

2.2. Dr. Andreea Vescan's HomepageDr. Andreea Vescan's Homepage, , Verificarea si validarea sistemelor soft,Verificarea si validarea sistemelor soft,

Referinte:Referinte:

•• Test management toolsTest management tools•• MavenMaven--SVNSVN•• TestlinkTestlink•• Jenkins Jenkins -- configconfig•• JenkinsJenkins

3.3. Dr. MDr. Maria Camelia Chisăliaria Camelia Chisăliţţăă‐‐CreCreţţuu, , Verificarea si validarea sistemelor soft,Verificarea si validarea sistemelor soft,

• Tutorial Selenium WebDriver Tutorial Selenium WebDriver şşi Mozilla Firefox cu Firebugi Mozilla Firefox cu Firebug


Recommended