0% found this document useful (0 votes)
9 views

Lecture 1

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Lecture 1

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Advanced Software Quality Assurance

Lecture 1
Dr. Isma Hamid
Department of Computer Science
National Textile University, Faisalabad, Pakistan.
Course Information

• Course Code:
SEC-5073
• Course Name
Advanced Software Quality Assurance
• Course Objective:
The objective of the course is to make students aware about
Software Quality Assurance and testing since many jobs and
opportunities are available in this area. The course covers
both technical foundations and tools, as well as managerial
and organizational aspects.

2
Course Learning Objectives

– Understand how to detect, classify, prevent and remove


defects
– Understand how to conduct formal inspections, record and
evaluate results of inspections.
– Know how to choose which metrics to collect and use
them to make predictions
– Choose appropriate testing strategies and develop test
cases
– Be able to use Z to formally specify a system and write
proofs for algorithms

3
Instructor’s Information
• Dr. Isma Hamid
• Professional Education
– PHD in Computer Science (2017)
Chongqing University of posts and Telecommunications, China.
– MS (SE) (2008)
University of Agriculture, Faisalabad.
– BS (CS) (2006)
University of Agriculture, Faisalabad.
Instructor’s Information
• Professional Experience
• Working as Assistant Professor (27 th September 2018 to Current)
College of Computer Science and Information Technology, Department of Computer Science, National Textile
University, Faisalabad, Pakistan.

• Working as Assistant Professor (March 1 st to September ,2018)


College of Computer Science and Information Technology, Department of Computer Science, Government
College Women University Faisalabad, Pakistan.

• Worked as Lecturer (June 7, 2013 to September 8, 2014)


College of Computer Science and Information Technology, Department of Software Engineering, Government
College University Faisalabad, Pakistan.

• Worked as Lecturer (August 1, 2009 to May 23, 2013)


Department of Computer Science, NFC Institute of Engineering and Fertilizer Research, Faisalabad, Pakistan.

• Worked as Lecturer (August 8, 2006 to July 14, 2009)


LaSalle High School, Faisalabad, Pakistan.
.
Marks Distribution (Tentative)

• Assignments & Quizzes 30%

• Mid Exam 30%

• Final 40%

Attendance policy of university will be followed, i.e. 75%


Any Questions?

6
Books and Reading Materials
• Relevant Material will be provided as Slides and Notes.
• Course Books
– Software Quality Engineering: Testing, Quality Assurance, and
Quantifiable Improvement, Jeff Tian, Wiley-IEEE Computer Society
Press, 1 st Edition, 2005(or Latest Edition).
– “Mastering Software Quality Assurance: Best Practices, Tools and
Techniques for Software Developers”, Murali Chemuturi, J. Ross
Publishing, 2010 (or Latest Edition).
– Software Quality Analysis and Guidelines for success, Capers Jones,
International Thomson Computer Press. (Latest Edition)

7
General Course Objectives:
• This course is a study of the following topics:
• Quality Assurance,
• Defect Prevention and Removal,
• Testing techniques,
• Inspections,
• Formal specification and verification methods,
• Quality Improvement

8
Lecture 1

Introduction to Software Quality Assurance

9
What is Quality

• Conformance to requirements both explicit and


implicit
• Implicit and Explicit Requirements
 Think of a car:
 Explicit requirements are the efficiency of engine, number of doors , colors etc.
(user based view)
 Implicit requirements include the standards to which the car has been built
(manufacturing view)

• A characteristic or attribute of something

10
Software Quality

• Qualitative software is reasonably bug-free,


delivered on time and within budget , meet
requirements and / or expectations , and is
maintainable.

11
Some Principles of Quality

• Perfect software is a false goal. The aim is to


achieve acceptable quality within the resource
constraints.

• A quality software process will lead to a quality


software product (ISO 9000 philosophy)

12
Software Quality Assurance

• Software Quality Assurance involves the entire


software development process.

• Monitoring and improving the process


• Making sure that any agreed-upon standards and
procedures are followed.
• Ensuring that problems are found and dealt with.
• It is oriented to ‘prevention’.

13
Software Quality Assurance (Cont…..)

• Software Quality Assurance (SQA) is defined as


a planned and systematic approach to the
evaluation of the quality of and adherence to
software product standards , processes, and
procedures.

14
Software Quality
• Conformance to explicitly stated functional and
performance requirements, explicitly documented
standards , and implicit characteristics that are expected
of all professionally developed software.
• Thus in the above definition , There are important points:

1. Quality will be measured with software requirements i.e. lack of confidence to these
requirements will mean lack of quality.

2. Specified standards define a set of development criteria that guide the manner in
which software is engineered. If the criteria are not followed , lack of quality will
result .

3. Set of implicit requirements e.g., good maintainability must still be followed . If these
are not met, software quality is suspect.

15
Note: Software quality is thus a mix of factors that will
vary across different applications and different customer.
We have two sections:

1. Identification of Software Quality Factors


2. Human activities required to achieve them
Cost of Quality

• Cost of quality includes all costs incurred in the


pursuit of quality or in performing quality related
activities.

• Quality cost may be divided into costs associated


with prevention, appraisal and failure.
Cost of Quality (Cont…)
• Prevention Cost
– Quality Planning
– Formal Technical Reviews
– Testing Equipment
– Training

• Appraisal Cost
– In-Process and interposes inspection
– Equipment calibration and maintenance
– Testing
Cost of Quality (Cont….)
• Internal Failure Costs: are the cost incurred when we detect errors
or defect in our product prior to shipment. Internal costs include:
• Rework
• Repair
• Failure mode analysis
• External failure costs: are associated with defects found after the
product has been shipped to the customer e.g.,
• Compliant resolution
• Product return and replacement
• Helpline Support
• Warranty Work

• Note: Cost to find and repair a defect increased as we go from


prevention to detection and from internal to external failure
Software Quality Factors
• McCall propose a categorization which focuses on
three important aspects of a software product .

– Product Operation: a software’s product operational


characteristics

– Product Revision: its ability to undergo change

– Product Transition: its adaptability to new environments.


Software Quality Factors (Cont…)
• Product Operations
– Correctness:
• The extent to which a program satisfies its specification and fulfils
the mission objectives.
– Reliability:
• The extent to which a program can be expected to perform its
intended functions required precision.
– Efficiency:
• The amount of computing resources and code required by a program
to perform a function.
– Integrity:
• The extent to which access to s/w or data by unauthorized persons
can be controlled.
– Usability:
• The effort required to learn , operate , prepare and interpret output
Software Quality Factors
• 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 I perform its
intended function.
Software Quality Factors (Cont…)

• Product Transition
– Portability:
• The effort required to transfer the program from one
H/W and or S/W system environment to another.
– Reusability:
• The extent to which a program (or a part of a program)
can be reused in other applications-related to the
packaging and scope of the functions that the program
performed.
– Interoperability:
• The effort required to couple one system to another.
24
SQA Major Activities

• SQA is a “planned and systematic pattern of actions” that are required


to ensure quality in software.

• SQA Activities:
Seven activities related to SQA .
– Application of technical methods:
• SQA begins with a set of technical methods and tools that help the analyst to achieve a high quality
specification and a designer to develop a high quality design.

25
SQA Major Activities (Cont…..)

• Conduct of formal Technical Review:


– Activity that accomplish quality assessment for the
specification and the design. A FTR is a stylized meeting
conducting by the technical staff with the sole purpose of
uncovering quality problems.
• Testing of Software:
– Combine a multi step strategy with a series of test case design
methods that help ensure effective error detection .
• Enforcement of Standards:
– Degree in which this is applied varies from company to company.
In many cases, standards are dictated by customers or regulatory
mandates. In other situations, standards are self-imposed.

26
SQA Major Activities (Cont…..)
• Control of Change:
– Every change to s/w has the potential of introducing errors or creating
side effects that propagate errors. The change control process thus
contributing directly to s/w quality by formalizing requests for change ,
evaluating the nature of change , and controlling impact of change .
• Measurement :
– Track SQ and assess the impact of methodological and procedural
change on improved s/w quality.
• Record Keeping and recording:
– Collection and dissemination of SQA information . The results of
reviews, change control , testing and other SQA activities must become
part of a historical record for a project and should be disseminated to
the development staff on a need to know basis.

27

You might also like