SlideShare a Scribd company logo
SOFTWARE TESTING
AND QUALITY ASSURANCE
Ahmed Maher Khalifa22 Feb, 2015
The Three Determinants of
Profitability
 Productivity – the measure of efficiency defined as
the amount of output achieved per unit of input.
 Cost of operations .(acquiring, moving , converting
purchased materials throughout the supply chain)
 Quality of goods and services that creates
customer satisfaction.
Definitions of Quality
 Perfection
 Consistency
 Eliminating waste
 Compliance with policies and procedures
 Providing good usable pro
 Speed of delivery
 Doing it right the first time
 Pleasing the customers
 Total consumer service and satisfaction
The above definitions are only a sample of the answers for
managers from 86 firm ,where asked to define quality
Why is Quality The most significant
long term factor of the three ?
 Provides organization with competitive edge.
 Reduces costs due to returns ,rework and scrap.
 Increase productivity ,profits and other measures
of success.
 Generates satisfied customers.
Ford car recall from markets in 2002, 5 plants closed
Quality Perspectives
 Judgmental Perspective
Also known as Transcendent perspective , means
rising above limitations ( excellence ).
Rolex watches, BMW cars
 Product-Based Perspective : quantities of product
attributes
Number of cylinders in an engine
 User-Based Perspective : fitness for intended use
a sedan car satisfies the need to cruise highways ,
while a 4x4car is more satisfying for hard terrains.
Defining Quality according to the viewed
perspective
 Value-based definition: quality vs. price
a generic product with low price, might win the
market over a brand name product, if it
performs the same. (use / $) ratio.
 Manufacturing-based definition: conformance to
specifications is a key definition for quality , it
provides a means of measurement for Quality.
Customer-Driven Quality
 “Quality is Meeting or exceeding
customer expectations”
 Customers can be...
 Consumers
 External customers
 Internal customers
Exercise: WHICH PRESPECTIVE
?!
 We will measure the attributes of the software,
e.g. its reliability in terms of mean time
between failures (MBTF),and release when
they reach a specified level e.g. MTBF of 12
hours.
 Product-Based Perspective
Exercise: WHICH PRESPECTIVE
?!
 We will ask the users whether they can carry
out their tasks; if they are satisfied that they
can we will release the software.
 User-Based Perspective
Exercise: WHICH PRESPECTIVE
?!
 We will use a recognized software
development process. We will only release
the software if there are fewer than five
outstanding high-priority defects once the
planned tests are complete.
 Manufacturing-based Perspective
Exercise: WHICH PRESPECTIVE
?!
 We have time-boxed the testing to two weeks
to stay in the project budget.
 Value-based Perspective
Exercise: WHICH PRESPECTIVE
?!
 We like this software! It is fun and it's the latest
thing! So what if it has a few problems? We
want to use it anyway...
 Judgmental Perspective
Without Quality!
A Traditional Testing Approach
 Show that the system:
 does what it should
 doesn't do what it shouldn't
Fastest achievement: easy test cases
Goal: show working
Success: system works
Result: faults left in
A Better Testing Approach
 Show that the system:
 does what it shouldn't
 doesn't do what it should
Fastest achievement: difficult test
cases
Goal: find faults
Success: system fails
Result: fewer faults left
in
The Testing Paradox
Purpose of testing: to find faults
The best way to build confidence
is to try to destroy it
Purpose of testing: build
confidence
Finding faults destroys confidence
Purpose of testing: destroy confidence
Few
Faults
Many
Faults
Few
Faults
Few
Faults
Few
Faults
You may
be here
You think
you are here
Test
Quality
Low
High
Software Quality
Low High
Assessing software quality
So Why Is Testing Necessary?
 Because software is likely to have faults
 To learn about the reliability of the software
 To prove that the software has no faults
 Because failures can be very expensive
 To avoid being sued by customers
 To stay in business
Software is likely to have faults
Verification and Validation
 Consider following specification
 A clickable button with name Submet
 Verification would be check the design doc
and correcting the spelling mistake.
 Otherwise development team will create
button like
Verification and Validation
 So new specification is
 A clickable button with name Submit
 Once the code is ready, Validation is done. A
Validation test found – Owing to Validation
testing, the development team will make the
submit button clickable
Exercise: Verification and Validation
 Requirement specification
 User wants to control the lights in 4 rooms by remote
command sent from the UI for each room separately.
 Functional specification
 The UI will contain 4 checkboxes labeled according to
rooms they control.
 When a checkbox is checked, the signal is sent to
corresponding light. A green dot appears next to the
checkbox
 When a checkbox is unchecked, the signal (turn off) is
sent to corresponding light. A red dot appears next to
the checkbox.
Exercise : Finding defects
Answer: Finding defects
 Typing mistake in heading text of the form
 Heading Color Mismatch
 Choose User ID label is not required
 User id should not contain any special character
 Enter User ID label should come in place of labels Choose User ID
 Enter Password label should come in place of label Password
 Name field should not contain any special character
 Confirm password field does not show content in encrypted mode.
 Country drop down is not adjacent to its label
 Captch characters are not readable
 Verification input field already prefilled with character “r”
 The register button should read as Register
 Email help text should state “Required only for verification. Will not be
published”
Exercise: Finding defects in
Notepad
Answer: Finding defects
 The name of application does not appear on Title space.
 The title space seems cutting on right side where close button is
placed.
 No button for minimizing.
 The Edit menu should be displayed in a ways that the menu’s left
wall should be aligned to Edit option.
 Copy option is enabled by default.
 For Undo the generalized shortcut key is Ctrl+Z and its difficult for
users to get used to with different keys for the default action like
Undo.
 For Cut, Copy and Paste, no shortcut keys have been displayed /
provided.
 The Title bar does not show application logo.
 The Edit menu seems to be incomplete at end.
Tester Tasks Developer Tasks
Incident Lifecycle
1 steps to reproduce a
fault
2 test fault or system fault
3 external factors that
influence the symptoms
4 root cause of the
problem
5 how to repair (without
introducing new
problems)
6 changes debugged and
properly component
tested7 is the fault fixed?
Source: Rex Black “Managing the Testing Process”, MS Press, 1999
Exercise: Show Defect Reporting
Skills
 Write detailed defect report for this sample
defect:
 After logging into Gmail, it navigates to
Google.com
Answer: Show Defect Reporting
Skills
 Defect Id: 1123
 Description : After logging into Gmail, it navigates to
Google.com
 Date Identified : 25 -AUG-2014
 Severity : Critical
 Priority : High
 Reproducible : Yes
 Steps : 1. Enter gmail.com in the browser
2. Enter your credentials
3. Click on the ‘Sign in’ button
4. Google.com page will be dispalyed
 Status : Open
 Identified By : XXXX
 Assigned to :YYY
ClearQuest: Defect Tracking System
Exercise: Show Defect Reporting
Skills
 Requirement: After registering to the site –
example.com, a new user receives an e-mail,
which contains link to reset the default set
password.
 Issue: When user registers via mobile, he
receives the e-mail for two times.
 Log a defect report for this issue with all
required defect report fields.
Answer: Show Defect Reporting
Skills
 Bug Subject/Description: After register to the website from mobile the user receives the e-mail to
reset the default password for two times.
 Module Name: Registration
 Release No.: 0.0.1
 Reported Date: DD/MM/YYYY
 Assignee To : Developer X
 Severity: Major
 Priority: 2
 Steps:
1- Type The website URL on your browser on your mobile and go
2- Press the “Registration” button
3- Enter all required date
4- Press “Submit”
5- Open the email you register with to check the mail for reset password
 Actual Result:
The user which register via email received two emails to reset password
 Expected Result:
The new register user via email should receive only one email to reset the password
 ScreenShots:
Exercise: Writing test scenarios
 Write test ideas for this Scenario: You are at
Grocery store’s checkout counter. You have
bought five items (x, y, z, a, and b). You make
payment and move to EXIT door.
Notes:
 The checkout counter is human less
 Payment is done by card or cash
Answer: Writing test scenarios
 If the checkout counter is human less, scan all the five items,
scan your card and make payment.
 The scanners should scan proper relevant information.
 All the items bought should have barcode so that they are
scan able.
 The relevant software and printers should be in working
condition
 Once all items scanned, a bill should be generated and given
to the customer.
 For payment multiple options should be allowed, cash, card
(credit card, debit card).
 If payment is done by card, the transactions should be
secured.
 Customer should be able to see the EXIT sign easily
 At EXIT, there should be some check that customer carries
only the bought and billed items.
Drilling down: From Requirement
to Test script
Business
Requirement
Test
Requirement
Test
Scenarios/
Cases
Test
Procedure/
Script
Generates
1
M
Generates
1
M
Executes/Runs
1
M
ATM Example
Business
Requirements:
- “ATM must do
withdrawals”
- “Withdrawals are
between $20-$300”
- “Withdrawals are in $20
multiples”
Group Exercise!
1. Limit the scope to
these 3
requirements.
2. What will you
validate (test for)?
3. Are there any
implied requirements
that may not be
written out?
Withdrawal Basic Model
1. The customer inserts the card
2. The customer enters his PIN
3. The system displays the main menu
4. The customer select Withdraw option
5. The customer enter dollar amount
6. The system validate amount received
customer
inserts
card
customer
enters PIN
Customer
select
withdraw
option
Customer
enter
amount
System
Validate the
amount
Card entered
PINentered
DisplayMainMenu
Amount
entered
Example: Testing Withdrawals on an
ATM
“Validate that a withdrawal option is available”
"Validate that a withdrawal of a multiple of $20, between $20-$300 can be
done"
"Validate that <$20 is not allowed"
"Validate that >$300 is not allowed"
"Validate that $20 multiples >$300 is not allowed"
"Validate that non-$20 multiples between $20-$300 not allowed"
"Validate strange numeric amounts/combinations not allowed (all zero's,
all 9's, 20.0000)"
“Validate that the withdrawal received is equal to the amount requested”
"Validate that a valid withdrawal amount must be below the account
balance”
Test Requirements Identified (among others):
Test Scenarios/Cases
David Capocci, CQA, CSTE
Case # P/F $ entered Expected
Results
Actual
Results
WD01 Pass 20 $20 withdrawn
WD02 Pass 40 $40 withdrawn
WD03 Pass 60 $60 withdrawn
WD04 Pass 80 $80 withdrawn
WD05 Pass 100 $100 withdrawn
: : : :
WD13 Pass 260 $260 withdrawn
WD14 Pass 280 $280 withdrawn
WD15 Pass 300 $300 withdrawn
“Validate that a withdrawal of a multiple of $20,
between $20-$300 can be done”
Test Procedure & Script for previous example
Step 1: Insert Card
Step 2: Enter PIN
Step 3: Select Withdraw
option
Step 4: Enter dollar amount
Step 5: Validate amount
received
Do until EOF ‘until end of data file
Input data record
Senddata CARDINFO to “Cardfield”
Senddata “Enter”
Senddata PIN to “PINFfield”
Senddata “Enter”
Senddata “W” to “SelectionField”
Senddata AMOUNT to “DollarField”
Senddata “Enter”
If ErrorMsg > 0 then print ErrorMsg
Print “DollarAMTgiven”
Loop
Procedure: Script: (in pseudo-code )
The “Authentication” scenario
1. The customer inserts the card
2. The system checks the card’s validity
3. The system displays the “Enter PIN” Dialog
4. The customer enters his PIN
5. The system checks the PIN
6. The system displays the main menu
Requirements:
1- Draw the basic model
2- Draw the refined model
3- Generate the test cases
4- Write Pseudo code
The “Authentication” scenario
Model
Test Case Derivation
Summary
 We learned of the importance of Quality
 We learned the five quality perspectives
 We learned of the difference between Verification and
Validation
 We learned some testing and QA activities
 We learned how to write a defect report
 We learned how to write test scenario
 We learned how to create test case from test scenario
Questions ?

More Related Content

What's hot

Sanity testing and smoke testing
Sanity testing and smoke testingSanity testing and smoke testing
Sanity testing and smoke testing
MUHAMMAD FARHAN ASLAM
 
Software testing
Software testing Software testing
Software testing
Kunal Prajapati
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
Method overloading and constructor overloading in java
Method overloading and constructor overloading in javaMethod overloading and constructor overloading in java
Method overloading and constructor overloading in java
baabtra.com - No. 1 supplier of quality freshers
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
Komal Garg
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
Abrar ali
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
Gaurav Rawat
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
ishmecse13
 
S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)
Jayesh Buwa
 
Simple Java Programs
Simple Java ProgramsSimple Java Programs
Simple Java Programs
AravindSankaran
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
shiva krishna
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
rishi ram khanal
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
University of Sargodha
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Unit II - 2 - Operating System - Threads
Unit II - 2 - Operating System - ThreadsUnit II - 2 - Operating System - Threads
Unit II - 2 - Operating System - Threads
cscarcas
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
AMITJain879
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
Garuda Trainings
 

What's hot (20)

Sanity testing and smoke testing
Sanity testing and smoke testingSanity testing and smoke testing
Sanity testing and smoke testing
 
Software testing
Software testing Software testing
Software testing
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Method overloading and constructor overloading in java
Method overloading and constructor overloading in javaMethod overloading and constructor overloading in java
Method overloading and constructor overloading in java
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)
 
Simple Java Programs
Simple Java ProgramsSimple Java Programs
Simple Java Programs
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Implementation issues software engineering
Implementation issues software engineeringImplementation issues software engineering
Implementation issues software engineering
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Unit II - 2 - Operating System - Threads
Unit II - 2 - Operating System - ThreadsUnit II - 2 - Operating System - Threads
Unit II - 2 - Operating System - Threads
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
 

Similar to SWQ

2020 Updated Microsoft MB-200 Questions and Answers
2020 Updated Microsoft MB-200 Questions and Answers2020 Updated Microsoft MB-200 Questions and Answers
2020 Updated Microsoft MB-200 Questions and Answers
douglascarnicelli
 
Black box testing
Black box testingBlack box testing
Black box testing
Anil Shivaa
 
Black box
Black boxBlack box
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
Hoa Le
 
Quality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpseQuality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpse
Tahmid Munaz
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
gavhays
 
Software testing lecture notes
Software testing  lecture notesSoftware testing  lecture notes
Software testing lecture notes
TEJVEER SINGH
 
Microsoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeMicrosoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafe
JeannieHeldt
 
Bdd Show and Tell
Bdd Show and TellBdd Show and Tell
Bdd Show and Tell
David Harrison
 
Managing customer complaints
Managing customer complaintsManaging customer complaints
Managing customer complaints
Jerry Bark
 
Ashwin resume
Ashwin resumeAshwin resume
Ashwin resume
Ashwin Sugandhi
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
Philip Johnson
 
AcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScriptsAcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScripts
Russell Pannone
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
b4usolution .
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
An Nguyen
 
Software testing By M.Yameen
Software testing By M.YameenSoftware testing By M.Yameen
Software testing By M.Yameen
Muhammad Yameen Shakir
 
Conversion Rate Optimization
Conversion Rate OptimizationConversion Rate Optimization
Conversion Rate Optimization
2Checkout
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Artemisa Yescas Engler
 
software testing technique
software testing techniquesoftware testing technique
software testing technique
Rana assad ali
 
Industrial Training in Software Testing
Industrial Training in Software TestingIndustrial Training in Software Testing
Industrial Training in Software Testing
Arcadian Learning
 

Similar to SWQ (20)

2020 Updated Microsoft MB-200 Questions and Answers
2020 Updated Microsoft MB-200 Questions and Answers2020 Updated Microsoft MB-200 Questions and Answers
2020 Updated Microsoft MB-200 Questions and Answers
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Black box
Black boxBlack box
Black box
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Quality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpseQuality Assurance & Testing in a glimpse
Quality Assurance & Testing in a glimpse
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
Software testing lecture notes
Software testing  lecture notesSoftware testing  lecture notes
Software testing lecture notes
 
Microsoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeMicrosoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafe
 
Bdd Show and Tell
Bdd Show and TellBdd Show and Tell
Bdd Show and Tell
 
Managing customer complaints
Managing customer complaintsManaging customer complaints
Managing customer complaints
 
Ashwin resume
Ashwin resumeAshwin resume
Ashwin resume
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
AcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScriptsAcceptCriteria_TestCases_TestScripts
AcceptCriteria_TestCases_TestScripts
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
 
Software testing By M.Yameen
Software testing By M.YameenSoftware testing By M.Yameen
Software testing By M.Yameen
 
Conversion Rate Optimization
Conversion Rate OptimizationConversion Rate Optimization
Conversion Rate Optimization
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
 
software testing technique
software testing techniquesoftware testing technique
software testing technique
 
Industrial Training in Software Testing
Industrial Training in Software TestingIndustrial Training in Software Testing
Industrial Training in Software Testing
 

SWQ

  • 1. SOFTWARE TESTING AND QUALITY ASSURANCE Ahmed Maher Khalifa22 Feb, 2015
  • 2. The Three Determinants of Profitability  Productivity – the measure of efficiency defined as the amount of output achieved per unit of input.  Cost of operations .(acquiring, moving , converting purchased materials throughout the supply chain)  Quality of goods and services that creates customer satisfaction.
  • 3. Definitions of Quality  Perfection  Consistency  Eliminating waste  Compliance with policies and procedures  Providing good usable pro  Speed of delivery  Doing it right the first time  Pleasing the customers  Total consumer service and satisfaction The above definitions are only a sample of the answers for managers from 86 firm ,where asked to define quality
  • 4. Why is Quality The most significant long term factor of the three ?  Provides organization with competitive edge.  Reduces costs due to returns ,rework and scrap.  Increase productivity ,profits and other measures of success.  Generates satisfied customers. Ford car recall from markets in 2002, 5 plants closed
  • 5. Quality Perspectives  Judgmental Perspective Also known as Transcendent perspective , means rising above limitations ( excellence ). Rolex watches, BMW cars  Product-Based Perspective : quantities of product attributes Number of cylinders in an engine  User-Based Perspective : fitness for intended use a sedan car satisfies the need to cruise highways , while a 4x4car is more satisfying for hard terrains.
  • 6. Defining Quality according to the viewed perspective  Value-based definition: quality vs. price a generic product with low price, might win the market over a brand name product, if it performs the same. (use / $) ratio.  Manufacturing-based definition: conformance to specifications is a key definition for quality , it provides a means of measurement for Quality.
  • 7. Customer-Driven Quality  “Quality is Meeting or exceeding customer expectations”  Customers can be...  Consumers  External customers  Internal customers
  • 8. Exercise: WHICH PRESPECTIVE ?!  We will measure the attributes of the software, e.g. its reliability in terms of mean time between failures (MBTF),and release when they reach a specified level e.g. MTBF of 12 hours.  Product-Based Perspective
  • 9. Exercise: WHICH PRESPECTIVE ?!  We will ask the users whether they can carry out their tasks; if they are satisfied that they can we will release the software.  User-Based Perspective
  • 10. Exercise: WHICH PRESPECTIVE ?!  We will use a recognized software development process. We will only release the software if there are fewer than five outstanding high-priority defects once the planned tests are complete.  Manufacturing-based Perspective
  • 11. Exercise: WHICH PRESPECTIVE ?!  We have time-boxed the testing to two weeks to stay in the project budget.  Value-based Perspective
  • 12. Exercise: WHICH PRESPECTIVE ?!  We like this software! It is fun and it's the latest thing! So what if it has a few problems? We want to use it anyway...  Judgmental Perspective
  • 14. A Traditional Testing Approach  Show that the system:  does what it should  doesn't do what it shouldn't Fastest achievement: easy test cases Goal: show working Success: system works Result: faults left in
  • 15. A Better Testing Approach  Show that the system:  does what it shouldn't  doesn't do what it should Fastest achievement: difficult test cases Goal: find faults Success: system fails Result: fewer faults left in
  • 16. The Testing Paradox Purpose of testing: to find faults The best way to build confidence is to try to destroy it Purpose of testing: build confidence Finding faults destroys confidence Purpose of testing: destroy confidence
  • 17. Few Faults Many Faults Few Faults Few Faults Few Faults You may be here You think you are here Test Quality Low High Software Quality Low High Assessing software quality
  • 18. So Why Is Testing Necessary?  Because software is likely to have faults  To learn about the reliability of the software  To prove that the software has no faults  Because failures can be very expensive  To avoid being sued by customers  To stay in business
  • 19. Software is likely to have faults
  • 20. Verification and Validation  Consider following specification  A clickable button with name Submet  Verification would be check the design doc and correcting the spelling mistake.  Otherwise development team will create button like
  • 21. Verification and Validation  So new specification is  A clickable button with name Submit  Once the code is ready, Validation is done. A Validation test found – Owing to Validation testing, the development team will make the submit button clickable
  • 22. Exercise: Verification and Validation  Requirement specification  User wants to control the lights in 4 rooms by remote command sent from the UI for each room separately.  Functional specification  The UI will contain 4 checkboxes labeled according to rooms they control.  When a checkbox is checked, the signal is sent to corresponding light. A green dot appears next to the checkbox  When a checkbox is unchecked, the signal (turn off) is sent to corresponding light. A red dot appears next to the checkbox.
  • 24. Answer: Finding defects  Typing mistake in heading text of the form  Heading Color Mismatch  Choose User ID label is not required  User id should not contain any special character  Enter User ID label should come in place of labels Choose User ID  Enter Password label should come in place of label Password  Name field should not contain any special character  Confirm password field does not show content in encrypted mode.  Country drop down is not adjacent to its label  Captch characters are not readable  Verification input field already prefilled with character “r”  The register button should read as Register  Email help text should state “Required only for verification. Will not be published”
  • 26. Answer: Finding defects  The name of application does not appear on Title space.  The title space seems cutting on right side where close button is placed.  No button for minimizing.  The Edit menu should be displayed in a ways that the menu’s left wall should be aligned to Edit option.  Copy option is enabled by default.  For Undo the generalized shortcut key is Ctrl+Z and its difficult for users to get used to with different keys for the default action like Undo.  For Cut, Copy and Paste, no shortcut keys have been displayed / provided.  The Title bar does not show application logo.  The Edit menu seems to be incomplete at end.
  • 27. Tester Tasks Developer Tasks Incident Lifecycle 1 steps to reproduce a fault 2 test fault or system fault 3 external factors that influence the symptoms 4 root cause of the problem 5 how to repair (without introducing new problems) 6 changes debugged and properly component tested7 is the fault fixed? Source: Rex Black “Managing the Testing Process”, MS Press, 1999
  • 28. Exercise: Show Defect Reporting Skills  Write detailed defect report for this sample defect:  After logging into Gmail, it navigates to Google.com
  • 29. Answer: Show Defect Reporting Skills  Defect Id: 1123  Description : After logging into Gmail, it navigates to Google.com  Date Identified : 25 -AUG-2014  Severity : Critical  Priority : High  Reproducible : Yes  Steps : 1. Enter gmail.com in the browser 2. Enter your credentials 3. Click on the ‘Sign in’ button 4. Google.com page will be dispalyed  Status : Open  Identified By : XXXX  Assigned to :YYY
  • 31. Exercise: Show Defect Reporting Skills  Requirement: After registering to the site – example.com, a new user receives an e-mail, which contains link to reset the default set password.  Issue: When user registers via mobile, he receives the e-mail for two times.  Log a defect report for this issue with all required defect report fields.
  • 32. Answer: Show Defect Reporting Skills  Bug Subject/Description: After register to the website from mobile the user receives the e-mail to reset the default password for two times.  Module Name: Registration  Release No.: 0.0.1  Reported Date: DD/MM/YYYY  Assignee To : Developer X  Severity: Major  Priority: 2  Steps: 1- Type The website URL on your browser on your mobile and go 2- Press the “Registration” button 3- Enter all required date 4- Press “Submit” 5- Open the email you register with to check the mail for reset password  Actual Result: The user which register via email received two emails to reset password  Expected Result: The new register user via email should receive only one email to reset the password  ScreenShots:
  • 33. Exercise: Writing test scenarios  Write test ideas for this Scenario: You are at Grocery store’s checkout counter. You have bought five items (x, y, z, a, and b). You make payment and move to EXIT door. Notes:  The checkout counter is human less  Payment is done by card or cash
  • 34. Answer: Writing test scenarios  If the checkout counter is human less, scan all the five items, scan your card and make payment.  The scanners should scan proper relevant information.  All the items bought should have barcode so that they are scan able.  The relevant software and printers should be in working condition  Once all items scanned, a bill should be generated and given to the customer.  For payment multiple options should be allowed, cash, card (credit card, debit card).  If payment is done by card, the transactions should be secured.  Customer should be able to see the EXIT sign easily  At EXIT, there should be some check that customer carries only the bought and billed items.
  • 35. Drilling down: From Requirement to Test script Business Requirement Test Requirement Test Scenarios/ Cases Test Procedure/ Script Generates 1 M Generates 1 M Executes/Runs 1 M
  • 36. ATM Example Business Requirements: - “ATM must do withdrawals” - “Withdrawals are between $20-$300” - “Withdrawals are in $20 multiples” Group Exercise! 1. Limit the scope to these 3 requirements. 2. What will you validate (test for)? 3. Are there any implied requirements that may not be written out?
  • 37. Withdrawal Basic Model 1. The customer inserts the card 2. The customer enters his PIN 3. The system displays the main menu 4. The customer select Withdraw option 5. The customer enter dollar amount 6. The system validate amount received customer inserts card customer enters PIN Customer select withdraw option Customer enter amount System Validate the amount Card entered PINentered DisplayMainMenu Amount entered
  • 38. Example: Testing Withdrawals on an ATM “Validate that a withdrawal option is available” "Validate that a withdrawal of a multiple of $20, between $20-$300 can be done" "Validate that <$20 is not allowed" "Validate that >$300 is not allowed" "Validate that $20 multiples >$300 is not allowed" "Validate that non-$20 multiples between $20-$300 not allowed" "Validate strange numeric amounts/combinations not allowed (all zero's, all 9's, 20.0000)" “Validate that the withdrawal received is equal to the amount requested” "Validate that a valid withdrawal amount must be below the account balance” Test Requirements Identified (among others):
  • 39. Test Scenarios/Cases David Capocci, CQA, CSTE Case # P/F $ entered Expected Results Actual Results WD01 Pass 20 $20 withdrawn WD02 Pass 40 $40 withdrawn WD03 Pass 60 $60 withdrawn WD04 Pass 80 $80 withdrawn WD05 Pass 100 $100 withdrawn : : : : WD13 Pass 260 $260 withdrawn WD14 Pass 280 $280 withdrawn WD15 Pass 300 $300 withdrawn “Validate that a withdrawal of a multiple of $20, between $20-$300 can be done”
  • 40. Test Procedure & Script for previous example Step 1: Insert Card Step 2: Enter PIN Step 3: Select Withdraw option Step 4: Enter dollar amount Step 5: Validate amount received Do until EOF ‘until end of data file Input data record Senddata CARDINFO to “Cardfield” Senddata “Enter” Senddata PIN to “PINFfield” Senddata “Enter” Senddata “W” to “SelectionField” Senddata AMOUNT to “DollarField” Senddata “Enter” If ErrorMsg > 0 then print ErrorMsg Print “DollarAMTgiven” Loop Procedure: Script: (in pseudo-code )
  • 41. The “Authentication” scenario 1. The customer inserts the card 2. The system checks the card’s validity 3. The system displays the “Enter PIN” Dialog 4. The customer enters his PIN 5. The system checks the PIN 6. The system displays the main menu Requirements: 1- Draw the basic model 2- Draw the refined model 3- Generate the test cases 4- Write Pseudo code
  • 44. Summary  We learned of the importance of Quality  We learned the five quality perspectives  We learned of the difference between Verification and Validation  We learned some testing and QA activities  We learned how to write a defect report  We learned how to write test scenario  We learned how to create test case from test scenario