Ooad Unit 5
Ooad Unit 5
Ooad Unit 5
DESIGN
CS3C015
UNIT- 5
Object Oriented Testing, Types of Testing, Quality Assurance
Methods, Reusability, Reverse Engineering, Case Studies.
OBJECT ORIENTED TESTING
2. Inheritance
3. Polymorphism
Tested Subsystem
Subsystem Unit
Code Test
All tests by developer
Cf. levels of testing
TESTING ACTIVITIES CONTINUED
Client’s
Global Understanding User
Requirements of Requirements Environment
Usable
Tests by client System
Tests by developer
User’s understanding
System in
Use
Tests (?) by user
NOTE:-
READ ALL THE TESTING EXPLAINED IN TESTING
ACTIVITY
DEVELOPING TEST CASES
1. It should be explicitly specified with each test case
which class it should test.
2. Purpose of each test case should be mentioned.
3. External conditions that should exist while conducting
a test should be clearly stated.
4. All the states of objects that is to be tested should be
specified.
5. Instructions to understand and conduct the test cases
should be provided with each test case.
VERIFICATION AND VALIDATION
VERIFICATION
Quality assurance comes under verification testing. Quality control comes under validation testing.
The execution of code does not happen in the In validation testing, the execution of code happens.
verification testing.
In verification testing, we can find the bugs early in the In the validation testing, we can find those bugs, which
development phase of the product. are not caught in the verification process.
Verification testing is executed by the Quality Validation testing is executed by the testing team to
assurance team to make sure that the product is test the application.
developed according to customers' requirements.
Verification is done before the validation testing. After verification testing, validation testing takes
place.
In this type of testing, we can verify that the inputs In this type of testing, we can validate that the user
follow the outputs or not. accepts the product or not.
SOFTWARE QUALITY
18
SOFTWARE QUALITY
• Software quality is defined as conformance to explicitly stated
functional and performance requirements, explicitly
documented development standards, and implicit
characteristics that are expected of all professionally
developed software.
• “In the context of software engineering, software quality
measures how well the software is designed (quality of
design), and how well the software conforms to that design
(quality of conformance). It is often described as the ‘fitness
for purpose’ of a piece of software.”
19
SOFTWARE QUALITY
Example: Consider a functionally correct software
product. That is, it performs all tasks as specified in the
SRS document. But, has an almost unusable user
interface. Even though it may be functionally right, we
cannot consider it to be a quality product.
SOFTWARE QUALITY
It emphasize three points
1. Software requirements are the foundation from which
quality is measured.
2. Specified standards define a set of development
criteria.
3. Set of implicit requirement.
MCCALL’S QUALITY FACTORS(11)
PRODUCT OPERATION
Correctness : The extent to which a program satisfies its
specification and fulfils the customers mission objectives
Reliability : The extent to which a program can be
expected to perform its intended function with required
precision
Usability : The effort required to learn , operate , prepare
input for and interpret output of a program
Integrity : The extent to which access to software or
data by unauthorized person can be controlled
Efficiency : The amount of computing resources and
code required by a program to perform its function.
PRODUCT REVISION
Maintainability : The effort required to locate and fix an
error in a program
Flexibility : The effort required to modify an operational
program
Testability : The effort required to test a program to
ensure that it performs its intended function
PRODUCT TRANSITION
Portability : The effort required to transfer the program
from one hardware and/or software system environment
to another
Reusability : The extent to which a program can be
reused in other application related to the packaging and
scope of the functions that the program performs
Interoperability : The effort required to couple one
system to another
ASSURANCE
Assurance is nothing but a positive declaration on a
product or service, which gives confidence. It is certainty
of a product or a service, which it will work well. It
provides a guarantee that the product will work without
any problems as per the expectations or requirements.
SOFTWARE QUALITY ASSURANCE(SQA)
27
SQA
• SQA encompasses:
– A quality management approach
– Effective software engineering technology
– Formal technical reviews
– Multi-tier testing strategy
– Control of software documentation and the changes
made to it
– A procedure to ensure compliance with software
development standards
– Measurement and reporting mechanism
HOW TO DO QUALITY ASSURANCE:
1. Plan
2. Do
3. Check
4. Act
HOW TO DO QUALITY ASSURANCE:
Plan – Organization should plan and establish the
process related objectives and determine the processes
that are required to deliver a high-Quality end product.
Do – Development and testing of Processes and also
“do” changes in the processes
Check – Monitoring of processes, modify the processes,
and check whether it meets the predetermined objectives
Act – A Quality Assurance tester should implement
actions that are necessary to achieve improvements in
the processes
QUALITY ASSURANCE VS. QUALITY
CONTROL
Quality Assurance Quality Control
Quality Assurance (QA) is the set of actions including facilitation, training, Quality Control (QC) is described as the processes and methods used to
measurement, and analysis needed to provide adequate confidence that compare product quality to requirements and applicable standards, and the
processes are established and continuously improved to produce products or actions are taken when a nonconformance is detected.
services that conform to specifications and are fit for use.
QA is an activity that establishes and calculates the processes that produce the QC is an activity that demonstrates whether or not the product produced met
product. If there is no process, there is no role for QA. standards.
QA sets up a measurement program to evaluate processes QC verified whether particular attributes exist, or do not exist, in a explicit
product or service.
QA identifies weakness in processes and improves them QC identifies defects for the primary goals of correcting errors.
Reliability
Usability
Efficiency
Maintainability
Portability
BENEFITS OF SQA
SQA produce high quality software.
High quality application saves time and cost.