Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mps:laboratoare:laborator-09 [2020/09/28 16:40]
iulia.stanica [Exerciții (50 min)]
mps:laboratoare:laborator-09 [2022/12/13 11:18] (current)
iulia.stanica [Test Cases]
Line 248: Line 248:
 == Stubs == == Stubs ==
  
-O problemă des întâlnită în testarea proiectelor este testarea unei părți a proiectului înainte ca alte părți să fie gata. Se pot folosi pentru asta interfețe, numite **Stubs**, care simulează funcțiile de bază ale obiectului respectiv fără să efectueze și teste de integritate a datelor sau ale fluxului logic al problemei. Ele sunt des folosite în cursul dezvoltării unităților proiectului care depind de obiectul simulat.+O problemă des întâlnită în testarea proiectelor este testarea unei părți a proiectului înainte ca alte părți să fie gata. Se pot folosi pentru asta interfețe, numite **Stubs**, care simulează funcțiile de bază ale obiectului respectiv fără să efectueze și teste de integritate a datelor sau ale fluxului logic al problemei. Ele sunt des folosite în cursul dezvoltării unităților proiectului care depind de obiectul simulat. Accentul este pus pe verificarea răspunsului dorit / schimbării de stare.
  
 == Mockup == == Mockup ==
  
-**Mockups** sunt tot implementarea unor interfețe care testează mai aprofundat funcțiile necesare. Ele simulează spre exemplu funcționarea unui server pentru a putea testa facilitățile clientului și testează de asemenea autentificarea clientului înainte ca acesta să poată efectua anumite tranzacții. Pentru o utilizare mai facilă se recomandă folosirea interfețelor și utilizarea lor în funcția de testare. O implementare pentru testare este o implementare care conține numai cod de test și imită cât mai bine funcționarea viitorului obiect. Mockup-urile sunt utile în multe situații precum:+**Mockups** sunt tot implementarea unor interfețe care testează mai aprofundat funcțiile necesare. Ele simulează spre exemplu funcționarea unui server pentru a putea testa facilitățile clientului și testează de asemenea autentificarea clientului înainte ca acesta să poată efectua anumite tranzacții. Pentru o utilizare mai facilă se recomandă folosirea interfețelor și utilizarea lor în funcția de testare. O implementare pentru testare este o implementare care conține numai cod de test și imită cât mai bine funcționarea viitorului obiect. Accentul este pus pe verificarea comportamentului. Mockup-urile sunt utile în multe situații precum:
 * cazul când obiectul în sine nu există * cazul când obiectul în sine nu există
 * obiectul real/​funcția reală ia foarte mult timp să ruleze * obiectul real/​funcția reală ia foarte mult timp să ruleze
Line 528: Line 528:
   - Care a fost componenta cea mai satisfăcătoare din cadrul proiectului?​   - Care a fost componenta cea mai satisfăcătoare din cadrul proiectului?​
 Un exemplu complet de chestionar găsiți [[http://​michaelgreer.biz/?​p=161|aici]] ​ Un exemplu complet de chestionar găsiți [[http://​michaelgreer.biz/?​p=161|aici]] ​
 +
 +==== Bibliografie ====
 +
 +  * http://​www.sqatester.com/​methodology/​PositiveandNegativeTesting.htm
 +  * http://​www.opensourcetesting.org/​testmgt.php
 +  * http://​www.sqatester.com/​documentation/​testcasesmpl.htm
 +  * http://​www.computerhistory.org/​tdih/​September/​9/​
 +
  
 =====Exerciții (50 min)===== =====Exerciții (50 min)=====
  
-- Se da urmatorul ​patch: [[https://​curl.haxx.se/​CVE-2016-8616.patch|patch]]. Studiati-timp de 5 minute. ​Va fi subiectul testului ​nostru Kahoot :)  +- Se dau următorul ​patch: [[https://​curl.haxx.se/​CVE-2016-8616.patch|patch]] și următorul tweet: [[https://​i.imgur.com/​KHaCdxA.png|tweet]]. Studiati-le timp de 5 minute. ​Vor fi importante pentru testul ​nostru ​[[https://​kahoot.com/​schools-u/​|Kahoot]] :)  
-**Nota**: fiecare răspuns corect ​valoarează un punct, se acordă un punct pentru prezență. Punctajul total aferent laboratorului curent este de **11p**.+**Nota**: fiecare răspuns corect ​valorează un punct, se acordă un punct pentru prezență. Punctajul total aferent laboratorului curent este de **11p**.
  
 <​hidden>​ <​hidden>​
-Precizati+ 
-     * cate modificari ​s-au facut+Link Kahoot[[https://​create.kahoot.it/​v2/​share/​mps-lab-9-testare/​7094976f-b95e-4841-af8b-c4f08e6d7f12|Kahoot]] 
-     * cate fisiere ​au fost modificate?​ + 
-     * ce bug ar putea rezolva acest patch+  - Câte modificări ​s-au făcut în acest patch
-     * cum ati testa acest fix+  - Câte fișiere ​au fost modificate ​de patch
-  - Ganditi-va la platforma vmchecker. +  - Ce bug ar putea rezolva acest patch? 
-     * ce fel de testare ​face: Boundary testing / Black Box Testing?   +  - Ce fel de testare ​realizeaza platforma VMChecker: Boundary testing ​/ White Box / Black Box Testing / Regression? ​ 
-     * argumentati si exemplificati +
-     * Dar dintre urmatoarele:​ Stubs / Mockups ​/ Regression ​testing? +
-     * argumentati si exemplificati+
   - Ce fel de testare este ilustrata [[http://​i.imgur.com/​KHaCdxA.png|aici]] ?   - Ce fel de testare este ilustrata [[http://​i.imgur.com/​KHaCdxA.png|aici]] ?
-  - **[Bonus]** De unde vine denumirea de bug?+  - Modificarea unei linii de cod din "​a++"​ in "​a+=2"​ pentru a vedea efectele survenite constituie un exemplu de: Regression / Black box / Stubs / Fault injection. 
 +  - NU permite managementul bug-urilor urmatorul program: GitHub, diff, Bugzilla, Trac. 
 +  - Care este diferența dintre "​regression testing"​ și "​re-testare"?​ 
 +  - Alegeți afirmația corectă referitoare la costul fixării unui defect / bug: scade / creste odată cu apropierea de data lansării / nu este important / nu poate fi determinat. 
 +  
 +**[Bonus]** ​  - (10) De unde vine denumirea de bug?
  
 Rezolvari: Rezolvari:
-  - 3 modificari (se vad in 3 locuri --/++)un singur fisier afectat. Bug: functie pasibila de erori la verificare username si parola (context: calcula un hash si il verifica sa semene cu unul existent din memorie, insa functia aia existenta nu era case-sensitive. +  - 3 modificari (se vad in 3 locuri --/++) 
-  - Black box - evident (considera tema trimisa ca un black box si ruleaza testele). Poate si si Boundry ​acceptat, daca se aduce ca exemplu o tema precum tema 0 de la SO, care verifica sa ruleze tema si pe o lista vida de cuvinte. Sigur nu Regression. Stabs este corect. Se accepta exemple precum o tema care verifica functionalitatile pas cu pas (tema 3 la SO). Si Mockups e un raspuns corect: anumite functionalitati din checker sunt mimate/​emulate (exeplu: tema 1 la Protocoale de Comunicatie)+  - un singur fisier afectat. ​ 
 +  - Bug: functie pasibila de erori la verificare username si parola (context: calcula un hash si il verifica sa semene cu unul existent din memorie, insa functia aia existenta nu era case-sensitive)
 +  - Black box - evident (considera tema trimisa ca un black box si ruleaza testele). Poate si Boundary ​acceptat, daca se aduce ca exemplu o tema precum tema 0 de la SO, care verifica sa ruleze tema si pe o lista vida de cuvinte. Sigur nu Regression. ​
   - Boundary testing   - Boundary testing
-  -  Vezi ultimul link de la bibliografie. Special am pus bilbiografia dupa exercitii in aceeasi sectiune din lab (sa vedem daca au inspiratia sa se uite acolo).+  ​- Fault injection 
 +  - diff 
 +  - Re-testarea = repetarea unui test; regression = cautarea de efecte nedorite aparute odata cu avansarea in dezvoltare 
 +  - Crește odată cu apropierea de data lansării 
 +  ​-  Vezi ultimul link de la bibliografie. Special am pus bilbiografia dupa exercitii in aceeasi sectiune din lab (sa vedem daca au inspiratia sa se uite acolo) ​- molie blocata in computer.
 </​hidden>​ </​hidden>​
  
-  - Descrieți sumar conținutul unui SQAP pentru proiectul vostru.+  ​ 
 + 
 +===== Lucru la proiect (50 min)===== 
 +- Descrieți sumar conținutul unui SQAP pentru proiectul vostru.
     * Parcurgeți secțiunea [[https://​ocw.cs.pub.ro/​courses/​mps/​laboratoare/​laborator-09#​sqap_software_quality_assurance_plan|Software Quality Assurance Plan]]     * Parcurgeți secțiunea [[https://​ocw.cs.pub.ro/​courses/​mps/​laboratoare/​laborator-09#​sqap_software_quality_assurance_plan|Software Quality Assurance Plan]]
-  ​- Pregătiți un checklist pentru terminarea proiectului vostru. Argumentați!+- Pregătiți un checklist pentru terminarea proiectului vostru. Argumentați!
     * Parcurgeți secțiunea Terminarea unui proiect     * Parcurgeți secțiunea Terminarea unui proiect
-  ​- Răspundeți la întrebările de la procesul PPA pentru proiectul vostru.+- Răspundeți la întrebările de la procesul PPA pentru proiectul vostru.
     * Parcurgeți secțiunea Post-Performance Analysis.     * Parcurgeți secțiunea Post-Performance Analysis.
  
-==== Bibliografie ==== 
- 
-  * http://​www.sqatester.com/​methodology/​PositiveandNegativeTesting.htm 
-  * http://​www.opensourcetesting.org/​testmgt.php 
-  * http://​www.sqatester.com/​documentation/​testcasesmpl.htm 
-  * http://​www.computerhistory.org/​tdih/​September/​9/​ 
- 
-===== Lucru la proiect (50 min)===== 
 Stabiliti ce mai aveti de facut pentru finalizarea proiectelor. Stabiliti ce mai aveti de facut pentru finalizarea proiectelor.
  
mps/laboratoare/laborator-09.1601300449.txt.gz · Last modified: 2020/09/28 16:40 by iulia.stanica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0