Systems Validation & Verification, Quality and Standards

advertisement
Systems Validation &
Verification, Quality and
Standards (CSE4431)
Dr Sita Ramakrishnan
School CSSE
Monash University
1
Systems Validation & Verification,
Quality and Standards (CSE4431)
Topics:
Building a Software Testing Environment
Establishing a Testing Policy
Building a software testing strategy
Establishing a software testing method
incorporating testing strategy & testing
tactics
Include test plans, test criteria, testing techniques
and testing tools used in the V&V of SDLC as part
of the Testing tactics
© S Ramakrishnan
2
Building a Software Testing
Environment
Establishing a Testing Policy:
Testing software systems is an organisational
issue - not just a project or departmental concern
in order to meet the organisational needs• cope with technology entrenchment -e.g. stock markets’
core business or airlines booking system
• cope with technology proliferation - multiple users on
different platforms - interoperability issues
• interconnected systems with common data - error in one
affects the other
• Develop a test policy under IT departmental direction,
but ensure that it also captures the organisational
requirements© S Ramakrishnan
3
Establishing a Testing Policy
Software testing is an infrastructure technology or
“infratechnology”. Infratechnologies are technical
tools to measure conformance, performance, and
interoperability during SD, and including scientific
& engineering data, metrics, test methods, best
practices & techniques widely used in the industry
(NIST Report quoting Tassey, 1997 - The Economics of R & D
Policy, Westport, CT: Quorum Books)
Software testing infratechnologies also provide
critical information about software quality to the
software user
© S Ramakrishnan
4
Establishing a Testing Policy
Effective/ adequate testing must be done by a test team IT testers, quality control, QA & inspectors
Inadequate testing and impact on software industry due to
the lack of (use of) robust standardized test technology
(such as reference data & metrics in spite of stds for test
doc. & V& V activities (IEEE/ANSI 1993) and Carnegie
Mellon’s CMM model) to address
•
•
•
•
interoperability & integration testing
automated generation of test code
lack of readily available test measurement procedures
lack of a good method to tell when to stop testing &
release a product, and results in:
• increased failures & defects due to poor quality software
• increased time to market due to inefficient testing
• increased software development costs
© S Ramakrishnan
5
Establishing a Testing Policy
Establishing a testing policy involves setting up
clear policy by the IT management and signing off
that they endorse the policy, and communicating
to the IT dept that they will enforce the regime
(Perry 2000).
A Testing policy involves setting the criteria to be
followed such as:
•
•
•
•
A clear and concise definition of Testing
Test method to be followed
Evaluation criteria - metric costs for undetected defects
Standards against which testing will be measured
© S Ramakrishnan
6
Establishing a Testing Policy,
Skills set of Test Engineers
A Structured Organisational wide Testing policy
needs to be cognizant of the test maturity of the
organisation (revisit this later)
Also look at Quality Assurance Institute’s Common
Body of Knowledge (CBOK) for certified software
test engineer (CSTE) later in the semester - show
your competencies against the skill categories
needed to become CSTE
© S Ramakrishnan
7
Building a software testing
strategy
The recommended test process involves testing in each phase of SDLC
Plan Acceptance Tests
Requirements
Acceptance
Testing
Plan System Tests
Specification
System Testing
Plan Integration Tests
Design
Integration
Testing
Plan Unit Tests
Implementation
Software
Development
& Test
Model -
Unit Testing
V-Model
© S Ramakrishnan
8
Building a software testing
strategy
The recommended test process involves the
following testing activities appropriate to that
phase of SDLC:
• analyse the structures produced for adequacy (of
requirements, design, coding as appropriate) and for
testability
• generate test data (functional &/or structural) based on
the structure at this phase
• determine structures are consistent with the structures
produced in the previous phase
• Refine test data as required
© S Ramakrishnan
9
Establishing a software
testing method
Testing method incorporating testing strategy &
testing tactics
© S Ramakrishnan
10
Testing Tactics
Include test plans, test criteria, testing techniques
and testing tools used in the V&V of SDLC as part
of the Testing tactics
 (more to come ……)
© S Ramakrishnan
11
Download