Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)
Transcript of Nujnost odličnih specifikacij in kako jih zapisati (Miloš Cigoj, NTK 2016)
Nujnost odličnih specifikacij in kako jih zapisati Miloš Cigoj vodja kakovosti Parsek d.o.o.
Kdo sem
QA Manager
17+ let v IT
Desk // Web // Mobile
@CigojMilos
Parsek d.o.o.
16+ let v IT
Enterprise solutions for HC, Insurance, Telco etc.
@parseksolutions
Agenda
• značilnosti dobre zahteve
• najpogostejše napake
• tehnike pisanja
• orodja za upravljanje z zahtevami
Značilnosti dobre zahteve
Najpogostejše napake
Opustitve
• pomembna dejstva povezana s problemsko domeno niso del funkcijske specifikacije
• avtorji pogosto predpostavljajo, da so določene informacije ali znanja samoumevna, zato jih ne zapišejo
Dvoumnosti
• zapisana dejstva imajo več možnih interpretaciji
• negativni pogoji, robni primeri, sinonimi, zaimki, okrajšave, prislovi
Neusklajenost
• zaheteva je neusklajena z drugimi zahtevami v specifikacijah ali z drugimi dokumenti, ki opisujejo problemsko domeno
Odvečnosti
• vsebina funkcijske specifikacije, ki se ne nanaša na problemsko domeno ali pa ne prispeva k reševanju problemske domene
Nepravilnosti
• nekatere zahteve so nepravilne glede na problemsko domeno
Ne izvedljivost
• nekatere zahteve so ne izvedljive zaradi omejitev sistema, okolja, človeških in ostalih virov, omejitev tehnologije, …
Neprimerne omejitve
• zahteve osredotočene na kako ne pa na kaj naj sistem počne so pogosto nepotrebne omejitve
• zahteve morajo praviloma definirati vidike, ki so preverljivi od „zunaj“
Ne preverljivost
• posamezne zahteve morajo podpirati rešitev konkretne potrebe uporabnika in zato morajo biti preverljive
• zahteve brez pogojev sprejemljivosti oziroma z zelo subjektivnimi pogoji vodijo v nepravilno izvedbo
Tehnike pisanja
?
„esejski tip“
IEEE-***
Use Case
User Story
Zgodbe | Use Cases | Zahteve
Esejski tip
• prednosti • prilagodljiv
• svoboden
• slabosti • podvržen prav vsem težavam
• pozno odkrivanje napak v specifikaciji
830-1998-IEEE Recommended Practice for SRS
• prednosti • natančno definirana struktura
• slabosti • dolgočasen
• zamegljeni cilji
• ne osredotočenost
• pozno odkrivanje napak
Use Cases
• prednosti • zajem vseh scenarijev
• osredotočen na uporabnika
• dekompozicija
• ojačujejo identifikacijo
potreb
• slabosti • formaliziran -> omejitve
• pozno odkrivanje napak
• nerazumljiv deležnikom
User Story
• prednosti
• hitrejše odkrivanje težav v zahtevi
• interdisciplinarno pisanje
• Prioritizacija & fleksibilnost & planiranje
• osredotočena na uporabniški vidik
• slabosti
• obvezno sodelovanje naročnika ->dvoumnosti
• ne definiran standard uporabnosti
Zakaj Gherkin?
Ker
• smo pripravljeni za avtomatizacijo testiranja
• nas sili v konsistentnost pri pisanju
• testni primeri razumljivi in dosegljivi uporabniku
• "single source of truth"
Primer Feature: Adminsitrator want sot do something
Some terse yet descriptive text of what is desired
In order to realize a named business value
As an explicit system actor
I want to gain some beneficial outcome so that I can reach the goal
Background:
Given a global administrator named "Greg"
And a blog named "Greg's anti-tax rants"
And a customer named "Wilson"
And a blog named "Expensive Therapy" owned by "Wilson"
Scenario: Wilson posts to his own blog
Given I am logged in as Wilson
When I try to post to "Expensive Therapy"
Then I should see "Your article was published."
Scenario: Greg posts to a client's blog
Given I am logged in as Greg
When I try to post to "Expensive Therapy"
Then I should see "Your article was published."
Orodja
Orodja
Visual Studio Online
JIRA & Confluence
SpecLog
IBM Rational DOORS ipd
WORD/Excel
Pregled značilnosti orodji
Epic/Story/Task
metapodatki
Epic/Story/Task
Metapodatki
Epic/Story
metapodatki
Use Case
metapodatki
POVZETEK
značilnosti dobre zahteve
tehnike
orodja
Izpolnite anketo!
Vam je bilo predavanje všeč?
Ste se naučili kaj novega?
Vaše mnenje nam veliko pomeni!
Da bo NT konferenca prihodnje leto še boljša, vas prosimo, da izpolnite anketo o zadovoljstvu, ki jo najdete v svojem NTK spletnem profilu.
Please also see this short survey about new MSDN:
https://aka.ms/ntkdocssurvey