26
www.4sakademi.com.tr

4S Akademi - QAI - Software Testing Principles and Concepts

Embed Size (px)

Citation preview

Page 1: 4S Akademi - QAI - Software Testing Principles and Concepts

www.4sakademi.com.tr

Page 2: 4S Akademi - QAI - Software Testing Principles and Concepts

Skill Category 1 Software Testing Principles and Concepts

Page 3: 4S Akademi - QAI - 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

Page 4: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 5: 4S Akademi - QAI - Software Testing Principles and Concepts

Quality 101

Page 6: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 7: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 8: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 9: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 10: 4S Akademi - QAI - Software Testing Principles and Concepts

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)

Page 11: 4S Akademi - QAI - Software Testing Principles and Concepts

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)

Page 12: 4S Akademi - QAI - Software Testing Principles and Concepts

12

Questions?

Page 13: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 14: 4S Akademi - QAI - Software Testing Principles and Concepts

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.

Page 15: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 16: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 17: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 18: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 19: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 20: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 21: 4S Akademi - QAI - Software Testing Principles and Concepts

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

Page 22: 4S Akademi - QAI - Software Testing Principles and Concepts

• 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

Page 23: 4S Akademi - QAI - Software Testing Principles and Concepts

23

Question

Is Quality Free?

Page 24: 4S Akademi - QAI - Software Testing Principles and Concepts

24

Cost of Quality - ROI

Page 25: 4S Akademi - QAI - Software Testing Principles and Concepts

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)

Page 26: 4S Akademi - QAI - Software Testing Principles and Concepts

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)