• Nu S-Au Găsit Rezultate

Găsirea târzie a bugs  un cost cât mai mare pentru a le fixa

CERINŢE MODELARE IMPLEM. TESTARE CLIENT

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

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

Echipa de Test

Mediul de Testare

Procese

de Test Testware

Designs Acquires Configures Utilizes Support

Provides a Platform

for the operation of

Determine the usage of

Designs Acquires Configures

Utilizes Support

Create Articulates

Trains Applies Internalize

Diferenţa dintre testare SW şi debug SW

Nivele de Test

Metode de Testare

Conţinutul Testării

Testare Manuală vs Testare Automată

Testare

•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

Unitate sau Debug

Modul/Sub-Sistem

Integrare

Sistem

Acceptare

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

Testarea funcţionării unor module în acelaşi timp

Testarea coexistenţei

Se execută de către programatori sau de către testeri analişti

Testare pre-planificată

Rezultatele se documentează

System testing of software or hardware is

testing conducted on a complete, integrated

system to evaluate the system's compliance with its specified requirements.

System testing falls within the scope of black box testing

System testing is a more limiting type of testing;

it seeks to detect defects both within the "inter- assemblages" and also within the system as a whole.

White Box

Black Box

Gray Box

Graphical user Interface Testing

Acceptance Testing

Regression Testing

END DO

The tester has access to the internal data structures and algorithms

Types of white box testing

api testing - Testing of the application using Public and Private APIs

code coverage - creating tests to satisfy some criteria of code coverage

fault injection methods

mutation testing methods

static testing - White box testing includes all static testing

Input Output

Spec

"like a walk in a dark labyrinth without a flashlight,"

Specification-based testing

Black box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing,

traceability matrix, exploratory testing and specification-based testing.

This involves having access to internal data structures and algorithms for purposes of

designing the test cases, but testing at the user, or black-box level

Manipulating input data and formatting output do not qualify as "grey-box," because the input and output are clearly outside of the "black-

box" that we are calling "the software under test."

In computer science, GUI software testing is the process of testing a product that uses a

graphical user interface, to ensure it meets its written specifications.

The variety of errors found in GUI applications:

Data validation, Incorrect field defaults, Mandatory fields, not mandatory, Wrong fields retrieved by queries, Incorrect search criteria

Field order, Multiple database rows returned, single row expected

Currency of data on screens, Correct window modality?

Control state alignment with state of data in window?

A black-box testing performed on a system prior to its delivery

In software development, acceptance testing by the system provider is often distinguished from acceptance testing by the customer (the user or client) prior to accepting transfer of ownership.

In such environments, acceptance testing

performed by the customer is known as user acceptance testing (UAT).

This is also known as end-user testing, site (acceptance) testing, or field (acceptance) testing.

Regression testing is any type of software testing which seeks to uncover software regressions.

Such regressions occur whenever software functionality that was previously working correctly, stops working as intended.

Typically regressions occur as an unintended consequence of program changes.

Common methods of regression testing include re-running previously run tests and checking

whether previously fixed faults have re-emerged

Definirea structurii testării

Se împarte sistemul într-o structură ierarhică

Se descriu resursele necesare pentru testare

Se planifică testarea

Î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

Descrie CUM să testăm sistemul

constructori

set, get

toString

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

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

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

C++:

◦ 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