+ All Categories
Home > Documents > Intro to SQA

Intro to SQA

Date post: 09-Apr-2018
Category:
Upload: charu322
View: 228 times
Download: 0 times
Share this document with a friend
42
SOFTWARE QUALITY A SSURANCE
Transcript
Page 1: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 1/42

S OFTWARE Q UALITY A SSURANCE

Page 2: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 2/42

BOOKS TO REFER

Software Engineering By Pressman An Integrated approach to Software EngineeringBy Pankaj Jalote

Software Engineering By N.S. GillSoftware Quality Assurance By Nina S GodboleSoftware Quality Assurance By Daniel Galin

Page 3: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 3/42

Page 4: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 4/42

SOFTWARE -IEEE DEFINITION

Software is Computer programs, procedures andpossibly associated documentation and datapertaining to the operation of a computer system.The IEEE definition of software lists the followingfour components of software:

Computer ProgramProceduresDocumentationData necessary for operating the software system

All four components are needed in order toassure the quality of the software

Page 5: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 5/42

S OFTWARE E RRORS , F AULT AND F AILURES

Error: An error can be a grammatical error inone or more of the code lines or a logical error incarrying out one or more of the client·s

requirements.Fault: It is the defect in the program that, whenexecuted under particular conditions, causes afailure.Failure: A system is said to have a failure if theservices it delivers to the user deviates fromcompliance with the system specification for aspecified period of time.

Page 6: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 6/42

C AUSES OF SOFTWARE ERRORS

Faulty definition of requirements : The faultydefinition of requirements, usually prepared by theclient, is one of the main cause of software errors.The most common errors of this type are:

y Erroneous definition of requirements.y Absence of vital requirementsy Incomplete definition of requirementsy Inclusion of unnecessary requirements.

Client-developer communication failures:y M isunderstandings resulting from defective client-

developer communication are additional causes forerrors that prevail in the early stages of developmentprocess

Page 7: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 7/42

D eliberate deviations from softwarerequirements: In several circumstances, developers

may deliberately deviate from the documentedrequirements, actions that often causes softwareerrors. The most common situation of deliberatedeviation are:

y The developer reuses software modules taken from an

earlier project without sufficient analysis of the changesand adaptations needed to correctly fulfill all the newrequirements.

y Due to time or budget pressures, the developer decides toomit part of the required functions

y Developer-initiated, unapproved improvements to thesoftware, introduced without the client·s approval causessoftware errors

Page 8: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 8/42

Page 9: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 9/42

Non-compliance with documentation andcoding instructions: Almost every developmentunit has its own documentation and coding standardsthat define the content, order and format of thedocuments, and the code created by team members.To support this requirement, the unit develops andpublicizes its templates and coding instructions.M embers of the development team or unit arerequired to comply with these requirements.. Even if the quality of the ´non-complyingµ software isacceptable, future handling of this software isexpected to increase the rate of errors:

y Team member who need to coordinate can be expected toencounter more difficulty.

y Individuals replacing the ´non-complyingµ team member

will find it difficult to fully understand his or her work.y The design review team will find it more difficult to review

a design prepared by a non-complying team.y The test team will find it more difficult to test such moduley M aintenance team will face difficulties when trying to

understand the software and its documentation.

Page 10: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 10/42

Shortcomings of the testing process:Shortcomings of the testing process affect theerror rate by leaving a greater number of errorsundetected or uncorrected. These shortcomingresult from the following causes:

y Incomplete test plans leave untreated portions of the

softwarey Failures to document and report detected errors and

faultsy Failure to promptly correct detected software faultsy Incomplete correction of detected errors due to

negligence or time pressure.

Page 11: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 11/42

S OFTWARE QUALITY

The term "Quality" is one of the most discussedterms but is often not defined crisply.

All practitioners agree that "Quality" is a major

business factor, a distinguisher that makes thedifference and yet the term is extraordinarilydifficult to define precisely.Quality is easy to see and is immediatelyapparent when encountered or missing! Butwhen you try to pin it down or define what it is,you find that the concept is elusive.

Page 12: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 12/42

DEFINITIONS : S OFTWARE QUALITY

Software quality is the ´Conformance to explicitstated functional and performance requirements,explicitly documented development standards andimplicit characteristics that are expected of allprofessionally developed software.Dr. Barry Boehm thinks of quality as "Achieving highlevels of user satisfaction, portability,maintainability, robustness, and fitness for use.James M artin has asserted that software qualitymeans being on time, within budget and meeting userneeds.Tom M cCabe, the software complexity specialist,defines quality as "high levels of user satisfaction andlow defect levels, often associated with lowcomplexity"

Page 13: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 13/42

I M PORTANCE OF QUALITY

There are several reasons why businesses shouldbe concerned with quality:Quality: A Competitive Issue

y Several years back, software was considered to beonly a technical business, in which functionality wasthe key determinant of success. Today, you can nolonger rely on functionality alone of your products tobe a winner. Your competitors can match yourfunctionality relatively quickly and easily. The onlyway to differentiate your product from those of yourcompetitors, in the long run, is by its quality.

y As the software market matures, customers want tobe assured of quality. They no longer accept yourclaims at face value; they expect you to demonstratequality at each step of their business relationship orinteraction with them.

Page 14: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 14/42

Quality: An Issue for Survivaly customers are demanding demonstrable quality. If you

cannot deliver it, your ability to survive in a highercompetitive and rapidly changing market is in doubt.

Quality: For Entry into International Marketsy The ability to demonstrate quality gives even a smaller

company the credibility to enter an export market. Today,there are many Indian companies in the global market;some of them very small in size in terms of employeenumbers

Quality is Cost-effectivey An effective quality system leads to increased productivity

and permanently reduced costs, because it enablesmanagement to reduce defect correction costs byemphasizing prevention.

y Everyone in the software industry knows that the cost of correcting defects in software late in development life cyclecan be orders of magnitude greater than the cost of correcting them early. Preventing defects in the first placecan save even more.

Page 15: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 15/42

Quality for Retaining Customers andIncreasing Profits

y Poor quality often costs customers much more than itcosts suppliers. M ost customers will not tolerate thisand will place their business else- where.

y Better quality leads to improved customersatisfaction, delightful customer relationship, andultimately results in year-on-year retention of existing customers.

Quality as the Hallmark of Global Businessy World-class businesses place a strategic emphasis on

quality. This enables them to grow their business andoutperform their competitors.

Page 16: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 16/42

QUALITY T YPES

Product Quality : The product quality describesthe attributes of the products of the softwareprocess.

y

Software Product : (1)software product is a completeset of computer programs, procedures and possiblyassociated documentation and data designated fordelivery to a user. (2)Any of the individual items in(1).

Product Quality would be:y Completeness of the design documents.y Traceability of the design.y Reliability and maintainability of the codey Coverage of the test

Page 17: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 17/42

P ROCESS Q UALITY

Process quality describes the attributes of thesoftware development process itself. Processquality mainly focuses on:

y

Correct implementation of a techniquey Productivity of a tooly Abilities of the programmersy Communicativeness of an organizationy How well suited are the installation facilities.

Page 18: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 18/42

S OFTWARE QUALITY F ACTORS

The Quality factors are grouped into threecategories

y Product operation factors: These factors dealwith requirements that directly affect the dailyoperations of the software.

y Product revision factors: These factors deal withrequirements that affect the complete range of software maintenance activities

y Product transition factors: These factors dealswith a category that pertains to adaption of softwareto other environments and its interaction with othersoftware systems.

Page 19: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 19/42

P RODUCT OPERATION QUALITY FACTORS

Correctness : It is the software system·s fulfillmentof specifications underlying its development.Reliability : Reliability requirements deal withfailure to provide service. They determine the

maximum allowed software system failure rate, andcan refer to the entire system or to one or more of itsseparate functions.Efficiency : Efficiency requirements deal with thehardware resources needed to perform all the

functions of the software system in conformance to allother requirements. The main hardware resources tobe considered are- the computer processingcapabilities( M IPS), its data storagecapability( M B,GB) data communicationcapability(KBPS, M BPS).

Page 20: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 20/42

Integrity : Integrity requirements deal with thesoftware system security, that is, requirements toprevent access to unauthorized persons, todistinguish between the majority of personnelallowed to see the information and limited groupwho will be allowed to add and change data

Usability : The software usability requirementsdeal with the scope of staff resources needed totrain a new employee and to operate the softwaresystem.

Page 21: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 21/42

P RODUCT REVISION QUALITY FACTORS

Maintainability : M aintainability requirementsdetermine the efforts that will be needed by usersand maintenance personnel to identify thereasons for software failures, to correct the

failures, and to verify the success of thecorrections.Flexibility : The capabilities and effortsrequired to support adaptive maintenanceactivities are covered by flexibility requirements.These include the resources required to adapt asoftware package to a variety of customers of thesame trade, of various extent of activities and soon.

Page 22: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 22/42

Testability : Testability requirements related tosoftware operation include automatic diagnosticsperformed by the software system prior tostarting the system, to find out whether allcomponents of the software system are in

working order and to obtain a report about thedetected faults.

Page 23: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 23/42

P RODUCT TRANSITION QUALITY FACTORS

Portability : Portability requirements tend tothe adaptation of a software system to otherenvironments consisting of different hardware,different operating systems, and so forth.

Reusability : Reusability requirements dealwith the use of software modules originallydesigned for one project in a new software projectcurrently being developed. The reuse of softwareis expected to save development resources,shorten the development period and providehigher quality modules.Interoperability : Interoperabilityrequirements focus on creating interfaces withother software systems

Page 24: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 24/42

Page 25: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 25/42

QUALITY A SSURANCE S TEPS

Plan: Establish objectives and processes required todeliver the desired results.D o: Implement the process developed.Check: M onitor and evaluate the implemented process bytesting the results against the predetermined objectives

Act: Apply actions necessary for improvement if the resultsrequire changes.PDCA is an effective method for monitoring qualityassurance because it analyzes existing conditions andmethods used to provide the product or service to thecustomers.

The goal is to ensure that excellence is inherent in everycomponent of the process.In addition, if the PDCA cycle is repeated throughout thelifetime of the product or service, it helps improve internalcompany efficiency.

Page 26: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 26/42

Q UALITY CONTROL V /S QUALITY A SSURANCE

Quality Control is corrective. Quality control isthe series of inspections, reviews and tests usedthroughout the development cycle to ensure thateach work product meets the requirementsplaced upon it.Quality Assurance is a preventive approach. It isthe set of all those planned and systematicactivities implemented within the quality system

and demonstrated as needed to provide adequateconfidence that a work product will fulfillrequirements for quality.

Page 27: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 27/42

Q UALITY CONTROL V /S QUALITY A SSURANCE

Quality Control Quality Assurance

Correction Prevention

Product Process

Confidence to Producer Confidence to Customer

Find Defects Prevent Defects

Examples:Walkthrough, Testing,Inspection

Examples: DefiningProcesses, Quality

Audit, Selection of Tools, Training

Page 28: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 28/42

S OFTWARE QUALITY A SSURANCE

The Software Quality Assurance consist of thoseprocedures, techniques and tools applied bysoftware professionals to ensure that softwareproduct meets or exceeds pre-specified standardsduring development cycle.The purpose of Software Quality Assurance(SQA)is to provide management with appropriatevisibility into the process being used by the

software project and of the products beingdeveloped.

Page 29: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 29/42

SQA-IEEE D EFINITION

A planned and systematic pattern of all actionsnecessary to provide adequate confidence that anitem or product conforms to established technicalrequirements.

Page 30: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 30/42

SQA A CTIVITIES

Application of Technical Methods : Organizationmust have set of technical methods and tools to helpanalyst high quality specifications and design.Formal Technical Review : A Formal TechnicalReview is a stylized meeting conducted by technicalstaff to uncover quality problems.Software Testing : Appropriate strategies forsoftware testing should be applied.Enforcement of Standards : There are severalquality standards such as ISO 9000, SEI C MM s etcmeant for ensuring software quality.Control of Change : Changes can introduce errors.Change control includes :

y Formalized request for changey Evaluate the nature of the changey Controls the impact of the change

Page 31: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 31/42

Measurement : Software metrics are needed to

track quality.Record Keeping and Reporting : Collectionand dissemination of software quality assuranceinformation is required. Results of audits,reviews, change control, testing and other SQA activities are part of the historical record of theproject.

Page 32: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 32/42

F UNCTIONS OF SQA

An Appropriate development methodology is inplace.The projects use standards and procedures in

their work.Independent reviews and audits are conducted.Documentation is produced to supportmaintenance and enhancement.

The documentation is produced during and notafter development.M echanisms are in place and used to controlchanges (Configura-tion M anagement).

Page 33: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 33/42

F UNCTIONS OF SQA CNTD .

Testing emphasizes all the high-risk productareas.Each software task is satisfactorily completed

before the succeeding one is begun. (Phase-endInspections)Deviations from standards and procedures areexposed as soon as possible.The quality control work is itself performedagainst establishment standards.The SQA plan and the software developmentplan are compatible

Page 34: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 34/42

S OFTWARE QUALITY A SSURANCE P LAN

Quality is achieved by building it into the software allthroughout the project lifecycle; it cannot be added atthe end of the software development.This implies that the relationship between softwarequality and the software development process isknown and that, by proper engineering of thisprocess, a product of the appropriate quality can beproduced.The planning of how quality is to be built in and alsohow it is to be evaluated is recorded in the Quality

Assurance Plan.SQA Plan may not exist as a separate document; itcould be incorporated into project·s softwaredevelopment plan.The SQA Plan provide confidence to the user that thes/w product will be of high quality.

Page 35: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 35/42

CONTENTS OF SQA P LAN

Each development and maintenance projectshould have a software Quality Assurance Planthat specifies its goals, the SQA tasks to beperformed, the standards against which the

development work is to be measured and theprocedures and organizational structure.The IEEE standard for SQA Plans states that theplan should contain the following sections :

y Purposey Reference documenty M anagementy Documentationy Standards, practices and conventions

Page 36: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 36/42

Reviews and Audits

Configuration M anagementProblem reporting and corrective actionTools, techniques and methodologiesCode ControlM edia ControlSupplier ControlRecords collection, maintenance and retention

Page 37: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 37/42

Purpose : This states the specific purpose andscope of the SQA plan. It names the softwareproducts that it covers and describes the use towhich they will be put.Reference documents : A complete list of thedocuments referenced in the plan.

Management : IEEE standard lays down 3aspects that should be covered in this section of the Quality Assurance Plan :

y Organizationy

Tasksy Responsibilitiesy Organization : This section is about the project

organization, roles of team members, their hierarchyetc.

Page 38: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 38/42

y Tasks : The chronological sequence of tasks, whichneed to be performed includes:

Preparing preliminary software requirements specificationPreparing software quality assurance plan and softwaredevelopment planSoftware requirement reviewSoftware design reviewPreparing test planTesting of code units.Integration of software modulesTesting of integrated modules

Acceptance Testingy Responsibilities : Define the responsibilities of

quality personnel

Page 39: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 39/42

D ocumentation : The basic purpose of thissection of the SQA Plan is to describe the

documentation to be produced and how it is to bereviewed. All the documentation relating to thedevelopment, verification, use and maintenanceof the software will be listed. Documentationincludes :

y SRSy Software Design Descriptiony Software Verification Plany Software Verification Reporty User guides, operators and programmers manual.

Standards, Practices and Conventions : listsall applicable standards/practices that areapplied during the software process.

Page 40: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 40/42

Reviews and Audits : This section of SQA Planillustrate which technical and managerial

reviews will be undertaken and how they will becarried out.Configuration Management : This section of SQA Plan deals with configuration identificationand configuration control activities.Problem Reporting and Corrective Action :This section will describe the system, whichensures that software problems are documentedand resolved.

Tools, Techniques and Methodologies : Thissection should identify the special software tools,techniques and methodologies employed thatsupport quality assurance.

Page 41: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 41/42

Code Control : In the software project, this islikely to be implemented in conjunction with the

library function. The library receives andmaintains copies of all software tools anddocumentation. The library will issue all material. Access to code files is controlled to ensue that nounauthorized use takes place.Media control and Back up : This section willdescribe how the media are to be protected fromunauthorized access or damage.Supplier Control : This has relevance whileoutsourcing some components of a softwareproject. It is important that externally developedsoftware is of the appropriate quality.

Page 42: Intro to SQA

8/8/2019 Intro to SQA

http://slidepdf.com/reader/full/intro-to-sqa 42/42

Records collection, maintenance andRetention: Any successful project will undergosubstantial maintenance over a long period. Assuch, it is important to ensure that all thedocumentation necessary to undertake thisquickly, efficiently and cheaply is going to be

available when required. This documentationmust be produced during development. It will beretained. This section of the SQA Plan willidentify who is responsible for ensuring that theappropriate documentation produced and stored,and under what conditions


Recommended