SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Testing a Service
A High Level Overview
What do we mean with a service?
•   What do we really mean with a service?

•   Client-server application?
     –   Do we call something a service just because we have a back end solution to our application that has to be maintained conintuously?


•   A normal application?
     –   Is this a product, even though updates are regularly available?


•   A web application and back end?

•   Is it something more than just the application?
     –   Do we mean something more than just the application (back end or not)? Are we delivering an application to the customer, or our we
         delivering a service that happens to include an application of some sort?
Difference between Goods and Services[9]
•There are five essential differences between Goods and Services [9]

       1. The first is that a service is an intangible process that cannot be weighed or measured, whereas a good is a tangible
          output of a process that has physical dimensions
       2. The second is that a service requires some degree of interaction with the customer for it to be a service. The
          interaction may be brief, but it must exist for the service to be complete.
       3. The third is that services, with the big exception of hard technologies such as ATMs and information technologies such
          as answering machines and automated Internet exchanges, are inherently heterogeneous—they vary from day to day
          and even hour by hour as a function of the attitudes of the customer and the servers.
       4. The fourth is that services as a process are perishable and time dependent, and unlike goods, they can't be stored
       5. And fifth, the specifications of a service are defined and evaluated as a package of features that affect the five senses.
              • These features are
                       • Supporting facility (location, decoration, layout, architectural appropriateness, supporting equipment).
                       • Facilitating goods (variety, consistency, quantity of the physical goods that go with the service; for
                           example, the food items that accompany a meal service).
                       • Explicit services (training of service personnel, consistency of service performance, availability and
                           access to the service, and comprehensiveness of the service).
                       • Implicit services (attitude of the servers, atmosphere, waiting time, status, privacy and security, and
                           convenience).
The Goods-Services Continuum [9]

• When is something goods and when is something services? The answer is not black or white, but more of a gray scale




 • Pure goods industries have become low-margin commodity businesses, and in order to differentiate, they are often adding some services. Some examples
 are providing help with logistical aspects of stocking items, maintaining extensive information databases, and providing consulting advice. [9]
 • Core goods providers already provide a significant service component as part of their businesses. For example, automobile manufacturers provide
 extensive spare parts distribution services to support repair centers at dealers. [9]
 • Core service providers must integrate tangible goods. For example, your cable television company must provide cable hookup and repair services and also
 high-definition cable boxes. [9]
 •Pure services, such as may be offered by a financial consulting firm, may need little in the way of facilitating goods, but what they do use—such as
 textbooks, professional references, and spreadsheets—are critical to their performance. [9]
Testing a “Service”
                          Service Quality




   Front End             Communication       Back End




Application User         QoS (Qualtiy of
                                            Back End Logic
  Experience               Service)


                                              Back End
Application Logic
                                             Capabilities


  Application
  Capabilities
Front End [3]
The front end has to be tested just like any other application, but with the client-service relationship taken into consideration
during testing
Functionality - A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.
              Suitability
              Accuracy
              Interoperability
              Security
              Functionality Compliance
Reliability - A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time.
              Maturity
              Fault Tolerance
              Recoverability
              Reliability Compliance
Usability - A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users.
              Understandability
              Learnability
              Operability
              Attractiveness
              Usability Compliance
Efficiency - A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions.
              Time Behaviour
              Resource Utilisation
              Efficiency Compliance
Maintainability - A set of attributes that bear on the effort needed to make specified modifications.
              Analyzability
              Changeability
              Stability
              Testability
              Maintainability Compliance
Portability - A set of attributes that bear on the ability of software to be transferred from one environment to another.
              Adaptability
              Installability
              Co-Existence
              Replaceability
              Portability Compliance
Communication [2]
Problems that occur with the service because of lacking network resources has to be handled by the service in a way that gives a good user
experience

Due to varying load from other users sharing the same network resources, the bit rate (the maximum throughput) that can be provided to a certain data stream may be too low for realtime
multimedia services if all data streams get the same scheduling priority.

•       Dropped packets
           –      The routers might fail to deliver (drop) some packets if their data is corrupted or they arrive when their buffers are already full. The receiving application may ask for this information to be
                  retransmitted, possibly causing severe delays in the overall transmission.


•       Errors
           –      Sometimes packets are corrupted due to bit errors caused by noise and interference, especially in wireless communications and long copper wires. The receiver has to detect this and, just as if the
                  packet was dropped, may ask for this information to be retransmitted.


•       Latency
           –      It might take a long time for each packet to reach its destination, because it gets held up in long queues, or takes a less direct route to avoid congestion. This is different from throughput, as the delay
                  can build up over time, even if the throughput is almost normal. In some cases, excessive latency can render an application such as VoIP or online gaming unusable.


•       Jitter
           –      Packets from the source will reach the destination with different delays. A packet's delay varies with its position in the queues of the routers along the path between source and destination and this
                  position can vary unpredictably. This variation in delay is known as jitter and can seriously affect the quality of streaming audio and/or video.


•       Out-of-order delivery
           –      When a collection of related packets is routed through a network, different packets may take different routes, each resulting in a different delay. The result is that the packets arrive in a different order
                  than they were sent. This problem requires special additional protocols responsible for rearranging out-of-order packets to an isochronous state once they reach their destination. This is especially
                  important for video and VoIP streams where quality is dramatically affected by both latency and lack of sequence.
Back End
  Dependant on the Back End Solution - To test the server
  based applications, you need to perform typical tests like
  Volume Testing, Stress Testing, Performance
  Testing, Recovery Testing, Back up and Restore
  Testing, Security Testing etc. [4][5][6]
Service Quality [10]
•   The measurement of subjective aspects of customer service depends on the conformity of the expected
    benefit with the perceived result. This in turns depends upon the customer's expectation in terms of
    service, they might receive and the service provider's ability and talent to present this expected service.
    Successful Companies add benefits to their offering that not only satisfy the customers but also surprise
    and delight them. Delighting customers is a matter of exceeding their expectations.

•   Pre-defined objective criteria may be unattainable in practice, in which case, the best possible achievable
    result becomes the ideal. The objective ideal may still be poor, in subjective terms.

•   Service quality can be related to service potential (for example, worker's qualifications); service process
    (for example, the quickness of service) and service result (customer satisfaction).
Service Quality Attributes [1]
Service Level Agreement [7]
•   Service level agreements can contain numerous service performance metrics with corresponding
    service level objectives

Metrics commonly agreed to in these cases include:
•   MTTR (Mean Time To Recover): Time taken to recover after an outage of service.
•   Uptime is also a common metric, often used for data services such as shared hosting, virtual
    private servers and dedicated servers. Common agreements include percentage of network
    uptime, power uptime, number of scheduled maintenance windows, etc.
Quality of Experience [8]
•   Quality of experience (QoE), some times also known as quality of user experience, is a subjective
    measure of a customer's experiences with a service (web browsing, phone call, TV broadcast, call to a Call
    Center). Quality of Experience systems will try to measure metrics that customer will directly perceive as a
    quality parameter (in example : time for a new channel to be played when changing channel on TV). It
    looks at a vendor's or purveyor's offering from the standpoint of the customer or end user, and
    asks, "What mix of goods, services, and support, do you think will provide you with the perception that
    the total product is providing you with the experience you desired and/or expected?" It then asks, "Is this
    what the vendor/purveyor has actually provided?" If not, "What changes need to be made to enhance
    your total experience?"
Scope Split
•   Who takes responsibility for what?
     –   Which organization tests what part of the complete?


•   What does the Application Developers test?
     –   Testing in a mirror of the live environment, or some more basic environment?
     –   Only test the application in a staged environment?


•   What does the back end solution owners test?
     –   Testing back end through a real applications, or through APIs, or test application, or a combination?


•   Is someone else testing the E2E solution?
     –   Why is this not done by either the back end solution owners or the application developers?
     –   Is the service location/network dependant?
     –   Any legal requirements or certifications?
Reference
[1]Service Quality Models: A Review
http://www.ftsm.ukm.my/aishah/paper%20pdf_1st%20retail/Nitin%20Seth%20Service%20quality%20models%20A%20review.pdf

[2] Quality of Service
http://en.wikipedia.org/wiki/Quality_of_service

[3] ISO 9129
http://en.wikipedia.org/wiki/ISO/IEC_9126

[4] Introduction to Relational Database Testing
http://www.agiledata.org/essays/whatToTest.html

[5] Testing Client-Server Applications
http://www.softwaretestingstuff.com/2008/04/testing-client-server-applications.html

[6] Back End Test
http://www.scribd.com/doc/21011832/Back-End-Test

[7] Service Level Agreement
http://en.wikipedia.org/wiki/Service-level_agreement

[8] Quality of Experience
http://en.wikipedia.org/wiki/Quality_of_experience

[9] Difference between Services and Goods
http://highered.mcgraw-hill.com/sites/0073403296/student_view0/ebook/chapter1/chbody1/differences_between_services_and_goods.html

[10] Wikipedia – Service Quality
http://en.wikipedia.org/wiki/Service_quality

Weitere ähnliche Inhalte

Was ist angesagt?

Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Technologies Ltd
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Performance testing
Performance testing Performance testing
Performance testing BugRaptors
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessLee Barnes
 
Testing as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIsTesting as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIsProlifics
 
How to apply AI to Testing
How to apply AI to TestingHow to apply AI to Testing
How to apply AI to TestingSAP SE
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation StrategyMartin Ruddy
 
Testing Centre of Excellence Model 2016
Testing Centre of Excellence Model 2016Testing Centre of Excellence Model 2016
Testing Centre of Excellence Model 2016Tony Barber
 

Was ist angesagt? (20)

Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing Services
 
QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
QA Center Of Excellence (TCoE)
QA Center Of Excellence (TCoE)QA Center Of Excellence (TCoE)
QA Center Of Excellence (TCoE)
 
Manual testing
Manual testingManual testing
Manual testing
 
Testing Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabsTesting Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabs
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Performance testing
Performance testing Performance testing
Performance testing
 
TCoE
TCoETCoE
TCoE
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
Testing as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIsTesting as a Managed Service using SLAs and KPIs
Testing as a Managed Service using SLAs and KPIs
 
How to apply AI to Testing
How to apply AI to TestingHow to apply AI to Testing
How to apply AI to Testing
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Tcoe team
Tcoe teamTcoe team
Tcoe team
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
 
Testing Centre of Excellence Model 2016
Testing Centre of Excellence Model 2016Testing Centre of Excellence Model 2016
Testing Centre of Excellence Model 2016
 

Ähnlich wie Testing a service

Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...DineshKumar746335
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmssmarar
 
Top Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.comTop Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.comPawan Sharma
 
Cp7101 design and management of computer networks-requirements analysis
Cp7101 design and management of computer networks-requirements analysisCp7101 design and management of computer networks-requirements analysis
Cp7101 design and management of computer networks-requirements analysisDr Geetha Mohan
 
Chapter 1 Introduction to Cloud Computing
Chapter 1 Introduction to Cloud ComputingChapter 1 Introduction to Cloud Computing
Chapter 1 Introduction to Cloud Computingnewbie2019
 
Mashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud ComputingMashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud ComputingDavid Linthicum
 
Introduction(2)
Introduction(2)Introduction(2)
Introduction(2)trayyoo
 
Defining the Clouds for entriprises.pptx
Defining the Clouds for entriprises.pptxDefining the Clouds for entriprises.pptx
Defining the Clouds for entriprises.pptxAshwiniTodkar4
 
BT Group: Use of Graph in VENA (a smart broadcast network)
BT Group: Use of Graph in VENA (a smart broadcast network)BT Group: Use of Graph in VENA (a smart broadcast network)
BT Group: Use of Graph in VENA (a smart broadcast network)Neo4j
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureGang Tao
 
Testing the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the CloudTesting the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the CloudNagarro
 
Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1David Linthicum
 
service methodology, service description, service characteristics, performanc...
service methodology, service description, service characteristics, performanc...service methodology, service description, service characteristics, performanc...
service methodology, service description, service characteristics, performanc...csk selva
 

Ähnlich wie Testing a service (20)

Veryx Services Catalog
Veryx Services CatalogVeryx Services Catalog
Veryx Services Catalog
 
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
Fallsem2021 22 ita2012-eth_vl2021220101938_reference_material_i_06-aug-2021_m...
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
 
Top Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.comTop Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.com
 
Chapter02
Chapter02Chapter02
Chapter02
 
Cp7101 design and management of computer networks-requirements analysis
Cp7101 design and management of computer networks-requirements analysisCp7101 design and management of computer networks-requirements analysis
Cp7101 design and management of computer networks-requirements analysis
 
Chapter 1 Introduction to Cloud Computing
Chapter 1 Introduction to Cloud ComputingChapter 1 Introduction to Cloud Computing
Chapter 1 Introduction to Cloud Computing
 
Mashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud ComputingMashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud Computing
 
Introduction(2)
Introduction(2)Introduction(2)
Introduction(2)
 
sla nptl.pptx
sla nptl.pptxsla nptl.pptx
sla nptl.pptx
 
Defining the Clouds for entriprises.pptx
Defining the Clouds for entriprises.pptxDefining the Clouds for entriprises.pptx
Defining the Clouds for entriprises.pptx
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
BT Group: Use of Graph in VENA (a smart broadcast network)
BT Group: Use of Graph in VENA (a smart broadcast network)BT Group: Use of Graph in VENA (a smart broadcast network)
BT Group: Use of Graph in VENA (a smart broadcast network)
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Testing the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the CloudTesting the Migration of Monolithic Applications to Microservices on the Cloud
Testing the Migration of Monolithic Applications to Microservices on the Cloud
 
IntServ & DiffServ
IntServ & DiffServIntServ & DiffServ
IntServ & DiffServ
 
Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1
 
652.ppt
652.ppt652.ppt
652.ppt
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
service methodology, service description, service characteristics, performanc...
service methodology, service description, service characteristics, performanc...service methodology, service description, service characteristics, performanc...
service methodology, service description, service characteristics, performanc...
 

Mehr von Johan Hoberg

Approaches to unraveling a complex test problem
Approaches to unraveling a complex test problemApproaches to unraveling a complex test problem
Approaches to unraveling a complex test problemJohan Hoberg
 
A business case for a modern QA organization
A business case for a modern QA organizationA business case for a modern QA organization
A business case for a modern QA organizationJohan Hoberg
 
Signing off on Quality
Signing off on QualitySigning off on Quality
Signing off on QualityJohan Hoberg
 
Quality Information Coverage - A QI Concept
Quality Information Coverage - A QI ConceptQuality Information Coverage - A QI Concept
Quality Information Coverage - A QI ConceptJohan Hoberg
 
The Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing MountainThe Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing MountainJohan Hoberg
 
Quality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & VisibilityQuality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & VisibilityJohan Hoberg
 
Building a QA Mindset
Building a QA Mindset Building a QA Mindset
Building a QA Mindset Johan Hoberg
 
Building High Quality Software
Building High Quality Software Building High Quality Software
Building High Quality Software Johan Hoberg
 
Testit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for EveryoneTestit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for EveryoneJohan Hoberg
 
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...Johan Hoberg
 
Moving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testingMoving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testingJohan Hoberg
 
Building High Quality Software
Building High Quality SoftwareBuilding High Quality Software
Building High Quality SoftwareJohan Hoberg
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesJohan Hoberg
 
Defining Test Competence
Defining Test CompetenceDefining Test Competence
Defining Test CompetenceJohan Hoberg
 
Why all deadlines are bad for quality
Why all deadlines are bad for qualityWhy all deadlines are bad for quality
Why all deadlines are bad for qualityJohan Hoberg
 
Do we really need game testers?
Do we really need game testers?Do we really need game testers?
Do we really need game testers?Johan Hoberg
 
Hardware/Software Integration Testing
Hardware/Software Integration TestingHardware/Software Integration Testing
Hardware/Software Integration TestingJohan Hoberg
 

Mehr von Johan Hoberg (20)

Approaches to unraveling a complex test problem
Approaches to unraveling a complex test problemApproaches to unraveling a complex test problem
Approaches to unraveling a complex test problem
 
A business case for a modern QA organization
A business case for a modern QA organizationA business case for a modern QA organization
A business case for a modern QA organization
 
Signing off on Quality
Signing off on QualitySigning off on Quality
Signing off on Quality
 
Quality Information Coverage - A QI Concept
Quality Information Coverage - A QI ConceptQuality Information Coverage - A QI Concept
Quality Information Coverage - A QI Concept
 
The Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing MountainThe Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing Mountain
 
Quality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & VisibilityQuality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & Visibility
 
Building a QA Mindset
Building a QA Mindset Building a QA Mindset
Building a QA Mindset
 
What is QI?
What is QI?What is QI?
What is QI?
 
Building High Quality Software
Building High Quality Software Building High Quality Software
Building High Quality Software
 
Testit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for EveryoneTestit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for Everyone
 
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
 
Moving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testingMoving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testing
 
Building High Quality Software
Building High Quality SoftwareBuilding High Quality Software
Building High Quality Software
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile Methodologies
 
QI, not QA
QI, not QAQI, not QA
QI, not QA
 
Defining Test Competence
Defining Test CompetenceDefining Test Competence
Defining Test Competence
 
Why all deadlines are bad for quality
Why all deadlines are bad for qualityWhy all deadlines are bad for quality
Why all deadlines are bad for quality
 
QI, not QA
QI, not QAQI, not QA
QI, not QA
 
Do we really need game testers?
Do we really need game testers?Do we really need game testers?
Do we really need game testers?
 
Hardware/Software Integration Testing
Hardware/Software Integration TestingHardware/Software Integration Testing
Hardware/Software Integration Testing
 

Testing a service

  • 1. Testing a Service A High Level Overview
  • 2. What do we mean with a service? • What do we really mean with a service? • Client-server application? – Do we call something a service just because we have a back end solution to our application that has to be maintained conintuously? • A normal application? – Is this a product, even though updates are regularly available? • A web application and back end? • Is it something more than just the application? – Do we mean something more than just the application (back end or not)? Are we delivering an application to the customer, or our we delivering a service that happens to include an application of some sort?
  • 3. Difference between Goods and Services[9] •There are five essential differences between Goods and Services [9] 1. The first is that a service is an intangible process that cannot be weighed or measured, whereas a good is a tangible output of a process that has physical dimensions 2. The second is that a service requires some degree of interaction with the customer for it to be a service. The interaction may be brief, but it must exist for the service to be complete. 3. The third is that services, with the big exception of hard technologies such as ATMs and information technologies such as answering machines and automated Internet exchanges, are inherently heterogeneous—they vary from day to day and even hour by hour as a function of the attitudes of the customer and the servers. 4. The fourth is that services as a process are perishable and time dependent, and unlike goods, they can't be stored 5. And fifth, the specifications of a service are defined and evaluated as a package of features that affect the five senses. • These features are • Supporting facility (location, decoration, layout, architectural appropriateness, supporting equipment). • Facilitating goods (variety, consistency, quantity of the physical goods that go with the service; for example, the food items that accompany a meal service). • Explicit services (training of service personnel, consistency of service performance, availability and access to the service, and comprehensiveness of the service). • Implicit services (attitude of the servers, atmosphere, waiting time, status, privacy and security, and convenience).
  • 4. The Goods-Services Continuum [9] • When is something goods and when is something services? The answer is not black or white, but more of a gray scale • Pure goods industries have become low-margin commodity businesses, and in order to differentiate, they are often adding some services. Some examples are providing help with logistical aspects of stocking items, maintaining extensive information databases, and providing consulting advice. [9] • Core goods providers already provide a significant service component as part of their businesses. For example, automobile manufacturers provide extensive spare parts distribution services to support repair centers at dealers. [9] • Core service providers must integrate tangible goods. For example, your cable television company must provide cable hookup and repair services and also high-definition cable boxes. [9] •Pure services, such as may be offered by a financial consulting firm, may need little in the way of facilitating goods, but what they do use—such as textbooks, professional references, and spreadsheets—are critical to their performance. [9]
  • 5. Testing a “Service” Service Quality Front End Communication Back End Application User QoS (Qualtiy of Back End Logic Experience Service) Back End Application Logic Capabilities Application Capabilities
  • 6. Front End [3] The front end has to be tested just like any other application, but with the client-service relationship taken into consideration during testing Functionality - A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs. Suitability Accuracy Interoperability Security Functionality Compliance Reliability - A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time. Maturity Fault Tolerance Recoverability Reliability Compliance Usability - A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users. Understandability Learnability Operability Attractiveness Usability Compliance Efficiency - A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions. Time Behaviour Resource Utilisation Efficiency Compliance Maintainability - A set of attributes that bear on the effort needed to make specified modifications. Analyzability Changeability Stability Testability Maintainability Compliance Portability - A set of attributes that bear on the ability of software to be transferred from one environment to another. Adaptability Installability Co-Existence Replaceability Portability Compliance
  • 7. Communication [2] Problems that occur with the service because of lacking network resources has to be handled by the service in a way that gives a good user experience Due to varying load from other users sharing the same network resources, the bit rate (the maximum throughput) that can be provided to a certain data stream may be too low for realtime multimedia services if all data streams get the same scheduling priority. • Dropped packets – The routers might fail to deliver (drop) some packets if their data is corrupted or they arrive when their buffers are already full. The receiving application may ask for this information to be retransmitted, possibly causing severe delays in the overall transmission. • Errors – Sometimes packets are corrupted due to bit errors caused by noise and interference, especially in wireless communications and long copper wires. The receiver has to detect this and, just as if the packet was dropped, may ask for this information to be retransmitted. • Latency – It might take a long time for each packet to reach its destination, because it gets held up in long queues, or takes a less direct route to avoid congestion. This is different from throughput, as the delay can build up over time, even if the throughput is almost normal. In some cases, excessive latency can render an application such as VoIP or online gaming unusable. • Jitter – Packets from the source will reach the destination with different delays. A packet's delay varies with its position in the queues of the routers along the path between source and destination and this position can vary unpredictably. This variation in delay is known as jitter and can seriously affect the quality of streaming audio and/or video. • Out-of-order delivery – When a collection of related packets is routed through a network, different packets may take different routes, each resulting in a different delay. The result is that the packets arrive in a different order than they were sent. This problem requires special additional protocols responsible for rearranging out-of-order packets to an isochronous state once they reach their destination. This is especially important for video and VoIP streams where quality is dramatically affected by both latency and lack of sequence.
  • 8. Back End Dependant on the Back End Solution - To test the server based applications, you need to perform typical tests like Volume Testing, Stress Testing, Performance Testing, Recovery Testing, Back up and Restore Testing, Security Testing etc. [4][5][6]
  • 9. Service Quality [10] • The measurement of subjective aspects of customer service depends on the conformity of the expected benefit with the perceived result. This in turns depends upon the customer's expectation in terms of service, they might receive and the service provider's ability and talent to present this expected service. Successful Companies add benefits to their offering that not only satisfy the customers but also surprise and delight them. Delighting customers is a matter of exceeding their expectations. • Pre-defined objective criteria may be unattainable in practice, in which case, the best possible achievable result becomes the ideal. The objective ideal may still be poor, in subjective terms. • Service quality can be related to service potential (for example, worker's qualifications); service process (for example, the quickness of service) and service result (customer satisfaction).
  • 11. Service Level Agreement [7] • Service level agreements can contain numerous service performance metrics with corresponding service level objectives Metrics commonly agreed to in these cases include: • MTTR (Mean Time To Recover): Time taken to recover after an outage of service. • Uptime is also a common metric, often used for data services such as shared hosting, virtual private servers and dedicated servers. Common agreements include percentage of network uptime, power uptime, number of scheduled maintenance windows, etc.
  • 12. Quality of Experience [8] • Quality of experience (QoE), some times also known as quality of user experience, is a subjective measure of a customer's experiences with a service (web browsing, phone call, TV broadcast, call to a Call Center). Quality of Experience systems will try to measure metrics that customer will directly perceive as a quality parameter (in example : time for a new channel to be played when changing channel on TV). It looks at a vendor's or purveyor's offering from the standpoint of the customer or end user, and asks, "What mix of goods, services, and support, do you think will provide you with the perception that the total product is providing you with the experience you desired and/or expected?" It then asks, "Is this what the vendor/purveyor has actually provided?" If not, "What changes need to be made to enhance your total experience?"
  • 13. Scope Split • Who takes responsibility for what? – Which organization tests what part of the complete? • What does the Application Developers test? – Testing in a mirror of the live environment, or some more basic environment? – Only test the application in a staged environment? • What does the back end solution owners test? – Testing back end through a real applications, or through APIs, or test application, or a combination? • Is someone else testing the E2E solution? – Why is this not done by either the back end solution owners or the application developers? – Is the service location/network dependant? – Any legal requirements or certifications?
  • 14. Reference [1]Service Quality Models: A Review http://www.ftsm.ukm.my/aishah/paper%20pdf_1st%20retail/Nitin%20Seth%20Service%20quality%20models%20A%20review.pdf [2] Quality of Service http://en.wikipedia.org/wiki/Quality_of_service [3] ISO 9129 http://en.wikipedia.org/wiki/ISO/IEC_9126 [4] Introduction to Relational Database Testing http://www.agiledata.org/essays/whatToTest.html [5] Testing Client-Server Applications http://www.softwaretestingstuff.com/2008/04/testing-client-server-applications.html [6] Back End Test http://www.scribd.com/doc/21011832/Back-End-Test [7] Service Level Agreement http://en.wikipedia.org/wiki/Service-level_agreement [8] Quality of Experience http://en.wikipedia.org/wiki/Quality_of_experience [9] Difference between Services and Goods http://highered.mcgraw-hill.com/sites/0073403296/student_view0/ebook/chapter1/chbody1/differences_between_services_and_goods.html [10] Wikipedia – Service Quality http://en.wikipedia.org/wiki/Service_quality