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

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

Creational design patterns

Automatizarea testării 4 decembrie 2014

Proiect didactic

Gestionarea I/E

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

Proiectarea Sistemelor Software Complexe

Microsoft Word - 2 ES RO.doc

Creational design patterns

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Slide 1

Biomedical Wi-Fi data transmissons

Lucrarea 10

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

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

PowerPoint Presentation

PowerPoint Presentation

Tema laborator TS.NET 2019 Vom simula (partial, in scop didactic) activitatea unui service auto. Pentru aceasta vom considera urmatoarele tipuri: Clie

Sisteme de operare

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

Paradigme de Programare

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Curs 10

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Laborator 5 - Paradigme de Programare

Slide 1


CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

Comanda si supravegherea centralelor termice de putere

Lucrarea nr

PowerPoint Presentation

1

PROFIL COMPANIE SERVICE ECHIPAMENTE INDUSTRIALE SI AUTOMATIZARI Intelltech prezentare companie 1

Manual de utilizare Room Booking System

CABINET MINISTRU

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

Microsoft Word - Fisa DRS - ROMANA.docx


Kein Folientitel

HONEYWELL AWARD

Termeni de utilizare specifici produselor

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

ITS Structure Memorandum

客厅电脑 酷影Q1000

Cuantizare Vectoriala.doc

Atributii:

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

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

MINISTERUL EDUCAŢIEI, CULTURII ŞI CERCETĂRII AL REPUBLICII MOLDOVA COORDONAT: 2017 Nr. de înregistrare a planului de învăţământ UNIVERSITATEA DE STAT

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

Ingineria sistemelor de programe Cursul nr. 1 Conţinut: Capitolul 1 Sistemeinformatice. Probleme şi perspective Capitolul 2 Etapele de dezvoltare a si

Microsoft Word - Politică de cookie-uri OK_v1.docx

INFORMATICĂ ŞI MARKETING

5_2012_2013_AC_PI_C_Anii_III-IV.xls

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

Programe derulate în ediția a treia Junior IT Fun Factory *În cadrul Junior IT Fun Factory fiecare înscriere se face pentru un program individual în f

3 - Fratu - rezumat RO _1_

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

Procesarea documentelor XML in Linux

Microsoft Word - Ansamblul software CRONIS

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

Strategii de marketing eficiente in Motorul afacerilor este online-ul Mai sunt doar cateva zile si putem trage linie unui an care s-a incheiat

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

tehnologii web

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

PROGRAMARE ORIENTATA PE OBIECTE

Ghid de depanare Modelele dc5700 PC uri de birou HP Compaq

Concepte de bază ale Tehnologiei Informației

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

botezatu.doc

Sisteme cu FPGA şi Soft Processors

Prezentarea calculatorului

Ghid Web connect DCP-J4120DW MFC-J4420DW MFC-J4620DW MFC-J5320DW MFC-J5620DW MFC-J5720DW

Raportarea serviciilor de dializă la nivel CNAS

Microsoft PowerPoint - SD5-RO.ppt

PPSD

Microsoft Word - Pocatilu_IE3_2006.doc

brosuramapa2b_ro.cdr

SIVECO standard template for large documents

Manual Utilizare SEPA DD

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Inserarea culorilor in tabele

METODE PRACTICE DE IMPLEMENTARE A LABORATOARELOR VIRTUALE ONLINE PENTRU DOMENIUL ELECTRONICII SAU AUTOMATICII METHODS FOR THE IMPLEMENTATION OF ONLINE

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

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

Limbaje de Programare Curs 8 – Fisiere

SC AI COMSYS SRL

MergedFile

metro-privacy

Paradigme de programare

Introducere în limbajul JavaScript

PowerPoint Presentation

Microsoft Word - TIC_tehnoredactare_12.doc

Ghidul pentru utilizator

Sistem de supraveghere video inteligent cu localizarea automata a evenimentelor de interes SCOUTER, cod proiect PN-II-IN-DPST , contract nr

Laborator - Proiectarea și Implementarea Adresării cu VLSM Topologie Obiective Partea 1: Examinați Cerințele Rețelei Partea 2: Proiectați Schema Adres

Transcriere:

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Testare automata: exista un mecanism pentru executia fara tester a cazurilor de test. Se considera ca exista campanii de teste automatizate atunci cand testele indeplinesc urmatoarele conditii: Doua sau mai multe cazuri de test sunt executate. Nu exista interventie umana dupa lansarea testelor. Parametrii mediului de test sunt inregistrati sau setati automat. Executa cazurile de test create anterior. Captureaza rezultatele relevante. Compara rezultatele reale cu cele asteptate si semnalizeaza diferentele. Analizeaza si raporteaza daca fiecare executie a trecut sau a picat.

Testele de regresie se executa pentru a ne asigura ca problemele descoperite anterior NU au fost portate pe versiunea actuala a produsului informatic. Nu putem testa COMPLET un program, prin urmare niciodata nu putem stii cu siguranta ca functioneaza corect. STIM insa ca nu am gasit incidente cu testele anterioare. O serie de teste de regresie are destul de putine teste. Fiecare test trebuie creat manual si cu atentie, pentru ca trebuie maximizata valoarea acestuia (valoare pe care o aduce un test automat trebuie sa fie mai mare decat valoarea aceluias test manual).

Decizia de automatizare a unor teste este o decizie financiara. Este profitabil sa automatizam un test daca acesta se ruleaza de atat de multe ori incat sa justifice costul de mentenanta (costul de creare a testului automat < costul testului manual). Multe teste nu necesita automatizare: ofera informatii care nu trebuie colectate in mod repetat. Putine teste merita a fi executate pe fiecare versiune. Costuri: Mentenanta testelor nu este gratis, dar este obligatorie pentru testele de regresie. Inconsistenta intre test si noul program Testul este invechit si trebuie schimbat

Stabilitate: testul este stabil si nu se poate schimba in timp. Testul a fost executat si manual, anterior. Repetabilitate: se automatizeaza acele teste care se executa repetat. Riscul: testele cu risc mare sunt acele teste care se executa in mod obisnuit dupa o noua versiune a produsului. Pe termen lung, vor fi foarte utile. Usurinta in automatizare Dificultate in executia manuala: se automatizeaza testele dificil de executat manual. Consumatoare de timp: cazurile de test repetitive sau care dureaza mult in executie ar trebui automatizate.

Beneficii Productivitate crescuta Reutilizarea cazurilor de test Consistenta in testare Reducerea costului de mentenanta Cresterea eficientei testarii Dezavantaje In cazul folosirii unor programe software, asteptari nerealiste. Costuri mari de mentenanta a scripturilor. Pregatirea inginerilor care automatizeaza. Achizitia de tool-uri costisitoare

Cerinte initiale ce trebuie indeplinite pentru a automatiza teste: Sistemul este stabil, iar functionalitatile sunt bine definite. Testele ce vor fi automatizate sunt clare si sunt alese reprezentativ. Instrumentele si infrastructura de test sunt disponibile. Inginerii care vor automatiza teste au experienta in domeniu. Bugetul a fost alocat pentru a achizitiona utilitare software.

Simplu Testul trebuie sa aiba un singur obiectiv. Sa nu aiba mai mult de 10-15 pasi functionali. Modular Fiecare test trebuie sa aiba o parte de setup, o parte de pasi functionali si o parte de curatare a sistemului. Fiecare pas trebuie sa fie clar si precis. Robust si fiabil Rezultatul executiei automate trebuie sa fie clar. Cazurile de test trebuie sa aiba mecanisme de revenire, in cazul in care sistemul esueaza. Reutilizabil Pasii testelor trebuie reutilizati. Nu se folosesc valori in codul testelor automate (fara variabile hard-coded ). Pasii sunt independenti de mediu. Usor de mentinut Trebuie identificate acele cazuri de teste ce se modifica atunci cand produsul de testat se modifica. Se poate folosi versionarea cazurilor de test. Documentat Fiecare caz de test are un identificator unic. Scopul testului este precizat clar. Se noteaza: autorul testului, data ultimei modificari, datele de intrare, rezultatele rularii, rezultatele asteptate Independent Testele sunt independente unele de celelalte. Coruperea datelor asociate unui test nu afecteaza alte teste. Esecul unui test nu afecteaza rezultatele altor teste. Starea finala la sfarsitul unei executii nu afecteaza urmatoarele teste

Setup Include pasii de verificare a componentelor hardware implicate, retelei, configuratiei software si a faptului ca aplicatia ruleaza. Date de input Datele de intrare trebuie alese astfel incat produsul testat sa le inteleaga si sa raspunda la ele. Captura raspunsului Raspunsul produsului la executia testului este capturat si salvat. Din iesirile executiei, trebuie alese acele informatii care se refera la obiectivul testului. Verdictul (starea executiei testului) Rezultatul real este comparat cu rezultatul asteptat. Apoi se hotaraste verdictul (trecut sau picat). Deciziile care duc la stabilirea verdictului trebuie luate cu atentie. Logarea verdictului Rezultatele executiei sunt scrise intr-un fisier de log. Curatare Se restaureaza sistemul testat la starea originala. Urmatorul test poate fi executat.

Abordarea automatizarii: GUI La nivel de API Prin CLI Alte interfete In cazul unor functionalitati asemanatoare care folosesc date de input diferite, solutia este: Mutarea datelor din scripturile automate intr-un mijloc de stocare extern (baza de date, spreadsheet) Se scriu functii de accesare a datelor, specifice pentru fiecare executie. Aceasta este abordarea data-driven. In cazul in care actiunile asupra datelor din script sunt si ele separate de scriptul propriu-zis: Abordarea se numeste keyword (action word)-driven. Expertii creaza un meta-limbaj de nivel inalt pentru aceasta abordare. Limbajul este descriptiv si nu executabil. Inginerul care automatizeaza traduce apoi aceste actiuni in cod de automatizare.

Cele doua aspecte ale automatizarii testelor care necesita atentie: Capturarea rezultatelor Rularea aplicatiei presupune o multitudine de rezultate posibile. Rezultatul efectiv al executiei testului presupune mai mult decat vizualizarea pe ecran a rezultatului. Trebuie luate in consideratie si alte aspecte care au fost influentate: variabile de mediu, memorie, continutul diverselor fisiere, starea programului, mesaje, etc. Interpretarea rezultatelor Identificam acele aspecte care reprezinta rezultatele. Testele automate trebuie sa execute actiunile pe care le facea inginerul de testare. Trebuie gasite acele aspecte care pot indica o eroare si verificate periodic. Este important de stabilit ce sa faca testul in cazul unui esec: sa continue executia si sa salveze logul, sa opreasca executia, se poate trece peste un anumit tip de eroare? Esecurile aparute in executia testelor automate pot corupe rezultatele viitoare.

Este cea mai intalnita abordare a automatizarii testelor, dar nu este singura. Are numeroase limitari. Daca interfata grafica se modifica, testele automate trebuie modificate corespunzator. Procesul de codare si mentenanta este dificil. Testele repeta aceiasi pasi, in loc de a folosi rutine comune. Dupa o perioada mai lunga de rulare a testelor, nu se mai gasesc defecte noi cu ajutorul testelor automate. Deci, ele trebuie innoite/imbunatatite.

Teste bazate pe cod Se folosesc instrumente cum sunt JUnit sau Nunit, care se folosesc pentru a stabili ca o portiune de cod face ceea ce ar trebui. Ex.: Junit tool open source folosit pentru automatizarea testelor unitare ale aplicatiilor Java. Limbaje folosite in scrierea testelor automate: Python, JavaScript, Perl Teste bazate pe interfata grafica Instrumente de tipul inregistrare-rulare ( recordplay ). Testarea site-urilor web Ex.: HP QuickTest Professional, IBM Rational Functional Tester, Selenium, TestComplete, etc.

Testarea exploratorie este un stil de testare ce pune accent pe libertatea personala a inginerului de a optimiza munca sa. O abordare practica de testare in care inginerii fac o planificare minima si o executie maxima (ISTQB). Planificarea inseamna: o structura de test, acoperirea testarii pe o perioada scurta (1-2 ore), obiective. Crearea de teste si executia lor se desfasoara in paralel, fara o documentare formala a conditiilor de test. Este utila in proiectele cu putine informatii scrise despre functionalitati. Se mai foloseste si in proiecte bine documentate, pentru a completa alte abordari mai formale.

Ghicirea erorilor (error guessing): o tehnica ce completeaza tehnici mai formale. Foloseste o abordare bazata pe experienta inginerului, datele defectelor existente, expertiza in domeniu etc. Crearea rapida si pe loc a unor teste care ataca potentiale erori. E nevoie de experienta anterioara a inginerului care testeaza. Nu exista reguli in aceasta tehnica, se incurajeaza gasirea de situatii posibile in care produsul software nu s-ar comporta bine.

Avantajele automatizarii: Productivitatea, acoperirea testarii, reutilizarea testelor, cosuri de mentenanta mai mici, eficienta crescuta a testarii. Pasii crearii unui test automatizat: Setup, date de input, captura raspunsului, verdict, logare, curatare. Abordarea data-driven si keyword-driven in automatizarea testelor. Testarea exploratorie e o abordare a testarii, bazata pe executia informala a cazurilor de test intr-o perioada scurta.