software quality assurance. 2 what is quality? popular views about quality: – quality related to...
TRANSCRIPT
2
What is Quality?
Popular Views about Quality:– quality related to luxury, class and taste– quality is related to quality of life.– I know about quality when I see the product.
Professional Views about Quality:– Conformance to requirements.– Fitness for use.
3
Two aspects of Software Quality
“q” – Intrinsic product quality, often limited to defect rate and reliability.
“Q” – Customer Satisfaction, often includes product quality and process quality.
4
Role of Customer
Customers don’t buy products, they buy assurances that their expectations with the products would met.
You also, can only sell assurances – in other words, Quality.
Customer is in absolute position to judge the quality.
Software Quality
Software quality is defined as the quality that ensures customer satisfaction by offering all the customer deliverables on performance , standards and ease of operations.
6
Quality Assurance
Quality assurance is a system of activities designed to ensure production that meets pre-established requirements and standards.
Software Quality Assurance
What is “quality”? IEEE Glossary: Degree to which a system, component, or
process meets (1) specified requirements, and (2) customer or user needs or expectations
ISO: the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs
Quality Control
What is quality control -- the series of inspections, reviews, and test used throughout the develop cycle of a software product
Quality control includes a feedback loop to the process.
Objective ---> minimize the produced defects, increase the product quality
Key concept of quality control:--> compare the work products with the specified and
measurable standards
Cost of Quality
Cost of quality -->Quality is produced at cost. The cost of quality includes all costs incurred in the process of creation , generation , control and maintenance of quality or perform quality related work
Quality cost includes: - Prevention cost:
- quality planning- formal technical reviews- testing equipment- training to personnel
What is Software Quality Assurance (SQA)?
“Set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use”
What is SQA?
Monitoring the processes– Provides management with objective feedback regarding
process compliance to approved plans, procedures, standards, and analysis
What is SQA?
Monitoring the products– Focus on the quality of product within each phase of
the SDLC e.g., requirements, test plan, architecture, etc.
– Objective: identify and remove defects throughout the lifecycle, as early as possible
Quality Standards Organizations
Quality assurance systems help organization ensure that their deliverables meet customer requirements. They encompass a wide variety of tasks during a product’s lifecycle, which includes planning,controlling,testing, and developing the quality process.
There are various quality assurance standards , which ensure that the product developed is effective and reusable.
Some of the significant quality standards are described below:
Standard Definition
“Standard is a published specification that establishes a common language, and contains a technical specification or other precise criteria and is designed to be used consistently, as a rule, a guideline, or a definition”.
15
Objectives of Software Quality Assurance
Only Quality Control (testing) is not enough:– What would you do if your software does not pass
the QC test?– QC is a reactive approach, not proactive one.
Quality Assurance includes Proactive as well as Reactive approaches.
16
Measuring Software Quality
Usually recognized in the form of bugs or defects.– Defect rate (defect/KLOC or defects/FP)– Reliability (Failure free operation)
IBM monitors CUPRIMDSO – Capability (Functionality), Usability, Performance, Reliability, Installability, Maintainability, Documentation, Service, & Overall.
HP monitors FURPS – Functionality, Usability, Reliability, Performance & Service.
17
Purpose of SQA Activities
Practically, zero defect product is not possible to achieve.
The purpose of quality assurance practices are to minimize the number of defects.
How much efforts are needed to minimize the number of defects?– are you developing a customized project or product?– how critical your application is?
18
Developer to Tester Ratio
There is no standard developer to tester ratio in IT industry.
However, industry does have some norms:– For customized projects, ratio must be at least 3:1– For products, ratio can be as high as 1:3
19
Organizational Positioning of SQA (Observed)
CEOCEO
DevelopmentManager
DevelopmentManager
HR Manager
HR Manager
Admin Manager
Admin Manager
SQAManager
SQAManager
SCMManager
SCMManager
Project Manager 1
Project Manager 1
ProjectManager 2
ProjectManager 2
20
Organizational Positioning of SQA (Recommended)
CEOCEO
DevelopmentManager
DevelopmentManager
SQA Manager
SQA Manager
SCM Manager
SCM Manager
SupportManager
SupportManager
AdminManager
AdminManager
Project Manager 1
Project Manager 1
ProjectManager 2
ProjectManager 2
21
Top Management Support to SQA Department
Proper staffing and hiring Separate budget for payroll and running expenses Separate capital budget Test facilities and environment Trust and confidence Authority
• Don’t force to close defects• Don’t force to sign acceptance• Act as an arbitrator for the conflicts between QA/Dev.
22
SQA Responsibilities for a Project
Review of documents developed by development team.
Track the compliance with standards. Development of QA Plan (test plan + test cases). Implementation of test cases (Black Box or Glass
Box Testing). Management of bug repository. Participating in code and design reviews.
23
SQA Responsibilities for a Project (cont...)
Requirements CollectionRequirements Collection
AnalysisAnalysis
Architecture & DesignArchitecture & Design
DevelopmentDevelopment
TestingTesting
DeploymentDeployment
Requirement SpecsRequirement Specs
Functional SpecsFunctional Specs
Design SpecsDesign Specs
Code & ExecutablesCode & Executables
Deployment DocsDeployment Docs
Typical SDLC phases and relevant Artifacts
ReviewsReviews
ReviewsReviews
ReviewsReviews
Implement Test Cases
Implement Test Cases
ReviewReview
SQA Responsibilities
24
SQA Artifacts for a Project
Requirement SpecsRequirement Specs
Functional SpecsFunctional Specs
Design SpecsDesign Specs
Code & ExecutablesCode & Executables
Deployment DocsDeployment Docs
Dev. Artifacts SQA Artifacts
RS ReviewsRS Reviews
FS ReviewsFS Reviews
DS ReviewsDS Reviews
Bug ReportsBug Reports
DD ReviewsDD Reviews
Test PlanTest Plan
Test CasesTest Cases
More Test CasesMore Test Cases
SQA Artifacts (more)
25
Communication Between SQA and Development
DevelopmentDevelopment SCMSCM SQASQA
DevelopmentDevelopment SQASQA
26
Responsibilities of Testing Team
Responsibilities of a tester• Design test cases• Write test scripts• Implement test cases
Responsibility of SQA manager• Give 25% time for reviewing test cases written• Lead review meetings• Resolve conflicts
27
Other Responsibilities of SQA
Participate in product and process audits. Initiate and participate in developing
standards. Develop SQA’s own standards, processes
and checklists.
28
An Effective Testing Team
SQA Team should be composed of:– Members with different background– Members from different domains– Technical gurus and user representatives– Members with more analytical abilities.
29
Characteristics of Good SQA Engineer
Experience & Education as a programmer or analyst. A thick skin. Good sense of humor. Tolerance for disorder. Firmness. Evidence oriented. Logical. Honest. Self sufficient.
History of ISO
ISO, founded in 1947, is a worldwide federation of national standards bodies from some 100 countries, with one standards body representing each member country.
Member organizations collaborate in the development and promotion of international standards.
Overview
ISO (International Organization for Standardization) is the world's largest developer and publisher of International Standards.
ISO is a network of the national standards institutes of over 160 countries
Scope
ISO has more than 16500 International Standards and other types of normative documents
ISO's work program ranges from standards for traditional activities, such as agriculture and construction, through mechanical engineering, manufacturing and distribution etc.
Description about member countries of ISO
ISO has three membership categories: Member bodies:
Be the most representative standards body in each country
These are the only members of ISO that have voting rights.
Description about member countries of ISO (Count.)
Correspondent members: These countries do not follow ISO standards and they also do not have their own standards organizations e.g. Afghanistan.
Subscriber members: Countries having small economies. They pay reduced membership fees, but can follow the development of standards.
History
The Institute of Electrical and Electronics Engineers or IEEE (read eye-triple-e) is an international non-profit, professional organization for the advancement of technology related to electricity. It has the most members of any technical professional organization in the world, with more than 370,000 members in around 160 countries.
History Cont.The IEEE formed in 1963 with the merger of
AIEE (American Institute of Electrical Engineers, formed in 1884),
IRE (Institute of Radio Engineers, formed in 1912).
IEEE From its earliest origins, has Advanced the theory and application of electrot echnology and
allied sciences Served as a catalyst for technological innovation; and supported the needs of its members through a wide variety
of programs and services.
History Cont.
AIEE, IRE Merge to form IEEE
In 1961, the leadership of both the IRE and the AIEE sought to resolve these difficulties through consolidation. A merger plan was formulated and approved, becoming effective on 1 January 1963.
Microsoft Solution Framework (MSF)
MSF is a flexible, interrelated series of models that can guide an organization through assembling the resources, people, and techniques needed to bring technology infrastructure in line with business objectives.
1. MSF Team Model
This describes the role of various team members in a software development project.
The team model roles are: Product Management: Mainly deals with
customers and define project requirements, also ensures customer expectations are met.
Program Management: Maintains project development and delivery to the customer
1. MSF Team Model
Architecture: Responsible for solution design, making sure the solution design optimally satisfies all needs and expectations
Development: Develops according to the specifications.
Test: Tests and assures product quality Release/Operations: Ensures smooth deployment
and operations of the software User Experience: Supports issues of the users.