4s akademi - qai - software testing principles and concepts
TRANSCRIPT
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)