This shows you the differences between two versions of the page.
|
mps:laboratoare:laborator-09 [2020/09/28 17:57] 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 539: | Line 539: | ||
| =====Exerciții (50 min)===== | =====Exerciții (50 min)===== | ||
| - | - 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 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 valorează 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> | ||
| - | Link Kahoot: [[https://create.kahoot.it/share/mps-lab-9-testare/7094976f-b95e-4841-af8b-c4f08e6d7f12|Kahoot]] | + | Link Kahoot: [[https://create.kahoot.it/v2/share/mps-lab-9-testare/7094976f-b95e-4841-af8b-c4f08e6d7f12|Kahoot]] |
| - Câte modificări s-au făcut în acest patch? | - Câte modificări s-au făcut în acest patch? | ||
| Line 556: | Line 556: | ||
| - 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. | - 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]** - De unde vine denumirea de bug? | + | **[Bonus]** - (10) De unde vine denumirea de bug? |
| Rezolvari: | Rezolvari: | ||
| - 3 modificari (se vad in 3 locuri --/++) | - 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). | + | - 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. | - 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 | ||
| Line 575: | Line 576: | ||
| - Descrieți sumar conținutul unui SQAP pentru proiectul vostru. | - 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. | ||
| Stabiliti ce mai aveti de facut pentru finalizarea proiectelor. | Stabiliti ce mai aveti de facut pentru finalizarea proiectelor. | ||