Creational design patterns

Documente similare
PowerPoint Presentation

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Creational design patterns

Proiectarea Sistemelor Software Complexe

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Laborator 3

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Microsoft Word - 2 ES RO.doc

Raportarea serviciilor de dializă la nivel CNAS

Microsoft Word - Laborator 6 - Expresii Regulate IV.doc

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

manual_ARACIS_evaluare_experti_v5

PHP (II)

Politica N21 privind modulele Cookie mobile Network TwentyOne se angajează să vă protejeze pe dumneavoastră și orice date (anonime sau de altă natură)

Communicate at your best - Manual - Cap 3 - RO

Transmisia datelor multimedia in retele de calculatoare <Titlu Lucrare>

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Paradigme de Programare

Intrebari Frecvente 1. Cum pot deschide un cont PayPal? Iata cum deschideti un cont: 1. Duceti-va la site-ul nostru: 2. Faceti clic

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L2312D HL-L2357DW HL-L2352DW HL-L2372DN HL-L2375DW Brother recomandă să păstrați ac

Utilizare Internet

Cuprins

Documentaţie Tehnică Verificare TVA API Ultima actualizare: 1 ianuarie / 92 1

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart

Manual de utilizare Room Booking System

Definiţie: modele analitice care asigură evaluarea unor caracteristici de calitate alese, bazându-se pe date din măsurători ale proiectelor software.

Capitole Speciale de Informatica - Curs 5: Extragerea informatiilor prin feedback de relevanta. Metode probabiliste de extragere a informatiilor

Microsoft Word - Pocatilu_IE3_2006.doc

PowerPoint Presentation

Paradigme de programare

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

CURS

Utilizare Internet

manual_ARACIS_evaluare_experti_v4

Microsoft Word - Curs_08.doc

Информационная система персонализации, печати и учета документов об образовании

Subiectul 1

Platformăde e-learning și curriculăe-content pentru învățământul superior tehnic Sisteme de operare 13. Planificarea proceselor

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Microsoft Word - CarteC.doc

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea

Capitole Speciale de Informatică Curs 2: Determinarea vocabularului de termeni şi a listelor de postări 4 octombrie 2018 Reamintim că listele de indec

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Biomedical Wi-Fi data transmissons

Microsoft Word - Algoritmi genetici.docx

Laborator 3 - Simulare. Metode de tip Monte Carlo. I. Estimarea ariilor şi a volumelor RStudio. Nu uitaţi să va setaţi directorul de lucru: Session Se

Microsoft Word - Curs_07.doc

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Chestionarul MOSPS

Advance CAD 2016 SP1 Acest document descrie îmbunătățirile pentru Advance CAD 2016 Service Pack 1. Notă: Advance CAD 2016 Service Pack 1 este compatib

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Laborator - Configurarea de bază DHCPv4 pe un router Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gateway Ob

SUBPROGRAME

Proiect GSN-08 Ghid de securitate nucleară privind repornirea instalaţiilor nucleare după opririle neplanificate CAPITOLUL I Domeniu, scop, definiţii

Regulamentul Concursului_RO

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer

E_d_Informatica_sp_MI_2015_bar_02_LRO

Inserarea culorilor in tabele

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Metode de programare Proiectarea algoritmilor

A.E.F. - suport laborator nr.8 sem.ii Analiza structurală la flambaj În acest laborator sunt atinse următoarele aspecte: modalitatea de analiză la fla

proiectarea bazelor de date

PowerPoint Presentation


Laborator 2-3 Utilizarea programului de simulare electromagnetică EmPro Continuare În lucrarea de laborator se va investiga o linie de transmisie micr

Object Oriented Programming

Instructiuni de completare Cerere de aderare la SPV pentru posesorii de certificate digital calificat Serviciul SPV este o alternativa la comunicarea

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Ingineria programării Adriana Gheorghieş, Ovidiu Gheorghieş 23 octombrie / 62

Cuantizare Vectoriala.doc

Introducere în limbajul JavaScript

Always leading the pack SEMICONDUCTOR FUNDAMENTAL DL 3155M11R Laborator TIME

Dräger REGARD-1 Unitate de comandă Sistemul Dräger REGARD -1 este un sistem de evaluare de sine stătător cu un singur canal, pentru monitorizarea gaze

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

CABINET MINISTRU

Lab6LCD

Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

Aggregating Data

1

Microsoft Word - lab-fr_3

brosuramapa2b_ro.cdr

PowerPoint Presentation

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Hotel Problema 1. Hotelul oferă clienților camere single și camere duble precum și apartamente. Să se implementeze modulul care construiește ca

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Carrier Pidgeon Protocol

PowerPoint-Präsentation

INTREBARI FRECVENTE SI MANUAL DE UTILIZARE hub.sendsms.ro

Transcriere:

Unit Testing: CORRECT ALIN ZAMFIROIU

Recapitulare Testing Unit testing Junit Test TestCase TestSuite Assertion Right-BICEP

Test QUIZ.CSIE.ASE.RO

CORRECT C Conformitatea formatului (Conformance); O Ordinea (Order); R Intervalul (Range); R Referințe externe (References); E Existența obiectelor sau a rezultatelor (Existence); C Cardinalitatea rezultatelor (Cardinality) T Timpul (Time).

CORRECT Fiecare sub-principiu are o întrebare care ar trebui să fie în mintea testerului. Acest principiu este folosit și pentru a stabili condițiile limită pentru testele de Boundary din Right-BICEP.

Conformance Este, de asemenea, cunoscut sub numele de: Type testing Compliance testing Conformity assessment

Conformance Se aplică în numeroase domenii în care ceva ar trebui să îndeplinească anumite standarde specifice. De obicei, pentru orice intrare și pentru orice ieșire, trebuie să se verifice conformitatea cu un format sau cu un standard.

Conformance Testele pot fi efectuate pentru a verifica ce se întâmplă dacă datele de intrare nu sunt conforme cu formatul sau pentru a vedea dacă rezultatul obținut este conform cu formatul specificației proiectului.

Conformance Pentru clasa Persoană trebuie să testăm dacă atributul CNP are 13 caractere.

Ordering Testele de ordine sunt specifice listelor, dar nu numai. În cazul listelor, trebuie să verificăm dacă ordinea articolelor este cea dorită. De asemenea, putem testa comportamentul metodei dacă primește anumiți parametri într-o altă ordine sau o listă de elemente într-o ordine diferită de cea așteptată.

Ordering Putem verifica dacă rezultatul metodei nevennumbers este o listă în ordinea corectă, dacă al doilea element este mai mare decât primul; al treilea este mai mare decât al doilea și așa mai departe.

Range Pentru valorile de intrare și de ieșire, sunt setate anumite intervale. Aceste intervale trebuie verificate. Pentru anumite metode sunt stabilite mai multe intervale. Acest lucru va fi testat pentru toate aceste intervale.

Range Toate funcțiile care au un index trebuie să fie testate pentru interval, deoarece acel index are un domeniu bine stabilit. De obicei, este necesar să verificați : Valorile inițiale și finale pentru index au aceeași valoare; Primul element este mai mare sau mai mic decât ultimul element; Ce se întâmplă dacă indicele este negativ; Ce se întâmplă dacă indicele este mai mare decât limita superioară; Numărul de articole nu este același cu cel pe care îl doriți - dimensiunea; etc.

Range Pentru metoda nevennumbers(), se poate verifica dacă lungimea listei returnate este corectă.

Reference Anumite metode depind de lucrurile externe sau de obiectele externe acestor metode. Aceste elemente trebuie verificate și controlate. Exemple: O aplicație web necesită conectarea utilizatorului; O extragere din stivă funcționează dacă există elemente în stivă; etc.

Reference Aceste elemente sunt numite precondiții sau condiții preliminare. Condiții preliminare pentru ca metoda să funcționeze în mod normal. Aceste teste sunt efectuate folosind dubluri de test (stub, fake, dummy, mock).

Existence does some given thing exist? Trebuie să ne întrebăm ce se întâmplă cu metoda dacă un parametru nu există, dacă este nul sau dacă este 0. De asemenea, pentru sistemele software care funcționează cu fișiere sau cu conexiune la internet, este necesar să se verifice existența acestor fișiere sau disponibilitatea conexiunii la internet. În caz contrar, aplicația nu trebuie să dea eroare, ci trebuie să se comporte normal cu avertizarea utilizatorului de problema întâmpinată.

Existence Make sure your method can stand up to nothing. Este asemănătoare cu condiția de eroare din Right-BICEP.

Cardinality 0-1-n Rule Este similar cu testele de existență (Existence) și testele privind intervalul (Range). Trebuie să verificăm dacă metoda are 0 elemente, 1 element sau elemente n. Dacă funcționează pentru 2, 3 sau 4 elemente, se consideră că va funcționa pentru mai multe elemente, însă nu trebuie să uităm de testul de Boundary superior.

Cardinality Pentru metoda nevennumbers() trebuie să verificăm situațiile : 0 numere pare; 1 număr par; n numere pare, unde n se află în mulțimea {2,3,4.}.

Time Este similar cu testul de performanță din Right-BICEP. De asemenea, poate fi testat dacă șablonul de apeluri este respectat. Similar cu design pattern-ul Template. De exemplu, pentru a apela metoda logout(), trebuie mai întâi să apelăm metoda de conectare().

CORRECT - Questions C Conformitatea formatului (Conformance); O Ordinea (Order); R Intervalul (Range); R Referințe externe (References); E Existența obiectelor sau a rezultatelor (Existence); C Cardinalitatea rezultatelor (Cardinality) T Timpul (Time).

F.I.R.S.T Pentru ca testele unitare să fie utile și eficiente pentru echipa de programare, trebuie să vă amintiți să le faceți FIRST.

F.I.R.S.T Fast Isolated/Independent Repeatable Self-Validating Timely Programambile Repetabile Izolate/Independete Morale Eficiente

Fast Testul dezvoltat ar trebui să fie rapid, deoarece dacă avem prea multe teste, nu trebuie să așteptăm prea mult timp când le executăm.

Isolated Single responsibility (SOLID) Each unit test should have a single reason to fail.

Isolated Atunci când un test eșuează, dezvoltatorul nu trebuie să facă debug pentru a identifica ce este greșit și unde este problema. Testul ar trebui să fie izolat și să spună exact unde este problema și ce problemă există.

Repeatable Rezultatele obținute ar trebui să fie identice indiferent de numărul rulări ale acestor teste. Testele ar trebui să se desfășoare în mod repetat, fără alte intervenții.

Self-Validating Încrederea în testele implementate. În cazul în care testele trec, dezvoltatorul ar trebui să aibă mare încredere că codul este corect și fără erori. Dacă un test nu reușește, dezvoltatorul trebuie să aibă încredere în faptul că metoda trebuie îmbunătățită ci nu să considere ca testul este greșit.

Timely Când trebuie să punem în aplicare testele pentru metoda noastră? Când considerăm că am făcut toate testele?

EclEmma Code Coverage

EclEmma Code Coverage

Referințe https://github.com/ghsukumar/sfdc_best_prac tices/wiki/f.i.r.s.t-principles-of-unit-testing https://pragprog.com/magazines/2012-01/unittests-are-first http://agileinaflash.blogspot.com/2009/02/first. html