Skip to main content
Prepared by:
Asmaa F. Matar.
Mona M. Abd El-Rahman.
 Why testing is necessary ?
 What is testing ?
 Testing principals.
 Testing process.
 Why testers ?
 Testing in development life cycle.
 Configuration management.
 QC vs QA.
.
 Health equipment.
 Transportations.
 Banking
 Insurance
 Education
 Scientific Research
Risks
(Poor Quality)
Humans
(Death, Injury)
Economy
(Money, Time)
Business
(Revenue,
Reputation)
 Msnbc published the news of 2010 bug hits
millions of German bank cards.
Guardin.co.uk said they paid about (€300m).
 Apple Maps gives us directions to nowhere
(2012).
 Find defects.
 Measure quality.
 Provide confidence.
Errors
&
Mistakes
- Documents.
- Code
- Software system
Defect or Fault
Failure
Defect
Injection
Detection
Prevention
- A defect injected at the time
the causing error is made.
- A defect is detected at
The time when failure occurs.
- Finding defects in
requirements docs or static
code can prevent detecting
them in running systems.
“The process consisting of all life cycle
activities, both static and dynamic concerned
with planning , preparation and evaluation of
software products and related work products to
determine that they satisfy specified
requirements , to demonstrate that they are fit for
purpose and to detect defects”.
It can be defined as:
Suppose You are given “Pen” with instructions to
test it .
What will you do ?
Testing
Static
Reviews
Dynamic
Functional
Non-
Functional
Performance Security Usability
 Testing Shows Presence of defects.
 Exhaustive testing is impossible.
 Early Testing.
 Defect Clustering.
 Pesticide Paradox .
 Testing is context dependent.
 Absence of errors fallacy.
Planning
and
Control
Analysis
and
design
Implemen
tation and
execution
Evaluating
Exit criteria
And
reporting
Closure
 Ongoing comparison of actual progress
against plan.
 Reporting status.
 Takes into account feedback of monitoring and
control.
 Reviewing the test basis.
 Evaluating testability of test basis and test
objects.
 Identifying and prioritizing test conditions
 Designing and prioritizing test cases.
 Identifying necessary test data
 Designing the test environment set-up and
identifying any required infrastructure and tools.
 Creating test cases , writing test procedures.
 Creating test suits.
 Prepare test execution plans.
 Execute test cases.
 Logging test outcomes and related details.
 Checking results and reporting.
 Running confirmation and regression testing.
 Checking test logs against the exit criteria
specified in the planning.
 Assessing if more tests are needed.
 Writing a test summary report for stake
holders.
 Checking that deliverables have been
delivered as planned.
 Archiving the test environment and the test
infrastructure for later reuse.
 Analyzing lessons learned for future releases
and projects .
The amount of testing needed is proportionate
with:
 Risk.
 Defect cost.
 Information needed.
 Project constraints.
 Test infrastructure.
Breakdown
Build
 Curiosity.
 Clear thinking skills.
 Top flight reading speed and comprehension.
 Attention to details.
 Quick learner (outside of testing).
Component Test
Integration test
System test
Acceptance
Test
Waterfall
(Sequential development model)
Requirements
Analysis
Design
Code
Test
Requirements
Analysis
Design
Code Component test
Integration test
System test
Acceptance test
V-Model
W-Model
Iterative incremental
The purpose of configuration management is to
establish and maintain the integrity of the
products (components, data and documentation)
of the software system through the project and
product lifecycle.
Configuration Management will ensure the
follow:
- All items of testware are
identified, version
controlled, tracked for
changes related to each
others and related to
development items (test
objects) so that
traceability can be
maintained throughout the
test process.
- All identified documents
and software items are
referenced unambiguously
in the test documentation for
the tester, configuration
management helps to
uniquely identify and
reproduce the test item, test
documents, the tests and test
harness.
Benefits
To
Testing
Traceability
Clear
Documentation
Unique
Identification
How to report an incidents ?!
 Incident Id.
 Clear title.
 Link to a test case and a user story.
 Tester name.
 Detected in: Build No.
 Solved in: Build No.
 Assigned to:
 Test environment.
 Scenario to reproduce the bug.
 Actual results.
 Attach screenshots or videos.
 Expected Results.
Quality Assurance (QA) Quality Control (QC)
Definition
Set of activities for ensuring
quality in the processes by which
products are developed.
Set of activities for ensuring
quality in products. The
activities focus on identifying
defects in the actual products
produced
Aims to
Prevent defects with a focus on
the process used to make the
product. It is a proactive quality
process.
Identify (and correct) defects
in the finished product.
Quality control, therefore, is a
reactive process
Goal
Improve development and test
processes so that defects do
not arise when the product is
being developed.
Identify defects after a
product is developed and
before it's released.
Feel free to contact us
Asmaa.matar@it-qan.com
Mona.m.abdelrahman@gmail.com