Sergejus BartoĹĄ
sergejus.bartos@devbridge.com
Testing: What, How, When
Where is a place for testing?
What to test?
How to test?
When to test?
Putting all together
AsWe Have Learned …
Test Analysis - Inputs
What to test – what object?
Unit / Component
System module
Entire System
Functionality
Is there something more ?
COTS
What to test – quality characteristics?
Functionality
Relia
Functionality Accuracy, Suitability, Interoperability, Security
Reliability Robustness, Fault-tolerance, Recoverability
Usability Understandability, Learnability,Operability,Attractiveness
Efficiency Performance, Resource utilization
Maintainability Analyzability,Changeability, Stability,Testability
Portability Adaptability, Installability,Co-existence, Replicability
(ISTQB Syllabus)
Test Design
How to test
(ISTQB Syllabus)
Example: BoundaryValues
Two and three value testing
String of characters (e.g. a name or address).The number of
characters in the string is between 1 and 30 characters.
The valid partition with valid boundaries of 1 and 30.
The invalid boundaries would be 0 characters (null, just hit the Return
key) and 31 characters. Both of these should produce an error
message.
Example: Equivalence partitioning
Two and three value testing
String of characters (e.g. a name or address).The number of
characters in the string is between 1 and 30 characters.
The valid partition with valid boundaries of 1 and 30.
The invalid boundaries would be 0 and 31 characters.
How many tests ?
Example: DecisionTables
If you are a new customer and you want to open a credit card account then there
are three conditions first you will get a 15% discount on all your purchases today,
second if you are an existing customer and you hold a loyalty card, you get a
10% discount and third if you have a coupon, you can get 20% off today (but it
can’t be used with the ‘new customer’ discount). Discount amounts are added, if
applicable.
http://istqbexamcertification.com/what-is-decision-table-in-software-testing/
Example: StateTransition
http://istqbexamcertification.com/what-is-state-transition-testing-in-software-testing/
Test Design and Implementation
What =What quality attributes of what testing object ?
Function
ality
Reliability Usability Efficiency Maintaina
bility
Portability
Unit
Module
System
COTS
Scope ofTesting
What + How = scope of testing for test objects.
Testing Strategy
Testing Handbook
Test Strategy
What + How = almost readyTESTING STRATEGY
0
10
20
30
40
50
60
70
80
90
100
Module 1
Functionality
Module 2
Functionality
System
Functionality
System
Performance
System Usability
RequiredTests
Test Planning
0
10
20
30
40
50
60
70
80
90
100
Module 1
Functionality
Module 2
Functionality
System
Functionality
System
Performance
System
Usability
Tests required for “whats” - scope
Unit / ComponentTesting
Integration Testing
Deployment / Installation Testing
“SmokeTesting”
SystemTesting
End-To-End Testing
Performance Testing
Regression Testing
Acceptance Testing
Maintenance Testing
What + How + When + Who = almost readyTESTING PLAN
When to test (test phases) ?
Unit / ComponentTesting
IntegrationTesting
Deployment / InstallationTesting
“SmokeTesting”
SystemTesting
End-To-EndTesting
PerformanceTesting
RegressionTesting
AcceptanceTesting
MaintenanceTesting
Test Planning andTest Execution
What + How + When = almost readyTESTING PLAN
0
50
100
150
200
250
Unit Integration Smoke System End-to-End Regession Acceptance
Module 1 Functionality Module 2 Functionality System Functionality System Perfomance System Usability
Few more words aboutTesting Plan
Some people think they don’t need it.
For those who might need:
How you manageTest environments
How you manage Defects
How do you know you are done with testing, are you ready
to release
How many people you need and when
How much hardware and software you need and when
“Quality is never an accident; it is always the result of
intelligent effort.” – John Ruskin

3rd lecture on Software Testing given to KTU students.

  • 1.
  • 2.
    Where is aplace for testing? What to test? How to test? When to test? Putting all together
  • 3.
  • 4.
  • 5.
    What to test– what object? Unit / Component System module Entire System Functionality Is there something more ? COTS
  • 6.
    What to test– quality characteristics? Functionality Relia Functionality Accuracy, Suitability, Interoperability, Security Reliability Robustness, Fault-tolerance, Recoverability Usability Understandability, Learnability,Operability,Attractiveness Efficiency Performance, Resource utilization Maintainability Analyzability,Changeability, Stability,Testability Portability Adaptability, Installability,Co-existence, Replicability (ISTQB Syllabus)
  • 7.
    Test Design How totest (ISTQB Syllabus)
  • 8.
    Example: BoundaryValues Two andthree value testing String of characters (e.g. a name or address).The number of characters in the string is between 1 and 30 characters. The valid partition with valid boundaries of 1 and 30. The invalid boundaries would be 0 characters (null, just hit the Return key) and 31 characters. Both of these should produce an error message.
  • 9.
    Example: Equivalence partitioning Twoand three value testing String of characters (e.g. a name or address).The number of characters in the string is between 1 and 30 characters. The valid partition with valid boundaries of 1 and 30. The invalid boundaries would be 0 and 31 characters. How many tests ?
  • 10.
    Example: DecisionTables If youare a new customer and you want to open a credit card account then there are three conditions first you will get a 15% discount on all your purchases today, second if you are an existing customer and you hold a loyalty card, you get a 10% discount and third if you have a coupon, you can get 20% off today (but it can’t be used with the ‘new customer’ discount). Discount amounts are added, if applicable. http://istqbexamcertification.com/what-is-decision-table-in-software-testing/
  • 11.
  • 12.
    Test Design andImplementation What =What quality attributes of what testing object ? Function ality Reliability Usability Efficiency Maintaina bility Portability Unit Module System COTS
  • 13.
    Scope ofTesting What +How = scope of testing for test objects. Testing Strategy Testing Handbook
  • 14.
    Test Strategy What +How = almost readyTESTING STRATEGY 0 10 20 30 40 50 60 70 80 90 100 Module 1 Functionality Module 2 Functionality System Functionality System Performance System Usability RequiredTests
  • 15.
    Test Planning 0 10 20 30 40 50 60 70 80 90 100 Module 1 Functionality Module2 Functionality System Functionality System Performance System Usability Tests required for “whats” - scope Unit / ComponentTesting Integration Testing Deployment / Installation Testing “SmokeTesting” SystemTesting End-To-End Testing Performance Testing Regression Testing Acceptance Testing Maintenance Testing What + How + When + Who = almost readyTESTING PLAN
  • 16.
    When to test(test phases) ? Unit / ComponentTesting IntegrationTesting Deployment / InstallationTesting “SmokeTesting” SystemTesting End-To-EndTesting PerformanceTesting RegressionTesting AcceptanceTesting MaintenanceTesting
  • 17.
    Test Planning andTestExecution What + How + When = almost readyTESTING PLAN 0 50 100 150 200 250 Unit Integration Smoke System End-to-End Regession Acceptance Module 1 Functionality Module 2 Functionality System Functionality System Perfomance System Usability
  • 18.
    Few more wordsaboutTesting Plan Some people think they don’t need it. For those who might need: How you manageTest environments How you manage Defects How do you know you are done with testing, are you ready to release How many people you need and when How much hardware and software you need and when
  • 19.
    “Quality is neveran accident; it is always the result of intelligent effort.” – John Ruskin

Editor's Notes

  • #7 Robustness -  is the ability of a computer system to cope with errors during execution.  An app is fault-tolerant when it can work consistently in an inconsistent environment. A database application is fault-tolerant when it can access an alternate shard when the primary is unavailable Understandability: the capability of the component to enable the user (system developer) to understand whether the component is suitable, and how it can be used for particular tasks and conditions of use. Learnability: the capability of the software component to enable the user (system developer) to learn the application. For example, the user documentation and the help system should be complete, the help should be context sensitive and explain how to achieve common tasks, etc. Operability: the capability of the software component to enable the user (system developer) to operate and control it. An operability metric should be able to assess whether system developers can operate and control the component. Attractiveness: the capability of the software component to be attractive to the user. Since the users we consider are not end-users, this