software de raportare: bugzilla web: ...ovidiub/files/tas/lab_tas.pdf · prin selectarea limbajului...

12
Software de raportare: Bugzilla Web: www.bugzilla.org Laborator: 83.103.204.6/Bugzilla 1. Inregistrare 3 opţiuni: Raportarea unui defect Cautarea în lista de defecte Setări

Upload: vanngoc

Post on 15-Jul-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

Software de raportare: Bugzilla

Web: www.bugzilla.org Laborator: 83.103.204.6/Bugzilla

1. Inregistrare

3 opţiuni:

• Raportarea unui defect • Cautarea în lista de defecte • Setări

Page 2: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

2. Adăugarea/raportarea unui defect

Paşi: 2.1 Alegerea componentei

Un produs sub testare poate fi împărţit în una sau mai mult componente. Această împărţire este realizată de obicei de către managerul de proiect, iar testorul doar alege din lista de componente, componenta adecvată testului curent. În exemplul de faţă, se poate alege una dintre cele 3 componente : Baza de date, Inregistrare, Mentenanţă.

2.2 Alegerea versiunii

Asemenea componentelor, un produs aflat sub dezvoltare, de obicei se găseşte în

diferite versiuni de implementare/livrare/testare. În exemplul de faţă, au fost definite doar două versiuni: 0.1 şi 0.2, testorul putând alege astfel una dintre acestea două.

2.3 Alegerea gravităţii

Este necesară asocierea fiecărui defect raportat, a unui parametru legat de

gravitatea/severitatea pe care testorul o consideră adecvată. Cu alte cuvinte, factorul de impact pe care defectul raportat il poate avea asupra produsului. Gradele de gravitate diferă de la un

Page 3: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

proiect la altul, de la o companie la alta, de la un software de raportare la altul. Bugzilla are predefinite 7 grade: adăugare de noi caracteristici, trivial, minor, normal, major, critic, blocant.

2.4 Alegerea platformei În funcţie de tipul produsului software şi de destinaţia acestuia, uneori este necesară testarea produsului pe diferite platforme. Bugzilla are predefinite 4 tipuri: PC, Mac, Altă platformă, Toate (în cazul în care defectul persistă indiferent de platformă).

2.5 Alegerea sistemului de operare Asemenea modului în care produsul se testează pe diferite platforme, la fel este necesară (după caz) testarea comportamentului pe diferite sisteme de operare. Bugzilla are predefinite 5 tipuri: Windows, Mac OS, Linux, Altele, Toate.

2.6 Scurtă descriere a defectului Vizualizând lista de defecte raportate, programatorul sau managerul de proiect îşi va face o primă impresie asupra defectului, citind informaţiile afişate în acest câmp. Descrierea se doreşte a fi cât mai succintă şi mai clară – scurt şi la obiect.

2.7 Descriere detaliată În acest câmp se introduc toate informaţiile pe care testorul le consideră importante:

Page 4: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

• paşii urmaţi de la începutul testului şi până la obţinerea defectului • motivarea impactului pe care defectul îl poate avea asupra proiectului • eventualele posibilităţi de reparare

2.8 Ataşamente

În reproducerea testelor de către programator, este utilă orice fel de informaţie.

Testorul poate ataşa capturi de ecran, fişiere log sau orice alt tip de fişier util în reproducerea defectului. Toate acestea vin în ajutorul programatorului în vederea economisirii de timp.

2.9 Alegerea reprezentantului/ reprezentanţilor

Fiecare defect raportat este trimis în atenţia unui anumit participant la proiect

(programator, testor, manager de proiect,...). Majoritatea software-urilor de raportare permit definirea unui reprezentant implicit, de obicei managerul de proiect.

Dacă se doreşte atenţionarea mai multor persoane, în legătură cu defectul raportat:

2.10 Alegerea stării curente

Bugzilla permite 4 stări în care se poate afla defectul: nou, atribuit, rezolvat, închis.

Page 5: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

3. Căutarea/vizualizarea unui defect

3.1 Alegerea stării defectului

Bugzilla permite 3 stări după care se poate căuta un anumit defect: deschis (a fost luat

în evidenţă de către reprezentant, închis (managerul de proiect sau orice utilizatori cu astfel de drepturi a considerat că defectul a fost rezolvat cu succes), toate.

3.2 Alegerea produsului

Bugzilla permite filtrarea defectelor după produsul din care fac parte, în exemplul de

faţă au fost definite doar două produse: C App şi TestProduct

3.3 Vizualizarea listei de defecte Defectele filtrate vor fi afişate sub formă de tabel, câte un defect pe linie, iar pe coloană vor fi afişate următoarele:

• id-ul defectului • gradul de serveritate • prioritatea aleasă de către managerul de proiect • sistemul de operare • reprezentantul • starea curenta

Page 6: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

• scurtă descriere

Software de testare: Selenium IDE, Selenium RC, NUnit Web: http://seleniumhq.org, http://www.nunit.org

1. Selenium IDE

Selenium IDE se instalează ca şi add-on al Firefox-ului şi permite înregistrarea şi rularea de teste aferente paginilor web. Caracteristici principale:

• Interfaţă uşor de utilizat • Înregistrarea automată a paşilor urmaţi de către utilizator • Selectarea câmpurilor unei pagini web pe baza id-ului sau numelui • Posibilitate de depanare şi adăugare de breakpoint-uri • Salvarea testelor ca şi HTML, PHP, C#,... • Adăugarea de scripturi în „seleneză” sau alte limbaje cunoscute

Un exemplu, de înregistrare a comenzilor utilizatorului, folosind Selenium IDE este

prezentat în continuare. Pas 1. Apăsarea butonului roşu de înregistrare, din partea dreapta sus a ecranului, Pas 2. Tastarea linkului „www.google.com” în browser, Pas 3. Tastarea textului „upt” în căsuţa de căutare, Pas 4. Apăsarea butonului de căutare, Pas 5. Apăsarea primului link, din lista link-urilor rezulate, „www.upt.ro”, Pas 6. Selectarea textului „Universitatea ‘Politehnica’ din Timisoara”, buton dreapta,

comandă verifyTextPresent.

Page 7: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

Comenzile înregistrate de către Selenium IDE sunt prezentate în Figura 1, iar codul HTML rezultat este următorul:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head profile="http://selenium-ide.openqa.org/profiles/test-case">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<link rel="selenium.base" href="" />

<title>New Test</title>

</head>

<body>

<table cellpadding="1" cellspacing="1" border="1">

<thead>

<tr><td rowspan="1" colspan="3">New Test</td></tr>

</thead><tbody>

<tr>

<td>open</td>

<td>/</td>

<td></td>

</tr>

<tr>

<td>type</td>

<td>q</td>

<td>upt</td>

</tr>

<tr>

<td>clickAndWait</td>

<td>btnG</td>

<td></td>

</tr>

<tr>

<td>click</td>

<td>//ol[@id='rso']/li[1]/h3/a/em</td>

<td></td>

</tr>

<tr>

<td>verifyTextPresent</td>

<td>Universitatea &quot;Politehnica&quot; din Timisoara</td>

<td></td>

</tr>

</tbody></table>

</body>

</html>

Page 8: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

Figura 1 Comenzi Selenium IDE

Codul HTML rezultat poate fi exportat în diferite limbaje de programare utilizând opţiunile din meniul Options->Format, după cum arată Figura 2:

Figura 2. Limbaje de scripting

Prin selectarea limbajului C#, se obţine următorul cod, identic ca şi conţinul cu codul HTML. Acest cod poate fi deschis ulterior în Visual Studio, adăugând sau modificând linii de cod – în acest fel C# devine un limbaj de realizarea a scripturilor pentru Selenium: using System;

Page 9: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

using System.Text;

using System.Text.RegularExpressions;

using System.Threading;

using NUnit.Framework;

using Selenium;

namespace SeleniumTests

{

[TestFixture]

public class Untitled

{

private ISelenium selenium;

private StringBuilder verificationErrors;

[SetUp]

public void SetupTest()

{

selenium = new DefaultSelenium("localhost", 4444,

"*chrome", "http://change-this-to-the-site-you-are-testing/");

selenium.Start();

verificationErrors = new StringBuilder();

}

[TearDown]

public void TeardownTest()

{

try

{

selenium.Stop();

}

catch (Exception)

{

// Ignore errors if unable to close the browser

}

Assert.AreEqual("", verificationErrors.ToString());

}

[Test]

public void TheUntitledTest()

{

selenium.Open("/");

selenium.Type("q", "upt");

selenium.Click("btnG");

selenium.WaitForPageToLoad("30000");

selenium.Click("//ol[@id='rso']/li[1]/h3/a/em");

try

{

Assert.IsTrue(selenium.IsTextPresent("Universitatea

\"Politehnica\" din Timisoara"));

}

catch (AssertionException e)

{

verificationErrors.Append(e.Message);

}

}

}

}

Page 10: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

2. Comenzi Selenium

Acţiunile utilizatorului într-o pagină web, sunt transpuse de către Selenium IDE în comenzi. De asemenea, există comenzi suplimentare cu ajutorul cărora se realizează anumite teste de verificare asuprea conţinutului paginii respective. Verificarea este de două feluri: cu întreruperea testului sau cu continuarea acestuia. Comenzile de tip assert fac parte din prima categorie, iar cele de tip verify fac parte din cea de-a doua.

Exemple: <tr>

<td>assertTitle</td>

<td>Selenese Selenium Commands — Selenium Documentation</td>

<td></td>

</tr>

<tr>

<td>assertTextPresent</td>

<td>Selenese </td>

<td></td>

</tr>

<tr>

<td>assertElementPresent</td>

<td>//div[@id='selenese-selenium-commands']/h1</td>

<td></td>

</tr>

<tr>

<td>verifyElementPresent</td>

<td>//div[@id='verifying-page-elements']/p[1]/em</td>

<td></td>

</tr>

<tr>

<td>verifyTitle</td>

<td>Selenese Selenium Commands — Selenium Documentation</td>

<td></td>

</tr>

3. Selenium RC (Remote Control)

Selenium RC este o completare a add-on-ului Selenium IDE, oferind posibilitatea automatizării testelor şi rularea scripturilor aferente, în diferite limbaje de programare. Arhitectura Selenium RC este prezentată în Figura 3.

Page 11: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

Figura 3. Arhitectura Selenium RC După instalare, lansarea în execuţie se realizează cu ajutorul comenzii: java -jar selenium-server.jar,

necesitând o instalare prealabilă a unei versiuni de java începând cu 1.5. 4. Utilizarea clientului Visual Studio .NET

Pas 1. Instalarea framework-ului Nunit 2.5 Pas 2. Deschiderea editorului Visual Studio (sau a altui editor) şi crearea unui proiect

de tip Class Library Pas 3. Adăugarea referinţelor către următoarele biblioteci: nmock.dll, nunit.core.dll,

nunit.framework.dll,ThoughtWorks.Selenium.Core.dll,ThoughtWorks.Selenium.

IntegrationTests.dll and ThoughtWorks.Selenium.UnitTests.dll. Aceste biblioteci se găsesc în directorul de instalare al aplicaţiei Selenium RC, în subdirectorul selenium-dotnet-client-driver

Pas 4. Exportarea în format C# a testelor din Selenium IDE sau crearea manuală a acestora. Dacă se foloseşte opţiune de export, atunci codul sursă produs de către Selenium IDE se suprascrie peste clasa creată în proiectul de la pasul 2.

Pas 5. Compilarea proiectului Pas 6. Deschiderea framework-ului NUnit şi deschiderea fişierului .dll reuzultat în

urma compilării de la pasul anterior Pas 7. Rularea testului

Page 12: Software de raportare: Bugzilla Web: ...ovidiub/files/tas/lab_tas.pdf · Prin selectarea limbajului C#, se ob ine urm ătorul cod, identic ca şi con inul cu codul HTML. Acest cod

5. TODO

Crearea mai multor suite de test, utilizând scripturi C# pentru testarea aplicaţiei web de la adresa: http://83.103.204.6.