F5 Flashcards
Verification
The software should conform to its requirements specification.
– Are we building the product right?
Validation
The software should do what
the user really requires.
– Are we building the right product?
VALIDERING AV KRAV
– Att säkerställa att vi har eliciterat och dokumenterat rätt krav
– ”Kommer vi att bygga rätt system med dessa krav?”
validering av krav metoder
– Granskningar
– Tester
– Modellbaserad simulering
– Härledning med matematiska modeller
GRANSKNINGAR (INSPECTIONS)
– En systematisk utvärderingsteknik där dokument undersöks manuellt av andra än författaren för att detektera defekter
• Generellamålmedgranskningar:
– Detektera defekter
– Sprida kunskap inom projektet
– Fatta beslut baserat på granskningsdata – Dra lärdomar av granskningsdata
GRANSKNINGS- PROCESSEN
planning - preparation - inspection meeting - correction - follow up
OLIKA SÄTT ATT DETEKTERA FEL (READING TECHNIQUES)
• Adhoc – Efter bästa förmåga (inga riktlinjer) • Checklista – En lista med frågor styr läsningen • Perspektivbaserad – Olika perspektiv kombineras tex användare, designers, testare – Utgå från användningsfall • N-faldig – N-foldinspectionärenvariantavinspektionerdärmananvänder sig av flera lag med olika individer för att hitta defekter.
EXPERIENCES reviews
- average number of hours per found error
- number of errors found per review unit (e.g. page of design)
- efficiency: reviews are 2-10 times more efficient than tests • reviews take time: 4-15% of a project’s resources
- can we motivate this
- reviews improve the quality
- reviews improve the productivity
- example: error in deployment costs $10.000 - which can pay for many hours of review
- Reviews can replace testing
KRAVVALIDERING GENOM
OLIKA TESTER
– Manuell ”simulering” (walk-through) baserad på scenarios/use cases/task descriptions – Pappersprototyper – Exekverbara prototyper – Pilottester
Checking and validation
Check that all parts match & everything is included Validate that stakeholders are happy (customer, user, developer) Where are the major risks? Quality product = meeting the spec?
Classic: A good requirement spec is:
Correct Each requirement reflects a need. Complete All necessary requirements included. Unambiguous All parties agree on meaning. Consistent All parts match, e.g. E/R and event list. Ranked for importance and stability Priority and expected changes per requirement. Modifiable Easy to change, maintaining consistency. Verifiable Possible to see whether requirement is met. Traceable To goals/purposes, to design/code. Additional: Traceable from goals to requirements. Understandable by customer and developer.
Contents check
Does the spec contain:
• Customer, sponsor, background
• Business goals + evidence of tracing
• Data requirements
(database, i/o formats, comm.state, initialize)
• System boundaries & interfaces
• Domain-level reqs (events & tasks)
• Product-level reqs (events & features)
• Design-level reqs (prototype or comm. protocol)
• Specification of non-trivial functions
• Stress cases & special events & task failures
• Quality reqs (performance, usability, security . . .)
• Other deliverables (documentation, training . . .)
• Glossary (definition of domain terms . . .)
Consistency checks
virtual window tasks E/Rmodel 1 VW 2 eventlist function list
CRUD matrix
Create, Read, Update, Delete + Overview
testing
Testing is the process in which a (probably unfinished) program is executed with the goal to find errors.