rvv test og... ·  · 2014-11-06• captured in uml deployment diagram, which is a ‘design...

21
RVV Requirements Verification Validation

Upload: trinhdan

Post on 25-Mar-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

RVV

Requirements

Verification

Validation

Page 2: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Requirements

References:

• http://en.wikipedia.org/wiki/Requirement with sub-links

Page 3: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Requirements-types

• Business requirements describe in business terms what must be delivered or accomplished to provide value. (not an issue here)

• Product requirements describe properties of a system or product (which could be one of several ways to accomplish a set of business requirements.)

• Process requirements describe activities performed by the developing organization. For instance, process requirements could specify specific methodologies that must be followed, and constraints that the organization must obey. (not an issue here)

Page 4: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Product Requirements-categories

• Architectural requirements describe what must be done by identifying the necessary system architecture of a system.

• Functional requirements describe the functionality that the system is to execute. They are sometimes known as capabilities. ->

• Non-functional requirements describe characteristics of the system that the user cannot affect or (immediately) perceive. Nonfunctional requirements are sometimes known as quality requirements or usability requirements. ->

Page 5: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Architectural requirements

• Extracted from the project description – some times called the system definition –or other preliminary documents

• Captured in UML deployment diagram, which is a ‘design thing’. – UML nodes, components, communication etc.

• Parts – Hardware architecture refers to the identification of a system's

physical components and their interrelationships • UML nodes

– “Software architecture of a program or computing system is the structure or structures of the system, which comprise

• software components • the externally visible properties of those components, and • the relationships among them.” /Bass, Clements and Kazman, 1997 • UML components

Page 6: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Functional requirements

• Also Extracted from the project description – some times called the system definition –or other preliminary documents

• Captured in UML use case diagrams after gathering and validating a set of functional requirements. – Each use case illustrates specific behavioral scenarios

through one or more functional requirements. – Validated based on prototypes – Documented in UML activity diagrams and/or text – Test vectors are generated to be used in VV

Page 7: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Non-functional requirements

• Qualities of a system

• Specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. – Typically defined in design criteria

– Functional requirements define what a system is supposed to do whereas non-functional requirements define how a system is supposed to be.

Page 8: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Non-functional requirements-categories

1. Execution qualities • such as security, usability, which are observable at run

time.

2. Evolution qualities • such as testability, maintainability, extensibility and

scalability, which are embodied in the static structure of the software system.

Page 9: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Verification & Validation

Verification: • "Are we building the product right”. • The software should conform to its specification. • Goal: Product quality Validation: • "Are we building the right product”. • The software should do what the user really • requires. • Goal: User satisfaction

Page 10: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Verification & Validation

Page 11: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Verification of Requirements

Page 12: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Verification Are we building the product right?

References: http://en.wikipedia.org/wiki/Software_verification

Page 13: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Verification Static verification (dynamic

verification later) • Peer review is preferred strategy • Checking that software meets requirements by doing a

physical inspection like: – Formal code verification

• Carefully walk through the code • Tool: example

– Code conventions • Coding templates • Naming convention • Documentation style • Conform to component architecture • Conform to system architecture requirements

– Well defined boundaries (java interfaces) UML Example

– Best practices detection • anti-pattern .. spaghetti code • Don’t conform to agreed patterns.

– Example: Component with public visibilities not included in any java interfaces

Page 14: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

PMD • PMD - Programming Mistake Detector. (not Pakistan Meteorological Department !)

• Java source code analyzer that identifies potential problems. • PMD comes with rules to find potential problems such as:

– Unused local variables. Build-in Eclipse – Empty catch blocks – Unused parameters – Empty 'if' statements – Duplicate import statements – Unused private methods Build-in Eclipse – You can also add new rules to PMD.

• Typically, PMD errors are not true errors, but rather inefficient code, i.e. the application could still function properly even if they were not corrected.

• Tool: http://pmd.sourceforge.net/

• Ref: http://en.wikipedia.org/wiki/PMD_(software)

Page 15: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Verification Dynamic verification – using ‘button up’ test • Test in the small: a test that checks a single function or class (Unit

test) – main() operation in the class

• Test in the large: a test that checks a group of classes, such as – Module test (a single module)

• Internal test: Component white box test • External test- using component interface/Façade/Adapter/... eventually via a

jar version – Integration test (more than one module)

• Ex. a single node in the deployment diagram – System test (the entire system)

• Each Use case using test vectors. • Example ATM activity diagram in session 7. Java

• Acceptance test: a formal test defined to check acceptance criteria for a software – Continue after validation->

Page 17: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Validation test

• Ensures that any functional requirement has been met observed from user side

• It’s the system working functional correctly ? – Typically we stress the user interface to evaluate

all possible cases for usage • Hard work having prompted user interface !

• Using one or more mice?

• Using touch screen?

• ...

Page 18: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Acceptance Testing • A level of the software testing process where a system is tested

for acceptability.

or

• The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

• Acceptance Testing = Validation and Non-functional test)(performance, stress test)

• Black box testing.

Page 19: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

End

Page 20: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

Flow verification

• visustin.exe

• demo

private void compare() {

if(readAirTemperature()>readThresholdTemperature())

openWindow();

if(readAirTemperature()<(readThresholdTemperature()-2))

closeWindow();

}

Page 21: RVV test og... ·  · 2014-11-06• Captured in UML deployment diagram, which is a ‘design thing’. ... • Ex. a single node in the deployment diagram – System test ... •

UML Example Deployment diagram

Class diagram