Define el concepto de Calidad, de Aseguramiento de la Calidad del Software (SQA) y sus componentes.
Explica el concepto de software, su complejidad
Convert to study materialsBETA
Transform any presentation into ready-made study materialselect from outputs like summaries, definitions, and practice questions.
1 of 56
Download to read offline
More Related Content
Software quality assurance (sqa) parte i -introduccion v3.0
1. Curso: Aseguramiento de la
Calidad del Software
Parte I - Introducci坦n
Prof. Renato R. Gonzalez Disla
Octubre del 2018
Version 3.0 Mayo 2019
2. Objetivos del Curso
Este curso discute t坦picos relacionados con el aseguramiento de
calidad y las pruebas de software.
Define el concepto de Calidad, de Aseguramiento de la Calidad del Software
(SQA) y sus componentes.
Explica el concepto de software, su complejidad y su m辿trica y establece los
diferentes modelos y atributos de calidad que rigen hoy en d鱈a la pr叩ctica de
SQA.
Estudia los fundamentos de las pruebas de software y la garant鱈a de calidad,
incluida la terminolog鱈a, las pr叩cticas de documentaci坦n, los procesos de
control y las diferentes metodolog鱈as y t辿cnicas de prueba.
Explica el papel del SQA Team, el tester y del inspector o asegurador de
calidad en el desarrollo de software y el ciclo de prueba.
2Curso SQA Prof. Renato R. Gonzalez D.
3. Objetivos del Curso
Este curso discute t坦picos relacionados con el aseguramiento de
calidad y las pruebas de software (Cont.)
Orienta la pr叩ctica de t辿cnicas creaci坦n de los casos de prueba y el examen de
modelos de desarrollo de prueba de verificaci坦n y validaci坦n del software.
Explora los procesos de prueba de software en una variedad de contextos de
la industria y las pr叩cticas de estudio aplicables a los entornos empresariales y
web.
Explorar la interacci坦n entre el aseguramiento de calidad y los procesos de
gesti坦n de la calidad y configuraci坦n del software.
3Curso SQA Prof. Renato R. Gonzalez D.
4. CONTENIDO
Tema 1: Introducci坦n
Tema 2: M辿tricas de Complejidad y Modelos de Calidad del Software
Tema 3: Plan de Calidad y Prueba del Software
Tema 4: Inspecciones y Revisiones
Tema 5: Validaci坦n de Software
Tema 6: Construcci坦n de Casos de Prueba
Tema 7: Verificaci坦n de Software
Tema 8: Procesos de Gesti坦n del Aseguramiento de la Calidad
An叩lisis de Requerimientos del Software-Parte I 4
5. Estrategias de ense単anza
Exposici坦n en clases de temas fundamentales de parte del profesor
Sesiones remotas con material de estudio colocado por el profesor
Pr叩cticas en grupos (tareas)
Exposiciones de temas por parte de los estudiantes
Examen de medio t辿rmino
Proyecto final en grupo
Talleres de Laboratorio sobre herramientas de software de gesti坦n de
requerimientos, especificaci坦n y configuraci坦n del software.
An叩lisis de Requerimientos del Software-Parte I 5
6. Evaluaci坦n
An叩lisis de Requerimientos del Software-Parte I 6
Evaluaci坦n
Estrategia Semanas o fecha Puntaje
Pr叩cticas Medio Termino (en equipo): tareas asignadas a
los estudiantes en el medio t辿rmino.
6 20
Examen Medio Termino 6 20
Proyecto final + Exposici坦n: trabajo en equipo para
demostrar la adquisici坦n de las competencias impartidas
durante el trimestre
11 40
Examen Final 11 20
Total Puntos Entrega de notas 12 100
7. Referencias Bibliogr叩ficas
Software Testing and Continuous
Quality Improvement, Second
Edition; William E. Lewis,
Gunasekaran Veerapillai, Technical
Contributor; AUERBACH
PUBLICATIONS, 2005.
Practical Guide to Software Quality
Management, Second Edition
by John W. Horch ISBN:1580535275
Artech House 息 2003.
Managing Software Quality and
Business Risk - Oct 29, 1999 by
Martyn A. Ould. Wiley
7Curso SQA Prof. Renato R. Gonzalez D.
8. Curso: Aseguramiento de la
Calidad del Software:
Parte I- Introducci坦n
Prof. Renato R. Gonzalez Disla
Mayo del 2017
9. Objetivos del Modulo
Define el concepto de
Calidad, de Aseguramiento
de la Calidad del Software
(SQA) y sus componentes.
Explica el concepto de
software, su complejidad y
su m辿trica y establece los
diferentes modelos y
atributos de calidad que
rigen hoy en d鱈a la pr叩ctica
de SQA.
10. What is Quality?
Quality in manufacturing, a measure of:
Excellence of products
A state of
being free from defects, deficiencies and significant
variations.
Consistent commitment to certain standards
that achieve uniformity of a product in order to satisfy
specific customer or user requirements.
10Curso SQA Prof. Renato R. Gonzalez D.
11. What is Quality?
ISO 8402-
1986 standard defines quality
as "the totality
of features and characteristics
of a product
or service that bears its ability
to satisfy stated or
implied needs."
http://www.businessdictionary.com/definition/quality
.html#ixzz3HJhsqwfG
11Curso SQA Prof. Renato R. Gonzalez D.
12. Quality of Conformance
Level
of effectiveness of
the design and product
ion functions in
affecting
the product manufactu
ring requirements and
process specifications,
while meeting process
control limits,
product tolerances,
and production targets
.
Product
Needs
Process
Capacity
Specifications
Design
Process
Control
Process to
Product
Conformance
Product
Quality
12
Curso SQA Prof. Renato R. Gonzalez D.
13. Cost of Quality
Cost of Poor Quality:
Disruption to
production
Time and resources
spent correcting
mistakes
Materials energy
wasted
Warranty claims
Poor customer
relations
Cost of Good Quality
Recovery costs
Market appraisal
13Curso SQA Prof. Renato R. Gonzalez D.
14. Cost of Quality
Prevention versus Detection
The total cost of effective quality
management is the sum of four
component
prevention, inspection, internal
failure, and external failure.
Prevention costs consist of
actions taken to prevent defects
from occurring in the first place.
Inspection costs consist of
measuring, evaluating, and
auditing products or services for
conformance to standards and
specifications.
Curso SQA Prof. Renato R. Gonzalez D. 14
15. Cost of Quality
Internal failure costs are those
incurred in fixing defective
products before they are
delivered.
External failure costs consist of
the costs of defects discovered
after the product has been
released.
Curso SQA Prof. Renato R. Gonzalez D. 15
16. Quality Management
Quality management ensures
that an organization, product
or service is consistent.
It has four main components:
quality planning, quality
control, quality assurance and
quality improvement.
Quality management is focused
not only on product and service
quality, but also the means to
achieve it (process and
resources).
16Curso SQA Prof. Renato R. Gonzalez D.
17. Quality Management
Questions Tools
Can we make it OK? Process capability analysis a
quality assurance
Are we making OK? Statistical Process Control
Have we made it Ok? Acceptance sampling
Could we make it better? Quality Continual Improvement
17Curso SQA Prof. Renato R. Gonzalez D.
18. Quality History
Quality and Craftsman
Industrial Revolution and mass production (XVII and XIX Centuries)
Taylor scientific management (1910)
Statistical Quality Control (SQC) W. Shewhart (1931)
Deming and Juran and the TCM (1946)
Quality Assurance (QA) NATO 1960
Reliability Engineering 1961
BS5750 and ISO 9000 1970
Quality Circle, Zero Defect, Total Quality Control (Ishikawa), continuous
quality improvement and Quality Engineering (Taguchi) 1960-1970
Curso SQA Prof. Renato R. Gonzalez D. 18
19. Quality Assurance (QA)
Quality Assurance (QA): In developing products
and services, quality assurance is any systematic
process of checking to see whether a product or
service being developed is meeting specified
requirements.
Quality Control (QC): Quality control is the
process by which product quality is compared
with applicable standards and the action taken
when nonconformance is detected.
19Curso SQA Prof. Renato R. Gonzalez D.
20. Quality Assurance (QA)
Auditing is the inspection/assessment
activity that verifies compliance with
plans, policies, and procedures.
ISO 9000 is an international standard
that many companies use to ensure
that their quality assurance system is
in place and effective.
Conformance to ISO 9000 is said to
guarantee that a company delivers
quality products and services.
20Curso SQA Prof. Renato R. Gonzalez D.
21. Quality Assurance (QA)
Continuous Improvement through the
Plan, Do, Check, Act Process (PDCA)
The control in quality control means
defining the objective of the job, developing
and carrying out a plan to meet that
objective, and checking to determine if the
anticipated results are achieved.
Continuous improvement is an ongoing
effort to improve products, services or
processes. These efforts can seek
incremental improvement over time or
breakthrough improvement all at once.
PDCA Deming is the most widely used tools
for continuous improvement.
Curso SQA Prof. Renato R. Gonzalez D. 21
22. Software Production
The production of software is
different from the production
of manufactured goods in
that the former is information
and knowledge intensive
while the latter is material
and energy intensive.
The process produces a
marketable software intangible
asset at a time as product and
service.
22Curso SQA Prof. Renato R. Gonzalez D.
Product
Needs
Process
Capacity
Product
Specifications
Product
Design
Process
Control
Process to
Product
Conformance
Product
Quality
23. What is Software?
SOFTWARE = PROGRAMS (Algorithms) +
DATA STRUCTURES + DOCUMENTATION
23Curso SQA Prof. Renato R. Gonzalez D.
24. What is Software?
Computer Programs: are
logical procedures or
algorithms implemented
using a programming
language in a specific
operating environment
(computer, operating
system, networking, etc.)
having as input data
(input) to produce new
information or action
(output).
24An叩lisis de Requerimientos del Software-Parte I
25. What is Software?
Data Structures: Are
logical relations of
data entities or object
implemented on a
data management
environment
(databases).
25An叩lisis de Requerimientos del Software-Parte I
26. What is Software?
Documentation is
divided in two types:
External: describing
specifications, functionality,
operation and management
software.
Internal: describing the
architecture of the software
system and the logical and
physical structure of
components, devices,
programs, algorithms and
data structures.
26An叩lisis de Requerimientos del Software-Parte I
27. Software Characteristic and Factors
Product Intangible: knowledge
intensive
Logic machine (process,
interfaces, input and output
are information)
Evolution and Innovation
based in Specifications
Ubiquitous product
Productivity Crisis
Complexity domains
An叩lisis de Requerimientos del Software-Parte I 27
28. Internal
Complexity of user and system
requirements (Semantic)
Complexity of Algorithms and Data
Structures (computational)
Complexity of Language and Programs
Structures (syntax).
People
Skills
Knowledge
Experience
External
Demands of quality control: do it right
Demands of Users: Do it on time
Demands of finance: Do it within budget
Demands of Market: Do it in the Net in
secure way
Tools: IDE, software requirements
management, software configuration
management, testing and SQA tools
28An叩lisis de Requerimientos del Software-Parte I
SE Complexity Factors to be Engineered
29. Software System
A software system is a system of
intercommunicating components based on software forming part of
a computer system.
It "consists of a number of separate programs, configuration files, which are
used to set up these programs, system documentation, which describes the
structure of the system, and user documentation, which explains how to use
the system.
Sommerville, Ian (2007). "1.1.1; What is software?". Software Engineering (8th ed.). Addison-Wesley. pp. 5
6. ISBN 978-0-321-31379-9.
Curso SQA Prof. Renato R. Gonzalez D. 29
30. Software Engineering
According to the Institute of Electrical and Electronics Engineers
(IEEE), software engineering means applying the principles of
engineering to the software development field.
Software engineering differs from other branches of engineering in
that professionals are building an intangible structure and not a
tangible one.
Since software is embedded in the machines used in various
industries, though, malfunctioning software can actually have
tangible effects.
Curso SQA Prof. Renato R. Gonzalez D. 30
31. SE consist of concepts, tools,
techniques, methods and
generalized technical
structures that software
engineers use to create
software intensive systems
that meet stated technical,
economic, and social
objectives (Peter Freeman).
31An叩lisis de Requerimientos del Software-Parte I
Software Engineering Definition
32. Life Cycle and Process
Having some defined and
manageable process for process
development is much better
than not having one at all.
Software process: A set of
partially ordered steps intended
to reach a goal.
In software engineering the
goal is to build a quality
software product or to enhance
an existing one.
32An叩lisis de Requerimientos del Software-Parte I
Software Engineering Definition
33. Software Process:
SE is based in fundamental
concepts that together
constitute a viable discipline,
despite the rapid changes in
Information Technology and
software development.
Provides rigorous guidance
for the process of
management the complexity
of problems, application
systems and technology in
organization.
33An叩lisis de Requerimientos del Software-Parte I
Software Engineering Definition
34. SE Fundamental Concepts
Software Engineering
Methods, Process life
cycle and Notations
Standards process:
Waterfall Model
Rational Unified Process (RUP)
Agiles Methodology: Scrum, RAD
Microsoft Solution Framework
(MSF)
34An叩lisis de Requerimientos del Software-Parte I
35. SE Fundamental Concepts
Software Engineering
Methods, Process and
Notations
Standard Methods:
Structured Analysis, Design and
Programming (1980s).
Object Oriented Analysis, Design and
Programming (OO)- 1990 present.
Unified Model Language (UML) as a
standard language for
communications in SE.
35An叩lisis de Requerimientos del Software-Parte I
36. Modularity and Architecture- Different
approaches:
Functional modular
decomposition, based primarily
on assigning functions to modules.
Data Oriented decomposition,
based on external data structures
Event oriented decomposition
based on events that the system
must handle.
Outside-in design, based on user
inputs to the system, and
Object oriented design, based on
classes of objects and their
interrelationships.
36An叩lisis de Requerimientos del Software-Parte I
SE Fundamental Concepts
37. Software Quality Assurance (SQA)
SQA es la colecci坦n de actividades y
funciones utilizadas para monitorear
y controlar un proyecto de software
para lograr objetivos de calidad
deseados de un producto dentro de
un nivel de confianza espec鱈fico.
Es un esfuerzo planeado de la
Ingenier鱈a de del Software para
asegurar la calidad de un producto de
software.
Curso SQA Parte II 37
38. Causes of Poor Software Quality
Human factor
Communication failure
Unrealistic development timeframe:
Lack of Software measurement
factors
Poor design logic
Poor coding practices
Lack of version control and
configuration
Buggy third-party tools
Lack of skilled testing
Last minute changes
39. Consequences of Poor Software Quality
Determining Cost of
Poor Quality in Software
Engineering is how
Quality Assurance and
Test organizations can
value their efforts and
ultimately take charge of
the software
engineering process,
end-to-end
41. Pareto Law in Software Quality
Pareto Law: 80% of contributions come from 20% of
taxpayers:
20% of the modules contribute 80% of the costs
20% of the modules contribute 80% of the errors.
20% of the errors consume 80% of the repair costs.
20% of the code consumes 80% of the execution time
42. Boehms key software quality issues
Finding and fixing a software problem after being released is 100 times
more expensive than finding it and repairing it in the requirements, design
and development phases.
For every dollar invested in software development, $ 2 is spent on
maintenance.
The development and maintenance costs are mainly based on the
complexity of the product.
The variety of people in a software project determine the greatest
differences in productivity.
Only 15% of the development effort of a software product is spent on
coding.
Software system products cost three times more per instruction than
individual programs.
43. SQA Questions
What to assure?
When must assure?
Who must assure?
Which methodology?
What measures or metrics use?
Curso SQA Prof. Renato R. Gonzalez D. 43
44. SQA Componentes
Curso SQA Parte II 44
La mayor鱈a de las
actividades de
aseguramiento de la
calidad del software
pueden clasificarse en
Pruebas, es decir,
verificaci坦n y validaci坦n,
configuraci坦n Gesti坦n y
control de calidad.
Pero el programa de
aseguramiento tambi辿n
depende de una colecci坦n
coherente de normas,
Pr叩cticas, convenciones y
especificaciones.
45. SQA Components
Software testing is a popular risk management strategy. It is used to
verify that functional requirements were met. The limitation of this
approach, however, is that by the time testing occurs, it is too late to
build quality into the product.
Tests are only as good as the test cases, but they can be inspected to
ensure that all the requirements are tested across all possible
combinations of inputs and system state
Curso SQA Prof. Renato R. Gonzalez D. 45
46. SQA Components
Quality control is defined as the
processes and methods used to
monitor work and observe whether
requirements are met. It focuses on
reviews and removal of defects
before shipment of products.
While QA Verification and
Validation (Testing) is oriented
towards prevention, SQC is oriented
towards detection.
Curso SQA Prof. Renato R. Gonzalez D. 46
47. SQA Components
Software testing is considered as
verification and validation process, that
is, a life cycle phase.
Verification is proving that a product
meets the requirements specified during
previous activities carried out correctly
throughout the development life cycle.
Answer the question, are we building the
product correctly?
Validation checks that the system meets
the customers requirements at the end
of the life cycle.
Answer the question: is the product
developed correct?
It is called dynamic testing and is done
after the coding of the product.
Curso SQA Prof. Renato R. Gonzalez D. 47
48. SQA Components
The V&V Process Model:
When verification is
incorporated into testing,
testing occurs
throughout the
development life cycle.
For best results, it is
good practice to
combine verification
with validation in the
testing process.
Curso SQA Prof. Renato R. Gonzalez D. 48
49. QA and PDCA Cycle
49Curso SQA Prof. Renato R. Gonzalez D.
50. Testing Technique Category
Black-Box Testing (Functional)
White-Box Testing (Structural)
Gray-Box Testing (Functional
and Structural)
Manual versus Automated
Testing
Static versus Dynamic Testing
Curso SQA Prof. Renato R. Gonzalez D. 50
52. SQA Components
Software configuration
management is concerned with
labeling, tracking, and
controlling changes in the
software elements of a system.
It controls the evolution of a
software system by managing
versions of its software
components and their
relationships.
Curso SQA Prof. Renato R. Gonzalez D. 52
53. Software Quality Assurance (SQA) Plan
The objectives of software
quality are typically achieved by
following a software quality
assurance plan that states the
methods the project will employ
to ensure the documents or
products produced and reviewed
at each milestone are of high
quality.
Curso SQA Prof. Renato R. Gonzalez D. 53
54. SQA Plan
Step 1. Document the
Plan
Step 2. Obtain
Management
Acceptance
Step 3. Obtain
Development
Acceptance
Step 4. Plan for
Implementation of the
SQA Plan
Step 5. Execute the SQA
Plan
Curso SQA Prof. Renato R. Gonzalez D. 54
55. Cognitive Metrics:
How is the skills and knowledge of people
involved?
Software Process Metric:
How Many resources and time we spend?.
Technical Product Complexity
Metrics:
How big is the software?.
Software Quality Metrics:
How good is the final product?.
People
Development
Process
Product
Structure
Product
Operation
Software Complexity Measurements: How is the
people skills, How big, how many, and how good