42
UPRAVLJANJE UPRAVLJANJE KVALITETOM KVALITETOM SOFTVERSKIH SOFTVERSKIH PROIZVODA PROIZVODA Aleksandar Jovičić [email protected]

UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

UPRAVLJANJE UPRAVLJANJE KVALITETOM KVALITETOM

SOFTVERSKIH SOFTVERSKIH PROIZVODAPROIZVODA

Aleksandar Jovičić[email protected]

Page 2: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Kako se pravi softver?

ili ...

Page 3: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Kako se pravi softver?

ili ...

Page 4: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Kako se pravi softver?

Page 5: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Faze razvoja softvera

● Prikupljanje programskih zahteva● Analiza i planiranje● Dizajn i projektovanje● Implementacija● Testiranje● Uvodjenje u upotrebu● Održavanje i podrška

Page 6: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Metodologije procesa razvoja

“Waterfall” (“Vodopad”)

Page 7: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Metodologije procesa razvoja

“Spiral”

Page 8: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Metodologije procesa razvoja

“Agile”

Page 9: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Cilj

● Isporučiti kupcu proizvod koji odgovara njegovim potrebama po ceni koja odgovara njegovim mogućnostima u roku koji obezbedjuje zadovoljavajući kvalitet

Page 10: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Cilj

● Isporučiti kupcu proizvod koji odgovara njegovim potrebama po ceni koja odgovara njegovim mogućnostima u roku koji obezbedjuje zadovoljavajući kvalitet

● Moguće je fiksirati samo 2 varijable– vreme

– troškovi

– kvalitetvreme

troškovi kvalitet

Page 11: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Cilj

● Isporučiti kupcu proizvod koji odgovara njegovim potrebama po ceni koja odgovara njegovim mogućnostima u roku koji obezbedjuje zadovoljavajući kvalitet

● Moguće je fiksirati samo 2 varijable– vreme

– troškovi

– kvalitet

vreme

troškovi kvalitet

vreme

troškovi kvalitet

vreme

troškovi kvalitet

Page 12: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Bruksov “zakon”(Brooks's Law)

● “Ne može se roditi beba za 1 mesec tako što će 9 žena da zatrudni”

Page 13: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Bruksov “zakon”(Brooks's Law)

● “Ne može se roditi beba za 1 mesec tako što će 9 žena da zatrudni”Problem: 4 produktivnaradnika kasne sa projektom “Rešenje”: dodaj još 2

nova radnika

(projekt će biti završen daleko posle rokauz veliko “probijanje” budžeta)

Posledica:završićeš sa 2 produktivna radnika,2 nervozna radnika i 2 nova radnika

BRUKSOV ZAKON

Page 14: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Kvalitet

● Isporučiti proizvod koji odgovara potrebama– Da li kupac zna da definiše svoje potrebe?

– Da li je spreman da plati cenu koštanja?

– Kako mu pomoći da to otkrije na vreme i sprečiti da se priča završi sa propalim projektom i nezadovoljnim kupcem?

– “Korisnik je onaj ko ne zna šta hoće ... ali kada vidi to što je tražio zna da mu baš to ne treba”

Page 15: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Kvalitet

Kako kupac objasni šta mu treba

Kako vodja projekta to

shvati

Kako analitičar to isprojektuje

Kako to programer

napiše

Kako to biznis konsultant

opiše

Kako ga marketing reklamira

Kako se vrši naplata

Kako je projekt dokumentovan

Šta QA tim dobije

Šta OPS-i instaliraju

Kada se to isporuči

Kakva je podrška

Kako se proizvod ponaša pri opterećenju

Kako funkcioniše

plan oporavka

Kako se primenjuju

zakrpe

Šta kupcu stvarno treba

Page 16: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Kvalitet

ili

Page 17: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

QC ili QA

● QC - Quality Control (kontrola kvaliteta)

● QA - Quality Assurance (obezbedjivanje kvaliteta)

● QM - Quality Management (upravljanje kvalitetom)

QC

QA

Page 18: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

QC ili QAU jednom selu živela su 3 brata. Prvi je mogao da izleči svaku bolest. Za njega su znali u svim okolnim selima. 

Drugi je imao moć da oseti kada se bolest približi nekoj kući i upozoravao je ukućane. Za njega su znali svi seljani. Treći 

je imao moć da bolest otera i pre nego što se približi selu.Za njega nije znao niko!

QC

QA

Page 19: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

QC ili QAU jednom selu živela su 3 brata. Prvi je mogao da izleči svaku bolest. Za njega su znali u svim okolnim selima. 

Drugi je imao moć da oseti kada se bolest približi nekoj kući i upozoravao je ukućane. Za njega su znali svi seljani. Treći 

je imao moć da bolest otera i pre nego što se približi selu.Za njega nije znao niko!

QC

QA

Poka-yoke(ポカヨケ )

Sprečiti grešku

Otkriti grešku

na kraju izrade komponente ili celog

proizvodau svim fazama

proizvodnog ciklusa

Page 20: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Software Quality Assurance

● Za kvalitet proizvoda nije zadužen samo QA tim● Svaki učesnik u proizvodnji je odgovoran da proveri

kvalitet na svom nivou● QA tim se stara da svi sprovode ove provere● QA inženjer nije isto što i tester● QA inženjer analizira korisničke zahteve i dizajn-

specifikacije, priprema testnu dokumentaciju, procedure, planove i piše testove

● Tester izvršava testove, prijavljuje otkrivene greške i pomaže developer-ima da pronadju uzroke

Page 21: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Tok projektne dokumentacijeKupac Biznis-analitičar Menadžer projekta QA timRazvojni tim

[Korisnički zahtevi] Izdvajanje ianaliza

zahteva

[SystemRequirementSpecification

(SRS)]

Katalogizacijazahteva

Planiranje isporuke

[RequirementsCatalog]

[Project Plan]Implementacija

[Paket]

Uvoz u alat zaupravljanje QA

[Lista zahteva]

QA planiranje

[Test strategija]

Planiranjetestiranja

[Test plan]

ExploratoryTesting

[Test Cases / Test Sets]

System Testing

[Test Report]

Ponovnaanaliza

Page 22: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

QA dokumentacija● Test-strategija (Test Strategy)

– Predmet i granice testiranja

– Principi i standardi

– Proces i okruženja

– Alati i odgovornosti

● Test-plan (Test Plan)– Spisak korisničkih zahteva

– Opis testova (Test Cases)

– Scenariji testiranja (Test Sets)

● Izveštaj testiranja (Test Report)– Izvršeni testovi

– Otkriveni nedostaci (bugs, issues, defects)

Page 23: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Proces testiranjaD

evelo

pm

ent

en

vir

onm

ent

Inte

gra

tion T

est

ing

envir

onm

ent

Syst

em

Test

ing

en

vir

on

ment

Unit Testing

Link Testing

System Testing

code change

[Nedeljni Build]

[Paket]

[Stabilan Build] Pakovanje

[ PASSED ]

Developmentprocess

[ spremno zatestiranje ]

[ FAILED]

Nestabilan Build : [ FAILED ] [ PASSED ]

Smoke Testing

[ nepotpun paket ] Odbijen paket : [ kritična greška || nestabilna aplikacija ]

[ PASSED ]

DefectManagement

[ bug || issue ] [Ticket]

Odbijen paket : [ FAILED ]

Page 24: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Proces testiranjaPe

rform

ance

Test

ing

envir

on

ment

C

AT e

nvir

onm

ent

PerformanceTesting

CustomerAcceptance

Testing

Podešavanjesistema

[ strukturne promene]

[ nezadovoljavajućeperformanse ] [ zadovoljavajuće performanse ]

[CAT paket]

Release Notesdopuna

[ promene koje ne utiču na performanse ]

Odbijen paket : [ FAILED ]

DefectManagement

[Ticket] [ bug || issue ]

[ PASSED ]

Developmentprocess

Page 25: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Proces testiranja

● Ispravka jednog nedostatka može da prouzrokuje pojavu drugog nedostatka na komponenti koja je ranije uspešno prošla test

● U svakom ciklusu izrade, neophodno je ponoviti neke testove koji su ranije izvršavani

● Pri dobijanju paketa na testiranje radi se tzv. “Smoke” test da se proveri da li je proizvod dovoljno stabilan za kompletno testiranje

● Ukoliko je “Smoke” test uspešan, sprovodi se skup regresionih testova kako bi se otkrili nedostaci nastali na već testiranim delovima proizvoda

Page 26: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Uticaj otkrivenih nedostataka

● Nemaju svi nedostaci isti uticaj na proizvod– Kritični (Critical, Showstopper)

● Njihov uticaj je toliki da onemogućavaju dalje testiranje ili su eventualni poslovni gubici nastali upotrebom proizvoda toliki da se ne sme dozvoliti njegovo korišćenje

– Ozbiljni (High)● Ne sprečavaju dalje testiranje ali bi se trebali otkloniti pre nego

što se proizvod pusti na produkciju

– Srednji (Medium)● Proizvod se može koristiti ali neke funkcionalnosti moraju da se

zaobidju ili se delovi proizvoda ne koriste optimalno

– Niski (Low)● “Kozmetički” nedostaci koji ne utiču na funkcionalnost

Page 27: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Okruženja(Environments)

● Razvojno okruženje (Development env.)

– Svaki programer održava svoje okruženje

– On je zadužen za Unit testiranje (“White-box” metoda)

● Integraciono okruženje (Development env.)

– Mesto gde se komponente različitih timova spajaju u jedinstven proizvod

– Razvojni timovi su zaduženi za Link/Integration testiranje

● Sistemsko okruženje (System Testing env.)

– Okruženje slično klijentskom na kome se radi završno testiranje pre isporuke naručiocu

– QA tim izvršava funkcionalne testove (“Black-box” metoda)

Page 28: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Okruženja(Environments)

● Okruženje za testiranje performansi (Performance)

– Okruženje što sličnije produkcionom klijentskom

– Specijalisti za ovu vrstu testiranja iz QA tima sprovode Performance/Stress/Load testiranje

● Klijentsko okruženje (Customer Acceptance Testing env.)

– Okruženje na kojem naručilac proverava da li je proizvod po željenim specifikacijama

– Klijentski QA tim uz podršku proizvodjačevog QA tima vrši CAT testiranje

● Produkciono okruženje (Production env.)

– Klijentsko okruženje na kojem proizvod koristi naručioc ili njegovi korisnici

– QA tim vrši Deployment Verification testiranje tokom instalacije

Page 29: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Upravljanje nedostacima(Defects Management)

Tester Vodja QA tima Vodja razvojnog tima Developer

prijavinedostatak

Analizauticaja

[ODBIJEN]

[ nije nedostatak ]

[DUPLIKAT]

[ već prijavljen ]

Analizauticaja

[ nedostatak ]

[ nije nedostatak ]

Aanalizauticaja

[ nije nedostatak ]

[OTVOREN]

[ nedostatak ]

[ nedostatak ]

[OTVOREN]

Sledeći ciklus

[ZATVOREN]

Sledeći ciklus

[ZATVOREN]

Page 30: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Upravljanje nedostacima(Defects Management)

Tester Vodja QA tima Vodja razvojnog tima Developer

IspravljanjeDodela

[ZA TESTIRANJE]Evidencija

DodelaPonovnotestiranje

Evidencija

[OTVOREN]

[ Failed ]

[SPAKOVAN]

[ Passed ]

Analiza

Ponovnaanaliza

[ protiv ]

[ nije nedostatak ]

[ nedostatak ]

[ saglasan ]

Sledeći ciklus

[OTVOREN]

Page 31: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Indikatori stanja(KPI - Key Performance Indicators)

vreme

ukup

an b

roj n

edos

tata

ka

prijavljeni

rešeni

Page 32: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Indikatori stanja(KPI - Key Performance Indicators)

vreme

ukup

an b

roj n

edos

tata

ka

prijavljeni

rešeni

kvalitet opada

Page 33: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Indikatori stanja(KPI - Key Performance Indicators)

vreme

ukup

an b

roj n

edos

tata

ka

prijavljeni

reše

nikvalitet stagnira

Page 34: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Indikatori stanja(KPI - Key Performance Indicators)

vreme

ukup

an b

roj n

edos

tata

ka

prijavljeni

reše

nikvalitet raste

Page 35: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Pokrivenost regresionim testovima

● Ne postoji softver bez nedostataka!● Kako pokriti što više konfiguracija?

Page 36: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Pokrivenost regresionim testovima

Prioritizing Dynamic Prioritizing “Shotgunning” “Railroading”

● “Istraživačko testiranje” (Exploratory Testing)● Strategije ponavljanja

Page 37: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Automatski testovi

● Pokušaj uštede vremena i resursa● Opasnost zanemarivanja potrebe za održavanjem

Page 38: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Automatski testovi

● Pokušaj uštede vremena i resursa● Opasnost zanemarivanja potrebe za održavanjem

Page 39: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

QA alati

● Sistem za upravljanje dokumentima(Document Management System)

– Alfresco, EMC Documentum

● Sistem za upravljanje korisničkim zahtevima(Requirements Management System)

– IBM Rational DOORS

● Sistem za upravljanje nedostacima(Defect Management System)

– Atlassian JIRA

● Sistem za upravljanje kvalitetom(Quality Management System)

– HP Quality Center, Test Link

Page 40: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

QA alati

● Sistem za upravljanje projektima(Project Management System)

– MS Projects, Trello, RedMine

● Alati za automatsko testiranje– HP QTP, Test Complete, Fitness

● Alati za testiranje performansi– Apache JMeter, HP LoadRunner

● Office alati– Open/Libre Office, MS Office

Page 41: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

Zapamtite!

Misija QA tima nijeda spreči isporukusoftvera sa nedostacima,već da se postara daproizvod zadovoljavapotrebe korisnika uzšto manje nedostataka

Page 42: UPRAVLJANJE KVALITETOM SOFTVERSKIH PROIZVODA · Sistem za upravljanje dokumentima (Document Management System) – Alfresco, EMC Documentum Sistem za upravljanje korisničkim zahtevima

UPRAVLJANJE UPRAVLJANJE KVALITETOM KVALITETOM

SOFTVERSKIH SOFTVERSKIH PROIZVODAPROIZVODA

Aleksandar Jovičić[email protected]