1 Software Quality Assurance Prof. Erwin M. Globio, MSIT Senior IT Lecturer
Dec 14, 2014
1
Software Quality Assurance
Prof. Erwin M. Globio, MSIT
Senior IT Lecturer
2
Software Quality
•Quality software is reasonably bug-free
•delivered on time
•within budget
•meets requirements and/or expectations
•maintainable.
3
Software Quality
• Conformance to explicitly stated functional
and performance requirements
• explicitly documented development
standards
• implicit characteristics that are expected of
all professionally developed software.
4
Software Quality
Emphasis:
1. Software requirements are the foundation from which quality is measured.
2. Specified standards define a set of development criteria that guide the manner in which software is engineered.
3. There is a set of implicit requirements that often goes unmentioned.
5
Categories of software quality factors
1. Factors that can be directly measured (e.g. errors)
2. Factors that can be measured indirectly (e.g. usability)
6
McCall Software Quality Factors
Product Operations
Product Revisions
Product Transition
7
Product Operations
Correctness (Does it do what I want?)
Reliability (Does it do it accurately all of the
item?)
Efficiency (Will it run on my hardware as well
as it can?)
Integrity (Is it secure?)
Usability (Can I run it?)
8
Product Revisions
Maintainability (Can I fix it?)
Flexibility (Can I change it?)
Testability (Can I test it?)
9
Product Transition
Portability (Will I be able to use if on
another machine?)
Reusability (Will I be able to reuse some
of the software?)
Interoperability (Will I be able to interface
it with another system?)
10
Metrics that affect the quality factor
• Auditability • Accuracy• Communication
commonality• Completeness• Concisenes.• Data commonality• Consistency• Error Tolerance.• Execution efficiency.• Expandability.• Generality
• Hardware Independence
• Instrumentation.• Modularity.• Operatibility.• Security• Self-documentation.• Simplicity.• Software system
independence.• Traceability.• Training.
11
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, and ensuring that problems are found and dealt with.
It is oriented to 'prevention'.
12
SQA encompasses:
• analysis, design, coding and testing methods
and tools
• formal technical reviews that are applied during
each software engineering step
• a multitiered testing strategy
• control of software documentation and the
changes made to it
• a procedure to assure compliance with software
development standards
• measurement and reporting mechanisms.
13
Reasons Why Software Have Bugs
miscommunication or no communication
software complexity
programming errors
changing requirements
time pressures
egos
poorly documented code
software development tools
14
SQA Approaches
1. Verification and Validation
2. Walkthrough
3. Inspection
15
Common Problems in Software Development Process
poor requirements
unrealistic schedules
inadequate testing
featuritis
miscommunication
16
Common Solutions to Software Development Process Problems
solid requirements
realistic schedules
adequate testing stick to initial
requirements as much as possible
communication
tools
17
SQA Activities
Application of technical methods.
Conduct of formal technical reviews..
Testing of software..
Enforcement of Standards..
Control of change.
Measurement.
Recordkeeping and reporting.
18
Good Code
a code that works, is bug free, and is
readable and maintainable
It should be kept in mind that excessive
use of standards and rules can stifle
productivity and creativity
19
Good Design
• clear
• understandable
• easily modifiable and maintainable
• is robust with sufficient error-handling and
status logging capability
• works correctly when implemented
Good internal design is indicated by software
code whose overall structure is:
20
Good Design
Good functional design is indicated by an
application whose functionality can be traced
back to customer and end-user requirements.
21
Good User-Interface
• the program should act in a way that least surprises the user
• it should always be evident to the user what can be done next and how to exit
• the program shouldn't let the users do something stupid without warning them
Useful Websites
22
http://erwinglobio.wix.com/ittraining
http://ittrainingsolutions.webs.com/
http://erwinglobio.sulit.com.ph/
For your IT Training needs
23
Prof. Erwin M. Globio, MSITIT Training SpecialistMobile Number: 09393741359
09323956678Email Address: [email protected] Id: erwinglobio