Facultatea de Informatică Universitatea “Al. I

Slides:



Advertisements
Similar presentations
Cursul 10 – 3 Mai 1. Din Cursurile trecute… Design Patterns Creational Patterns Structural Patterns Behavioral Patterns Alte tipuri de Design Patterns.
Advertisements

Test process essentials Riitta Viitamäki,
Cursul 4 – 28 Februarie. 2/37  Unde ne aflăm?  Definiţia şi Scopurile Testării Software  Fapte şi Numere.
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
Exemple de bune practici în domeniul SCMI Endre-Sandor ERDŐDI, Manager public, Direcţia de politici publice.
Avantajele si dezavantajele folosirii unui blog de pe blogger(blogspot)
 Ce e bravenet.COM ?  De ce bravenet.COM ?  Avantaje si dezavantaje in folosirea bravenet.COm Grupa 6: Lucian-Eduard Barticel Eduard Giurgiu Iany Ionut.
În general exist ă 2 forme mari de conservare : “in situ” şi “ex situ” 1. Conservarea “ in situ” Aceast ă metod ă de conservare const ă în.
2009 Pag Pag. 2 Agenda 1.Obiectivul proiectului 2.Parteneri 3.Autentificare versus identificare 4.Schema generala 5.Probleme de rezolvat / rezolvate.
Caracteristici ale corpurilor cu viata
ICF Capitol Local Bine ati venit. Ore de Pregatire Continua Sesiunea 1.
Extreme Programming Software Development Written by Sanjay Kumar.
1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing.
Introduction to Testing. Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Februarie 2018 ASE Bucuresti
Achizitionarea materialelor consumabile
IntraShip inovatie, flexibilitate, rapiditate.
Funcţii Excel definite de utilizator (FDU) în VBA
Placa de bază.
Instrumente CASE Curs nr. 7.
Posibilităţi de analiză în timp real a parametrilor de calitate a apei cu ajutorul sistemului informatic de management SIVECO Business Analyzer September.
Căutarea şi regăsirea informaţiei.
Dispozitive de stocare
Arhitectura serviciilor web
Structura pipeline a unui procesor MIPS
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
Facultatea de Informatică Universitatea “Al. I
Gestionarea datelor stiintifice
METODA BACKTRACKING Examenul de bacalaureat 2012
Software product management
Strategies For Software Test Documentation
Digitizarea – Un nou concept
CONVERSII INTRE SISTEME DE NUMERATIE
WebSite Social Tema 2 WebSite Social.
SUBNETAREA.
Facultatea de Informatică Universitatea “Al. I
Curs 6: Introducere în programarea SAS
Principalele capitole ale cursului
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
Mardare Ciprian Gabriel 342C5
Apache WEB Server.
#SmartRoadSense.
Sistem de monitorizare şi control prin Internet cu procesor ARM
Eclipsele de soare si de luna
Forms (Formulare).
Proiectarea Arhitecturala a Sistemelor Software
Managementul Proiectelor Software
A great way to create a channel of communication
Ingineria Programării
Cursul 9. SEO (Promovarea site-urilor web)
Managementul Proiectelor Informatice
SOAP -Simple Object Access Protocol-
Configurarea, deployment-ul automat si testarea serviciilor
Profilul absolventului
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Realizarea prezentarilor cu Microsoft PowerPoint
#SmartRoadSense.
Student:Dvornic Mihaela Grupa:342 C5
CMMI- Arii de proces: Inginerie si managementului proiectelor
Sistemul de control intern managerial
Review blog culianu.wordpress.com
Configurarea metodelor de management al calităţii în sectorul public
Harti de imagini, Cadre, Stiluri
Despre lamaie.net De ce sunt lamaile acre? Realizatori: Cristina Cazan
Tabele WEB.
Requirements Engineering
Presentation transcript:

Adrian Iftene adiftene@infoiasi.ro Facultatea de Informatică Universitatea “Al.I.Cuza” - Iaşi Ingineria Programării Laborator 3 Adrian Iftene adiftene@infoiasi.ro Adrian Iftene - IP

Introducere în Testare 1

Cuprins Unde ne aflăm? Definiţia şi Scopurile Testării Software Fapte şi Numere Adrian Iftene - IP

Dilema Calităţii Software Calitate Timp Preţ Adrian Iftene - IP

Cuprins Unde ne aflăm? Definiţia şi Scopurile Testării Software Fapte şi Numere Adrian Iftene - IP

Testare Software - Definiţie “The process of exercising or evaluating a system by manual or automated means to verify that it satisfies specified requirements or to identify differences between expected and actual results.” (IEEE Standard Glossary, 1983) Requirements analysis is the determination of what an application should do. requirements should be clear, complete, reasonably detailed, attainable, and testable. A non-testable requirement would be, for example, 'user-friendly' (too subjective). A testable requirement would be something as if 'the user must enter their previously-assigned password to access the application’. Adrian Iftene - IP

Testare Software Testarea Software NU este o fază Este un proces care trebuie integrat în toate fazele construcţiei produsului software Există documente de testare asociate la fiecare fază a dezvoltării Adrian Iftene - IP

Care sunt Scopurile Testării? De a localiza şi preveni bugs cât mai curând posibil De a efectua toate Testele corespunzător Cerinţelor, într-un mod cât mai eficient şi mai economic De a aduce produsul software la un nivel de calitate cât mai ridicat (pentru client) Toate acestea se execută folosind Metodologile de Implementare SQC is part of the SQA. This is the control procedures BUT there should be some understanding of the framework which is set in the SQA level. To explain that: We need not only to find bugs but also to prevent them (which is better) To know when to stop because effectiveness and economics of the process is essential. To know that not all system requires the same level of quality (mission critical against IT). Testing is not only for the SOFTWARE it is for all DELIVERABLES. Adrian Iftene - IP

De ce avem Bugs în Software? Comunicarea deficitară sau Blocajele de comunicare Înţelegerea deficitară Presiunea Timpului Nivelul Programatorului este Scăzut Miscommunication - between the customer and the system annalist / programmer Misunderstanding - between the customer and the system annalist / programmer Low professional manpower - that cause more bugs than the same work under a professional programmer Time pressures - scheduling of software projects is difficult, often requiring a lot of guesswork. When deadline becomes close a lot of mistakes will be made. Adrian Iftene - IP

Comunicare Deficitară Adrian Iftene - IP

Comunicare Deficitară – În tratarea Cerinţelor Attention - The majority of the system defects comes from the stage of requirements in the life cycle. Adrian Iftene - IP

Cuprins Unde ne aflăm? Definiţia şi Scopurile Testării Software Fapte şi Numere Adrian Iftene - IP

De unde vin Problemele Software? Cerinţe definite Incomplet 50% Modelare Ambiguă sau Insuficientă 30% Erori de Programare 20% Attention - The majority of the system defects comes from the stage of requirements in the life cycle. Adrian Iftene - IP

Bugs - Costul Fixării Cerinţe Modelare Impl. Test. Int. Test.sist. The cost of fixing bugs escalates as we move towards operation. Notice that there are more benefits from early detection, like: No Patch - maintainability Less time spent on corrections - the programmers are still working on the same project, application Corrections are done on schedule and on budget Cerinţe Modelare Impl. Test. Int. Test.sist. Client Adrian Iftene - IP

Găsirea târzie a bugs  un cost cât mai mare pentru a le fixa Atenţie Găsirea târzie a bugs  un cost cât mai mare pentru a le fixa Adrian Iftene - IP

Erori? Trebuie fixate cât mai Devreme Posibil CERINŢE MODELARE IMPLEM. TESTARE CLIENT Adrian Iftene - IP

Testare Profesională Profesionalismul în testare constă în abilitatea de a selecta numărul minim de cazuri de testare eficientă ce va fi capabil să verifice numărul maxim de funcţii ale sistemului. Adrian Iftene - IP

Când Oprim Testarea? Niciodată Când numărul de erori găsite într-un ciclu de testare este mai mic decât un număr stabilit Când nu mai sunt găsite defecte critice şi majore Când timpul a expirat Adrian Iftene - IP

Schema unui Sistem de Testare Mediul de Testare Designs Acquires Configures Utilizes Support Determine the usage of Provides a Platform for the operation of Echipa de Test Designs Acquires Configures Utilizes Support Create Articulates Trains Applies Internalize Procese de Test Testware Adrian Iftene - IP

Metodologii de Testare Adrian Iftene - IP 1

Conţinut Diferenţa dintre testare SW şi debug SW Nivele de Test Clase de Test Conţinutul Testării Testare şi Dezvoltare SW Adrian Iftene - IP

Diferenţa dintre Testare SW & Debug Verificarea respectării cerinţelor De regulă e făcută de o entitate externă şi neutră Este un proces planificat şi controlat Debug Verificarea validităţii secţiunilor E făcută de programator E un proces aleator Adrian Iftene - IP

Nivele de Test Unitate sau Debug. Modul/Sub-Sistem. Integrare. Sistem. Acceptare. Adrian Iftene - IP

Clase de Test Regresie. Efecte Laterale. Redundanţă. Stres şi Supraîncărcare. Refacere. Adrian Iftene - IP

BLACK BOX Input Output Spec Adrian Iftene - IP

WHITE BOX IF DO END Adrian Iftene - IP

Conţinutul Testării STP - Software Test Plan. TRD STD Execuţie STR STP - Software Test Plan. TRD - Test Requirement Definition. STD - Software Test Description. Tests Execution or Test Cycles. STR - Software Test Report. Adrian Iftene - IP

Conţinutul Testării - Detalii STP - Un plan ce detaliază: scopul testării, planificarea în timp, cerinţele ce se testează TRD - Specifică ce cazuri trebuie testate pentru fiecare cerinţă (TC - Test Case) STD - Specifică step-by-step ce se execută şi ce rezultat se aşteaptă pentru fiecare TC STR - Sumarizează rezultatele ciclurilor de testare şi concluziile despre calitatea sistemului testat Adrian Iftene - IP

Unit Testing Testarea unei funcţii, a unui program, a unui ecran, a unei funcţionalităţi Se face de către programatori Predefinită. Rezultatele trebuie documentate Se folosesc simulatoare pentru Input şi Output Adrian Iftene - IP

Testare la Integrare Testarea funcţionării unor module în acelaşi timp Testarea coexistenţei Se execută de către programatori sau de către testări analişti Testare pre-planificată Rezultatele se documentează Adrian Iftene - IP

Testare Manuală - Scenariu de Test STP: Definirea structurii testării, Se împarte sistemul într-o structură ierarhică, Se descriu resursele necesare pentru testare, Se planifică testarea TRD: Împărţirea în paşi se face ţinând cont de cerinţe, Se descrie ce va fi testat pentru componente şi funcţii, Include o mulţime de cerinţe de testare într-un format stabilit STD: Descrie CUM să testăm sistemul Adrian Iftene - IP

Testare Automată Presupunea să creăm în paralel clase de test pentru a testa clasele de bază void CElevatorTest::GoToFloorTest1() { CElevator Elevator; Elevator.GoToFloor( 5 ); assert( Elevator.GetFloor() == 5 ); Elevator.GoToFloor( 0 ); assert( Elevator.mFloor == 0 ); } Adrian Iftene - IP

Testare Automată vs Testare Manuală Se găsesc rapid problemele Se câştigă timp când e nevoie să repetăm testele Procesul de scriere a codului e mult mai flexibil Reduce volumul de testare manuală Dezvoltarea software devine previzibilă şi repetabilă Rezolvă problemele de interfaţă: scrierea corectă a textelor, mesajelor, aranjarea corectă în pagină, în ordinea care trebuie, sunt vizibile, etc. Realizarea Scenariilor de test poate fi o treabă de durată şi anevoioasă şi implică o cunoaştere temeinică a întregului sistem Adrian Iftene - IP

Links http://www.automatedqa.com/techpapers/testing.asp http://www.codeproject.com/tools/tilo.asp http://www.parasoft.com/jsp/products/home.jsp?product=Cpp http://www.verifysoft.com/en_ctapp.html http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncdev00/html/vc00f6.asp http://www.codeproject.com/gen/design/autp5.asp http://www.codeproject.com/cpp/UnitTestsReporter.asp http://www.codeproject.com/gen/design/onunittesting.asp http://www.code-agazine.com/Article.aspx?quickid=0411031 Adrian Iftene - IP

Coding Style – Motivaţie Convenţiile de programare sunt importante deoarece: 80% din timpul alocat unei componente software este întreţinere Foarte rar un produs software este întreţinut pe toată durata folosirii lui de către aceeaşi persoană Convenţiile de cod îmbunătăţesc lizibilitatea produsului, şi permite inginerilor software să înţeleagă rapid un program nou Adrian Iftene - IP

Coding Style - Cerinţe Folosirea fără rezerve a Comentariilor: ce fac procedurile, ce reprezintă variabilele, explicarea paşilor algoritmului, etc. Folosirea numelor sugestive pentru variabile si proceduri Scrierea modulara a proiectului Folosirea perechilor de tip set/get, start/stop, adauga/sterge, salvare/incarcare Adrian Iftene - IP

Coding Style - Links C++: Java: http://www.chris-lott.org/resources/cstyle/ http://geosoft.no/development/cppstyle.html Java: http://java.sun.com/docs/codeconv/ http://geosoft.no/development/javastyle.html Adrian Iftene - IP