2 What is Quality? Popular Views about Quality: quality related to luxury, class and tastequality 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 CustomerCustomers 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.
5 Software QualitySoftware 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 AssuranceQuality assurance is a system of activities designed to ensure production that meets pre-established requirements and standards.
7 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 expectationsISO: the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs
8 Quality ControlWhat is quality control -- the series of inspections, reviews, and test used throughout the develop cycle of a software productQuality control includes a feedback loop to the process.Objective ---> minimize the produced defects, increase the product qualityKey concept of quality control:--> compare the work products with the specified and measurable standards
9 Cost of QualityCost 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 workQuality cost includes:- Prevention cost:- quality planning- formal technical reviews- testing equipment- training to personnel
10 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”
11 What is SQA? Monitoring the processes Provides management with objective feedback regarding process compliance to approved plans, procedures, standards, and analysis
12 What is SQA? Monitoring the products Focus on the quality of product within each phase of the SDLCe.g., requirements, test plan, architecture, etc.Objective: identify and remove defects throughout the lifecycle, as early as possible
13 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:
14 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:1For products, ratio can be as high as 1:3
20 Organizational Positioning of SQA (Recommended)
21 Top Management Support to SQA Department Proper staffing and hiringSeparate budget for payroll and running expensesSeparate capital budgetTest facilities and environmentTrust and confidenceAuthorityDon’t force to close defectsDon’t force to sign acceptanceAct 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 CollectionAnalysisArchitecture & DesignDevelopmentTestingDeploymentRequirement SpecsFunctional SpecsDesign SpecsCode & ExecutablesDeployment DocsTypical SDLC phases and relevant ArtifactsReviewsImplementTest CasesReviewSQA Responsibilities
24 SQA Artifacts for a Project Requirement SpecsFunctional SpecsDesign SpecsCode & ExecutablesDeployment DocsDev. ArtifactsSQA ArtifactsRS ReviewsFS ReviewsDS ReviewsBug ReportsDD ReviewsTest PlanTest CasesMore Test Cases(more)
25 Communication Between SQA and Development SCMSQA
26 Responsibilities of Testing Team Responsibilities of a testerDesign test casesWrite test scriptsImplement test casesResponsibility of SQA managerGive 25% time for reviewing test cases writtenLead review meetingsResolve 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 backgroundMembers from different domainsTechnical gurus and user representativesMembers 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.
30 History of ISOISO, 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.
31 OverviewISO (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
32 ScopeISO has more than International Standards and other types of normative documentsISO's work program ranges from standards for traditional activities, such as agriculture and construction, through mechanical engineering, manufacturing and distribution etc.
33 Description about member countries of ISO ISO has three membership categories:Member bodies:Be the most representative standards body in each countryThese are the only members of ISO that have voting rights.
34 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.
35 HistoryThe 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.
36 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, hasAdvanced the theory and application of electrot echnology and allied sciencesServed as a catalyst for technological innovation;and supported the needs of its members through a wide variety of programs and services.
37 History Cont.AIEE, IRE Merge to form IEEEIn 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.
38 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.
39 MSF Models MSF consists of two models 1. MSF two Models 2. MSF Process/Governance Models
40 1. MSF Team ModelThis 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
41 1. MSF Team ModelArchitecture: Responsible for solution design, making sure the solution design optimally satisfies all needs and expectationsDevelopment: Develops according to the specifications.Test: Tests and assures product qualityRelease/Operations: Ensures smooth deployment and operations of the softwareUser Experience: Supports issues of the users.
42 Process Model:Process model defined order of activities related to the project and represent life cycle of project.There are four phases in the process model:EnvisioningPlanningDevelopingStabilizing