4S Akademi - QAI - Software Testing Principles and Concepts

  • Published on

  • View

  • Download

Embed Size (px)


PowerPoint Presentation


Skill Category 1 Software Testing Principles and Concepts

TopicsThe following topics will be discussed in this Skill Category:Vocabulary & Quality BasicsUnderstanding DefectsProcess and Testing Published StandardsSoftware TestingSoftware Development Life Cycle (SDLC) ModelsAgile Development MethodologiesTesting Throughout the SDLCTesting Schools of Thought and ApproachesTest Categories and Testing Techniques


In this section well review basic quality principles and learn to distinguish between QA and QC.We will start our discussion of defects and then continue with it in a later skill set.In the course we will look at three published processes or standards more are discussed in the CBOK.We will start our discussion of Software testing and what it is and is not along with the factors impacting Software Testing.Several software development life cycle models will be discussed along with the various phases of testing (model dependent) and why we test throughout the SDLC.We highlight some of the more well known Schools of Thought and Approaches and finish the section with some Categories and techniques.This section provides the basis for all the following sections.It is the longest section and needs to be fully mastered for the exam.


Understand the technical terms used to describe various testing techniques, tools, principles, concepts and activitiesTesting Vocabulary

TerminologyRequirements-based TestingRisk-based TestingModel-based TestingExploratory TestingKeyword-driven Testing


stress &load







Vocabularies are not consistent from company to company and sometimes within companies.It is suggested that you get a common vocabulary for your organization and publish it.Many vocabularies are available from the internet or from standards associations.The key reason for a vocabulary is the have a common understanding across the organization and reduce miscommunications rework.


Quality 101

The Quality Assurance function is charged with implementing the quality policy established by executive management. QAI recommends that the QA director position be a strong leadership position, and emphasizes the strong interpersonal skills necessary to successfully execute activities involved in making improvement occur.

On Test: management responsible for quality, workers responsible for QCQA tip-offs for questions: metrics, measure, analyze, process, how it is done


Activities that modify the development process to prevent the introduction of flawsStaff functionImplements managements quality policiesResponsible for continuous improvement of the software development processProactive approach focused on defect preventionExamples:Defining change control proceduresAnalyzing metrics to identify opportunities for process improvementFacilitating quality improvement activities

Quality Assurance6

The Quality Assurance function is charged with implementing the quality policy established by executive management. QAI recommends that the QA director position be a strong leadership position, and emphasizes the strong interpersonal skills necessary to successfully execute activities involved in making improvement occur.

On Test: management responsible for quality, workers responsible for QCQA tip-offs for questions: metrics, measure, analyze, process, how it is done


Activities within the development process to detect the introduction of flawsTest planning and executionQuality control measures a product against the existence of an attribute Determines whether the product conforms to a standard or procedure (also known as compliance checking).Proactive approach focused on defect detectionExamples:Writing and executing test cases and scriptsParticipating in verification and validation activitiesReporting defects to identify opportunities for process improvementConducting post-project reviewsQuality Control7

QC deals with products.Test cases, of courseFinding poorly defined requirements (not just execution testing) is a huge part of QC and will be covered in detail later.Inspections and reviews are not QA they deal with products and are considered QC.


Quality Assurance or Quality Control?

Inspection of source code.Unit testing to validate that the program works.Analysis of defects to determine the stage of origin.Analyze metrics collected that measure the effectiveness of system and unit Testing Exercise



Answers next slide:QCQCQAQA


The responsibilities of this job include facilitation, process configuration, measurement, and risk analysis. Quality Control Quality Assurance

The responsibilities of this job include conducting inspections, reviews, testing and focusing on the product. Quality Control Quality AssuranceExercise


Answers are sequential on this same slideQAQC


Your department has always been titled the SQA (Software Quality Assurance) Group. The primary activity of your group is software testing with some minor QA responsibility. Your company is currently reorganizing and you have decided it is a good time to clearly delineate the QC and QA functions. Describe the activities of these two unique groups.

Essay (10 Minutes)10

SQA is an activity that establishes and evaluates the processes that produce products. The SQA role is to observe that documented standards, processes, and procedures are followed. SQA would also establish software metrics in order to measure the effectiveness of this process.

SQA:helps establish processes.sets up measurement programs to evaluate processes.identifies weaknesses in processes and improves them.is a management responsibility, frequently performed by a staff function.is concerned with all of the products that will ever be produced by a process.sometimes called quality control over quality control because it evaluates whether quality control is working.SQA personnel should never perform quality control unless it is to validate quality control.

SQC (testing) takes an active role with Verification and Validation. For example, verification of the requirements would involve inspection (reading) and looking for clarity and completeness. SQC would also verify that any documented requirement standards are followed. SQCs role is in verifying the output of this process while SQAs role is to make sure the process is followed correctly. The major SQC role during this process will be testing.

SQC would:relate to a specific product or service.verifies whether specific attribute(s) are in, or are not in, a specific product or service.identifies defects for the primary purpose of correcting defects.is the responsibility of the team/worker.is concerned with a specific product.

Essay (10 Minutes)11


There are five perspectives of Quality.

Transcendent I know it when I see itProduct Based Possesses desired featuresUser Based Fitness for useDevelopment and Manufacturing Based Conforms to requirementsValue Based At an acceptable costThe Perspectives of Quality13

You have probably encountered these at one time or another somewhere. They should be familiar to you for the exam.


Quality in Perception is more important to the final customer.

How Quality is Defined14Producers View of QualityCustomers View of QualityQUALITY IN FACTQUALITY IN PERCEPTIONDoing the right thing.Delivering the right product.Doing it the right way.Satisfying our customers needs.Doing it right the first time.Meeting the customers expectations.Doing it on time.Treating every customer with integrity, courtesy, and respect.

Townsends Quality Plan.You should know the differences between the two views and the problems they cause as exemplified on the next slide.


An organizations quality policy must define and view quality from their customer's perspectives. If there are conflicts, they must be resolved.

Two Working Definitions:

The Two Quality Gaps15

Producers View Meets requirements

Consumers View Fit for use


ProducerGapCustomerGapQuality as deliveredProducer view of quality as specifiedCustomer view of quality as expected

Quality: A product is a quality product if it is defect free. To the producer, a product is a quality product if it meets or conforms to the statement of requirements that defines the product. This statement is usually shortened to: quality means it meets requirements. From a customers perspective, quality means fit for use whatever that use may be.

Ask which is better view? Fit for use i.e. the customer defines Quality not the Producer.

Know these two views and methods used to close the gap pictured.


Focus on the CustomerCustomer Satisfaction is the essence of a Quality ProductCustomer may be internal or externalInternal customer receives anything passed between groupsExternal customer uses the products or services provided by the organizationQuality Message16

QAI focuses on the customer as the important party.The customer can be ANYONE who receives something from you.In some organizations it is easier to identify the internal customer; in others it is easy to figure out the external customer.Regardless, you must identify your customer and determine how to satisfy them.


There are many ways to improve Software QualitySoftware Quality ObjectivesSoftware Quality Assurance ActivitiesTesting StrategySoftware Engineering GuidelinesFormal and Informal Technical ReviewsAuditsProcess ImprovementChange Control ProcessesMeasurement, Prototyping, and Proof

Improving Software Quality17

We will be discussing most of these in detail in the remaining skill sets. For the exam, you should know some of these.


Money spent beyond the cost to build the product right the first timeFrequently referred to today as Cost of Non Quality or Cost of Poor PerformanceCost of Quality18Failure CostAppraisal CostPrevention CostCost of Production

Cost of QualityTesting is a part of the cost of qualityBuild CostTotal Production Cost

You need to know what is COQ and what is not.Also short definitions of each one.Lastly where to expend funds for the best return.


Preventive Costs - Costs associated with preventing errorsTrainingEstablishing methods and proceduresTool acquisitionAppraisal Costs - Costs associated with the detection of errorsInspectionsTestingFailure Costs - Costs associated with defective products delivered to customersAnalyze, correct and retest defectsStaffing Help DeskDamage caused by defectDamage caused by defectIdle users

Cost of Quality19 Production Costs+ Cost of Quality--------------------------------Total Production Costs

The total production costs associated with the delivery of software applications include both the actual production costs and the cost of quality. The first component - production costs - consists of the costs associated with producing the product right the first time, or RTF costs. These costs include labor, materials, and equipment (hardware, software, tools) associated with the actual development of the application.

The second component includes the additional costs associated with assuring that the product delivered meets the quality goals established for the product. This cost component is called the Cost of Quality, and includes all costs associated with the prevention, identification, and correction of product defects (includes repair and damage costs.)

The cost of quality will vary from one organization to the next. The majority of costs associated with the Cost of Quality are associated with the identification and correction of defects


Mark P for Prevention; A for Appraisal; F for Failure:Conducting Reviews and InspectionsImplementing StandardsConducting ReworkAttending Training/EducationPlanning for QualityCode InspectionCancelled ProjectsFailure & Recovery of DataDefect Reporting Standards Quality Improvement Testing Conducting a Post Project Review Lost Benefits

Cost of Quality20APFPPAFFPPAAF


By Group: Prevention: 2,4,5,9,10Appraisal: 1,6,11,12Failure: 3,7,8,13

By Item:APFPPAFFPPAA (this is the QC of process conformance.)F (this is maintenance, not enhancements. Maintenance occurs because something wasnt rightproduction bugs, misunderstood requirements, incorrectly implemented requirements.)


Which of the following is NOT a category of the Cost of Quality?Failure CostAppraisal CostBuild CostPreventive Cost

In defining the cost of quality, appraisal costs are BEST described as:Costs incurred to review completed products against requirementsCosts which can not be recoupedAll costs associated with defective productsNone of the above



Answers: C, A. Sequential on same slide on click.

Test taking tips:Especially if English is 2nd language, delete NOT, see what is true, answer is the leftover one.If unsure of answer, choose the longest one.All of the above usually true 90 percent of the timenone of the above almost never true


Cost of Quality will vary from Organization to OrganizationCost of Quality Iceberg Diagram22

ReworkTesting CostsRejectsWasteCustomer ReturnsInspection CostsRecallsExcessive OvertimePricing or Billing ErrorsExcessie Employee FluctuationExcessive IT System CostsExcessive Field Service ExpensesPlanning DelaysDevelopment Cost of Failed ProductLate PaperworkAccess InventoryUnused CapacityIncorrectly Completed Sales OrderComplaint HandlingTime with Dissatisfied Customer

50% COQ3% Preventative7% Appraisal 40% FailureNote all the items that are hidden on the first look at the iceberg. 90% is below the surface and requires metrics and analysis to find, calculate and solve.



Is Quality Free?

Cost of Quality - ROI24

Note the investment or increase in Prevention to slightly reduce Appraisal and substantially reduce PONC (Failure). Investment in Prevention is considered to generate the greatest ROI.


The cost of quality (COQ) isnt the price of creating a quality product or service. Its the cost of NOT creating a quality product or service. Explain what methods you would use to reduce the Cost of Quality as a function of optimizing the development and testing process.

Essay (5 minutes)25

The majority of costs associated with the Cost of Quality are associated with the identification and correction of defects.

Minimize production costs: focus on defect prevention

SQA must: identify the costs within COQ categories quantify them develop programs to minimize costs

Applying the concepts of continuous testing to the systems development process can reduce the cost of quality.

Essay (5 minutes)26


View more >