4S Akademi - QAI - Software Testing Principles and Concepts

Post on 14-Apr-2017

232 views 6 download

Transcript of 4S Akademi - QAI - Software Testing Principles and Concepts

www.4sakademi.com.tr

Skill Category 1 Software Testing Principles and Concepts

3

Topics• The following topics will be discussed in this Skill Category:

• Vocabulary & Quality Basics• Understanding Defects• Process and Testing Published Standards• Software Testing• Software Development Life Cycle (SDLC) Models• Agile Development Methodologies• Testing Throughout the SDLC• Testing Schools of Thought and Approaches• Test Categories and Testing Techniques

4

• Understand the technical terms used to describe various testing techniques, tools, principles, concepts and activities

Testing Vocabulary

TerminologyRequirements-based

TestingRisk-based Testing

Model-based TestingExploratory Testing

Keyword-driven Testing

vendorvalidation

stress &

load

contingency

usabilityintegration

useracceptance

configuration

Quality 101

6

• Activities that modify the development process to prevent the introduction of flaws• Staff function• Implements management’s quality policies• Responsible for continuous improvement of the software

development process• Proactive approach focused on defect prevention• Examples:

• Defining change control procedures• Analyzing metrics to identify opportunities for process

improvement• Facilitating quality improvement activities

Quality Assurance

7

• Activities within the development process to detect the introduction of flaws• Test planning and execution• Quality 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 detection• Examples:

• Writing and executing test cases and scripts• Participating in verification and validation activities• Reporting defects to identify opportunities for process

improvement• Conducting post-project reviews

Quality Control

8

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

QA

QC

9

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

a) Quality Controlb) Quality Assurance

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

c) Quality Controld) Quality Assurance

Exercise

10

• 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)

11

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. SQC’s role is in verifying the output of this process while SQA’s 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)

12

Questions?

13

There are five perspectives of Quality.

• Transcendent – I know it when I see it• Product Based – Possesses desired features• User Based – Fitness for use• Development and Manufacturing Based – Conforms

to requirements• Value Based – At an acceptable cost

The Perspectives of Quality

14

Quality in Perception is more important to the final customer.

How Quality is DefinedProducer’s View of Quality Customer’s View of Quality

QUALITY IN FACT QUALITY IN PERCEPTION

Doing the right thing. Delivering the right product.

Doing it the right way. Satisfying our customer’s needs.

Doing it right the first time. Meeting the customer’s expectations.

Doing it on time. Treating every customer with integrity, courtesy, and respect.

15

An organization’s 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 Gaps

Producer’s View Meets requirements

Consumer’s View Fit for use

Start

ProducerGap

CustomerGap

Quality as delivered

Producer view of quality as specified

Customer view of quality as expected

16

• Focus on the Customer• Customer Satisfaction is the essence of a Quality

Product• Customer may be internal or external• Internal customer receives anything passed

between groups• External customer uses the products or services

provided by the organization

Quality Message

17

There are many ways to improve Software Quality• Software Quality Objectives• Software Quality Assurance Activities• Testing Strategy• Software Engineering Guidelines• Formal and Informal Technical Reviews• Audits• Process Improvement• Change Control Processes• Measurement, Prototyping, and Proof

Improving Software Quality

18

• Money spent beyond the cost to build the product right the first time

• Frequently referred to today as Cost of Non Quality or Cost of Poor Performance

Cost of Quality

Failure Cost

Appraisal Cost

Prevention Cost

Cost of ProductionCo

st o

f Qua

lity

Testing is a part of the cost of quality

Build

Cos

t

Total Production Cost

19

• Preventive Costs - Costs associated with preventing errors• Training• Establishing methods and procedures• Tool acquisition

• Appraisal Costs - Costs associated with the detection of errors• Inspections• Testing

• Failure Costs - Costs associated with defective products delivered to customers• Analyze, correct and retest defects• Staffing Help Desk• Damage caused by defect• Damage caused by defect• Idle users

Cost of Quality

20

Mark “P” for Prevention; “A” for Appraisal; “F” for Failure:

1) Conducting Reviews and Inspections2) Implementing Standards3) Conducting Rework4) Attending Training/Education5) Planning for Quality6) Code Inspection7) Cancelled Projects8) Failure & Recovery of Data9) Defect Reporting Standards10) Quality Improvement11) Testing12) Conducting a Post Project Review13) Lost Benefits

Cost of Quality

AP

FP

PA

FFP

PA

AF

21

Which of the following is NOT a category of the Cost of Quality?a) Failure Costb) Appraisal Costc) Build Costd) Preventive Cost

In defining the cost of quality, appraisal costs are BEST described as:e) Costs incurred to review completed products against requirementsf) Costs which can not be recoupedg) All costs associated with defective productsh) None of the above

Exercise

• Cost of Quality will vary from Organization to Organization

Cost of Quality – Iceberg Diagram

22

Rework

Testing Costs

RejectsWaste

Customer Returns Inspection

Costs

RecallsExcessive Overtime

Pricing or Billing Errors

Excessie Employee Fluctuation

Excessive IT System Costs

Excessive Field Service Expenses

Planning Delays

Development Cost of Failed Product

Late Paperwork

Access Inventory

Unused Capacity

Incorrectly Completed Sales Order

Complaint Handling

Time with Dissatisfied Customer

23

Question

Is Quality Free?

24

Cost of Quality - ROI

25

• The “cost of quality” (COQ) isn’t the price of creating a quality product or service. It’s 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)

26

• 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)