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

Software testing fundamentals

  • 1.
    Prepared by: Asmaa F.Matar. Mona M. Abd El-Rahman.
  • 2.
     Why testingis necessary ?  What is testing ?  Testing principals.  Testing process.  Why testers ?  Testing in development life cycle.  Configuration management.  QC vs QA.
  • 4.
    .  Health equipment. Transportations.  Banking  Insurance  Education  Scientific Research
  • 5.
  • 6.
     Msnbc publishedthe 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).
  • 7.
     Find defects. Measure quality.  Provide confidence.
  • 8.
    Errors & Mistakes - Documents. - Code -Software system Defect or Fault Failure
  • 9.
    Defect Injection Detection Prevention - A defectinjected 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.
  • 11.
    “The process consistingof 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:
  • 13.
    Suppose You aregiven “Pen” with instructions to test it . What will you do ?
  • 14.
  • 15.
     Testing ShowsPresence of defects.  Exhaustive testing is impossible.  Early Testing.  Defect Clustering.  Pesticide Paradox .  Testing is context dependent.  Absence of errors fallacy.
  • 17.
  • 18.
     Ongoing comparisonof actual progress against plan.  Reporting status.  Takes into account feedback of monitoring and control.
  • 19.
     Reviewing thetest 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.
  • 20.
     Creating testcases , writing test procedures.  Creating test suits.  Prepare test execution plans.
  • 21.
     Execute testcases.  Logging test outcomes and related details.  Checking results and reporting.  Running confirmation and regression testing.
  • 22.
     Checking testlogs against the exit criteria specified in the planning.  Assessing if more tests are needed.  Writing a test summary report for stake holders.
  • 23.
     Checking thatdeliverables have been delivered as planned.  Archiving the test environment and the test infrastructure for later reuse.  Analyzing lessons learned for future releases and projects .
  • 25.
    The amount oftesting needed is proportionate with:  Risk.  Defect cost.  Information needed.  Project constraints.  Test infrastructure.
  • 27.
  • 28.
     Curiosity.  Clearthinking skills.  Top flight reading speed and comprehension.  Attention to details.  Quick learner (outside of testing).
  • 29.
  • 31.
  • 32.
    Requirements Analysis Design Code Component test Integrationtest System test Acceptance test V-Model
  • 33.
  • 34.
  • 36.
    The purpose ofconfiguration 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.
  • 37.
    Configuration Management willensure 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.
  • 38.
  • 39.
    How to reportan incidents ?!  Incident Id.  Clear title.  Link to a test case and a user story.  Tester name.  Detected in: Build No.  Solved in: Build No.
  • 40.
     Assigned to: Test environment.  Scenario to reproduce the bug.  Actual results.  Attach screenshots or videos.  Expected Results.
  • 42.
    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.
  • 44.
    Feel free tocontact us Asmaa.matar@it-qan.com Mona.m.abdelrahman@gmail.com

Editor's Notes

  • #9 Humans do mistakes. Mistakes may lead to defects in source code or system specifications. Defects are detected only when they leads to failures (code is executed), not all defects do so. Failures are considered problems when they occurred in live systems. An observed failure is an incident.
  • #12 - Executing SW is only part of testing ,other activities exist before and after execution. - Testing activities include: planning and control ,choosing test conditions , designing test cases and checking results , evaluating exit criteria , reporting and closure
  • #34 - Verification (Reviews)  Are we build the right system ? - Validation (Testing running system)  Are we building the system right ?