SlideShare une entreprise Scribd logo
1  sur  33
The Art Of
System and Solution Testing
Example
• A software developer/tester convention was being held. On the train to the convention, there were a
bunch of developer majors and a bunch of tester majors. Each of the developer majors had his/her
train ticket. The group of testers had only ONE ticket for all of them. The developer majors started
laughing and snickering. Then, one of the software testers said, "here comes the conductor" and
then all of the testers went into the bathroom. The developer majors were puzzled. The conductor
came aboard and said "tickets please" and got tickets from all the developer majors. He then went to
the bathroom and knocked on the door and said "ticket please" and the testers stuck the ticket under
the door. The conductor took it and then the testers came out of the bathroom a few minutes later.
The developer majors felt really stupid. So, on the way back from the convention, the group of
developer majors had one ticket for the group. They started snickering at the testers, for the whole
group had no tickets amongst them. Then, the tester lookout said "Conductor coming!" All the
testers went to one bathroom. All the developer majors went to another bathroom. Then, before the
conductor came on board, one of the testers left the bathroom, knocked on the other bathroom, and
said "ticket please."
Lesson learned: Any test that passed in unit testing can fail in system testing.
Goal
• Find bugs that can not be fund by feature
level testing but will most likely be found on
customer’s Usage.
• If no time, can even only do system level
and solution testing.
• Development is a science, testing is an art.
What Is a System Level Testing
• Company N has a testbed called “Mother of
All Testbed (MOAT). It is the superset of
almost all Company N’s product features.
• To fully execute a cycle, it takes 2 weeks.
• It has just one test case. Compare to feature
level testing where you have thousands of
test cases
What Is a Solution Level Testing
• Company C has a dedicated solution testing
team
• Each solution is an end-to-end application
and has a code name
– VoIP end-to-end solution
– Security end-to-end solution
– MPLS solution
– Cable/DSL solution.
Difference?
• Solution is customer oriented. Not just one
company’s product.
• System testing is product oriented.
• Feature testing is code oriented. (need a
functionality Specification as input)
• System/Solution: 30% strategy, 70%
experience
• Feature:60% strategy, 40% experience
What makes a System/Solution tester
• System/Solution testing is to test the
“Customer”.Input
Tester
Output
User Manual
Customer Secenrios.
Experience
Test Plan/Test Cases
System Level
Defects
System Tester’s 360 Degree Advantage
• They interface with Customer (understand
customer)
• They interface with SE, TME, Product
manager (understand marketing)
• They interface with developer (understand
development)
• They interface with feature tester.
(understand testing)
Trademark of System and Solution Testing
• Race condition
• Memory corruption
• Algorithm performance (routing protocol
convergence time for both uni-cast and
multicast)
• How system perform in low memory and
high CPU (timers will be stretched out)
Typical Bugs Found on System Testing
• Crash: Infrastructure design issue
• Crash: Race condition:
Malloc memory twice, crash only happens
when 1st one success and 2nd one fail.
• Solution : Interoperability with 3rd party
products
System Testing is a Time Capsule
• 99.9999% up time = 10 seconds down time
in 3 years
• What your customers will experience in 3
years?
• Emulate 3 years in 2 weeks
• That is why lots of stress testing
System Testing is a Time Capsule
正常 异常 1 异常 2 异常 3 异常 4 异常 5 异常 6
1-2 年
2 周
Ideas on Building Your System
Cases
• Defined the baseline
– Background traffic.
– # of clients
– Complexity of the configuration
• Identify scalability (performance) index.
• Get the typical customer scenarios and
topologies.
• Design test cases.
Build Your Background Traffic
• Background traffic need to drive CPU and
memory to 30%-40%.
• Need to be diverse among typical
applications
• Need to be measurable on
– Latency
– Transit loss.
• IMIX traffic may be considered
No Performance Index, No Testing
• Performance index means scalability
• Size of the routing tables
• Number of VPN tunnels
• Voice call per second
• Routing protocol convergence time
• Traffic throughput.
• Peer count (P2P)
• Connection Rate (P2P)
• Concurrent connections
QC Meets Customer
• The product is a solution. If the problem
isn't solved, the productdoesn't work.
• The best test case can ever be designed on
your product is in the customer’s real
network.
• The complexity of your test cases should be
equal to your most valuable customers.
• Customers like QC visit from vendor
company very much. You will be surprised
Define Your Scenarios
• This is the way customer use it.
• Different location, different area (signal
coverage)
• Barrtery
• Different combination way of using our
product
– GPRS browsing with MP3 in the background
while have an unidentified call
• Different speed for mobile devices
20/80 Rule in the consumer
market
• Satisfied customers seldom speak up
• Unhappy customers will complain
• 1% chance of reproducible rate is ok in the
network equipment market, but not ok in
the consumer market
• Higher testing standard in the consumer
market
Simulation Is Your Friends
• Customer level’s scalability can be achieved
in our lab by simulator
• Traffic simulator (commercial testing
equipment are expensive).
• Client simulator
• Protocol Simulator.
• Device Simulator.
Simulation Is Your Friends
• A 32 timer reverse Bug, happen once in
every 2 years, how you test that?
Steps to Design a System Level
Testing
• One liner for your testing goals.
• List the features you want to cover.
• Define your features performance index
(metrics)
• Design your topology
– Customer feedback
– Performance index requirement
• Pick your test simulator (budget conscious)
Give a Detail Example on DHCP server testing
• Definition: Carrier grade high availability DHCP server System level testing.
• Goals: testing system instability especially during the failover.
• Performance index:
– IP address release per second.
– Size of the database.
– Size of the log.
– Command and Control traffic (admin traffic)
– DNS traffic.
• Customer’s topology (simple)
• Simulator: DHCP client simulator
Give a Detail Example on DHCP server testing
• Scenarios:
1 Primary down, then come back after secondary switch over
2 Primary down, then come back right away before the switch over.
3 Primary down, then come back after switch over, the down again.
4 Primary keep flapping – up, down, up, down for a while (both before
and after the switch over).
5 Secondary down, then come back.
6 Secondary keep flapping – up, down, up, down for a while (both before
and after the switch over).
7 Both primary and secondary keep flapping for a while.
8 Both shut down then come back the same time.
9 Both shut down, the secondary come back first.
10 Both shut down, the primary come back first.
Get the Pass/Fail Criteria.
• DHCP servers can response DHCP request.
• No server performance down grade, the
DHCP can still response to a high rate of
DHCP request during the failover and
recovery
• The failover relationship between primary
and secondary, and the failover state is
working as expected.
• Database sync correctly. And the data
integrity is fine.
Overlap your System Test Cases
• Unlike feature testing, the impact among
features are welcomed
• Overlap your test cases one on top of
another increase the feature interaction.
• Carefully record your execution steps.
(reduce non-reproducible bugs)
Example: Firewall Instability
Testing• Definition: Testing a firewall system’s instability
• Goals: Discover critical issues when firewall is under severe network conditions
• Performance index:
– # of current sessions
– # of VPN tunnels
– # of content filtering rules.
– # of policies
– # of the NAT
• Customer’s topology (simple)
• Simulator: DHCP client simulator
Example: Firewall Instability
Testing
• Customer’s topology
Example: Firewall Instability
Testing
• Baseline traffic (pre-conditions)
– Valid traffic
• L3 traffic
• L7 traffic (HTTP/FTP, voice, rich application)
– Invalid traffic (noise)
• To the box
• Through the box
• Trust and un-trust zone
• Malicious (hacker traffic) and just invalid
Example: Firewall Instability
Testing
• Pass and fail criteria
– No crash
– No severe performance downgrade on
• Packet loss
• Long latency
– Major functionality working on each of the
performance index.
Example: Firewall Instability
Testing
• Customer Secenrios
– HA
– VPN
– Routing
– QoS
– DPI
14 Steps Firewall TestingPhase1: start valid traffics
Phase2: layer3 and layer4 attacks
Phase3: Inject firewall attack traffic
Phase4: Inject invalid frame
Phase5: Drop In
Phase6: management attacks
Phase7: standard security testing
Phase8: Internet applications
Phase9: IP fragmentation, ICMP
Phase10: HA function
Phase11: VPN function
Phase12: dynamic routing function
Phase13: QoS
Phase14: contents filter
System and Solution Automation
• System/Solution automation is to make
your life easy
• End-to-end full automation is hard, try to do
semi-automation first.
The art of system and solution testing

Contenu connexe

Tendances

Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
nazeer pasha
 

Tendances (20)

Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Testing
TestingTesting
Testing
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
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
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Software testing
Software testingSoftware testing
Software testing
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Test automation
Test automationTest automation
Test automation
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Software testing
Software testing Software testing
Software testing
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Automation testing
Automation testingAutomation testing
Automation testing
 

En vedette

신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천
신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천
신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천
hjsoidjgo
 
Swot marketing
Swot marketingSwot marketing
Swot marketing
gradend
 
The missing piece meets the big O
The missing piece meets the big OThe missing piece meets the big O
The missing piece meets the big O
cyaneum
 
Web Analytics Framework Guide
Web Analytics Framework GuideWeb Analytics Framework Guide
Web Analytics Framework Guide
meetcontent
 

En vedette (20)

신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천
신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천
신용대출빠른곳『BU797』.『COM』현대기아자동차 과자추천
 
The 7 Secrets of Performance Management in Virtualized Environments
The 7 Secrets of Performance Management in Virtualized EnvironmentsThe 7 Secrets of Performance Management in Virtualized Environments
The 7 Secrets of Performance Management in Virtualized Environments
 
Test di valutazione dell’articolazione sottoastragalica
Test di valutazione dell’articolazione sottoastragalicaTest di valutazione dell’articolazione sottoastragalica
Test di valutazione dell’articolazione sottoastragalica
 
Driving a future ready enterprise
Driving a future ready enterpriseDriving a future ready enterprise
Driving a future ready enterprise
 
ABCD's of WAN Optimization
ABCD's of WAN OptimizationABCD's of WAN Optimization
ABCD's of WAN Optimization
 
Avere & AWS Enterprise Solution with Special Bundle Pricing Offer
Avere & AWS Enterprise Solution with Special Bundle Pricing OfferAvere & AWS Enterprise Solution with Special Bundle Pricing Offer
Avere & AWS Enterprise Solution with Special Bundle Pricing Offer
 
Parts Of A Story
Parts Of A StoryParts Of A Story
Parts Of A Story
 
Bio conference live 2013
Bio conference live 2013Bio conference live 2013
Bio conference live 2013
 
Should Businesses Move to the Cloud
Should Businesses Move to the CloudShould Businesses Move to the Cloud
Should Businesses Move to the Cloud
 
Should business move to the cloud
Should business move to  the cloud Should business move to  the cloud
Should business move to the cloud
 
PGM recovery from catalytic converters
PGM recovery from catalytic convertersPGM recovery from catalytic converters
PGM recovery from catalytic converters
 
space food technology
space food technologyspace food technology
space food technology
 
Virtual Application Networks Innovations Advance Software-defined Network Lea...
Virtual Application Networks Innovations Advance Software-defined Network Lea...Virtual Application Networks Innovations Advance Software-defined Network Lea...
Virtual Application Networks Innovations Advance Software-defined Network Lea...
 
Specialty packaging corporation, part a
Specialty packaging corporation, part aSpecialty packaging corporation, part a
Specialty packaging corporation, part a
 
The 3 Most Important Aspects of Management
The 3 Most Important Aspects of ManagementThe 3 Most Important Aspects of Management
The 3 Most Important Aspects of Management
 
Swot marketing
Swot marketingSwot marketing
Swot marketing
 
The missing piece meets the big O
The missing piece meets the big OThe missing piece meets the big O
The missing piece meets the big O
 
NAT64 and DNS64 in 30 minutes
NAT64 and DNS64 in 30 minutesNAT64 and DNS64 in 30 minutes
NAT64 and DNS64 in 30 minutes
 
Web Analytics Framework Guide
Web Analytics Framework GuideWeb Analytics Framework Guide
Web Analytics Framework Guide
 
Challenges and Opportunities for the Pharmaceutical Industry
Challenges and Opportunities for the Pharmaceutical IndustryChallenges and Opportunities for the Pharmaceutical Industry
Challenges and Opportunities for the Pharmaceutical Industry
 

Similaire à The art of system and solution testing

How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
gaoliang641
 

Similaire à The art of system and solution testing (20)

Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slide
 
manualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfmanualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdf
 
System design techniques and networks
System design techniques and networksSystem design techniques and networks
System design techniques and networks
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
 
Man.ppt
Man.pptMan.ppt
Man.ppt
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
Chapter6
Chapter6Chapter6
Chapter6
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goals
 
IEEE Buenaventura cs Chapter March 9 2016 v4
IEEE Buenaventura cs Chapter March 9 2016  v4IEEE Buenaventura cs Chapter March 9 2016  v4
IEEE Buenaventura cs Chapter March 9 2016 v4
 

Plus de gaoliang641

Why we didn't catch that
Why we didn't catch thatWhy we didn't catch that
Why we didn't catch that
gaoliang641
 
Why we didn't catch that application bugs
Why we didn't catch that   application bugsWhy we didn't catch that   application bugs
Why we didn't catch that application bugs
gaoliang641
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
gaoliang641
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
gaoliang641
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluation
gaoliang641
 
Tester developer interaction
Tester developer interactionTester developer interaction
Tester developer interaction
gaoliang641
 
Tester career path
Tester career pathTester career path
Tester career path
gaoliang641
 
Agile testing for large projects
Agile testing for large projectsAgile testing for large projects
Agile testing for large projects
gaoliang641
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa manager
gaoliang641
 
Make good use of explortary testing
Make good use of explortary testingMake good use of explortary testing
Make good use of explortary testing
gaoliang641
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
gaoliang641
 
Lessons learned on localization testing
Lessons learned on localization testingLessons learned on localization testing
Lessons learned on localization testing
gaoliang641
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqu
gaoliang641
 

Plus de gaoliang641 (18)

Why we didn't catch that
Why we didn't catch thatWhy we didn't catch that
Why we didn't catch that
 
Why we didn't catch that application bugs
Why we didn't catch that   application bugsWhy we didn't catch that   application bugs
Why we didn't catch that application bugs
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluation
 
Tester developer interaction
Tester developer interactionTester developer interaction
Tester developer interaction
 
Tester career path
Tester career pathTester career path
Tester career path
 
Agile testing for large projects
Agile testing for large projectsAgile testing for large projects
Agile testing for large projects
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa manager
 
Make good use of explortary testing
Make good use of explortary testingMake good use of explortary testing
Make good use of explortary testing
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 
Lessons learned on localization testing
Lessons learned on localization testingLessons learned on localization testing
Lessons learned on localization testing
 
Lessons learned on software testing automation
Lessons learned on software testing automationLessons learned on software testing automation
Lessons learned on software testing automation
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqu
 
Protocol Security Testing best practice
Protocol Security Testing best practiceProtocol Security Testing best practice
Protocol Security Testing best practice
 
Automation framework design and implementation
Automation framework design and implementationAutomation framework design and implementation
Automation framework design and implementation
 
Automation from start to finish
Automation   from start to finishAutomation   from start to finish
Automation from start to finish
 
Agile testing for large projects
Agile testing for large projectsAgile testing for large projects
Agile testing for large projects
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

The art of system and solution testing

  • 1. The Art Of System and Solution Testing
  • 2. Example • A software developer/tester convention was being held. On the train to the convention, there were a bunch of developer majors and a bunch of tester majors. Each of the developer majors had his/her train ticket. The group of testers had only ONE ticket for all of them. The developer majors started laughing and snickering. Then, one of the software testers said, "here comes the conductor" and then all of the testers went into the bathroom. The developer majors were puzzled. The conductor came aboard and said "tickets please" and got tickets from all the developer majors. He then went to the bathroom and knocked on the door and said "ticket please" and the testers stuck the ticket under the door. The conductor took it and then the testers came out of the bathroom a few minutes later. The developer majors felt really stupid. So, on the way back from the convention, the group of developer majors had one ticket for the group. They started snickering at the testers, for the whole group had no tickets amongst them. Then, the tester lookout said "Conductor coming!" All the testers went to one bathroom. All the developer majors went to another bathroom. Then, before the conductor came on board, one of the testers left the bathroom, knocked on the other bathroom, and said "ticket please." Lesson learned: Any test that passed in unit testing can fail in system testing.
  • 3. Goal • Find bugs that can not be fund by feature level testing but will most likely be found on customer’s Usage. • If no time, can even only do system level and solution testing. • Development is a science, testing is an art.
  • 4. What Is a System Level Testing • Company N has a testbed called “Mother of All Testbed (MOAT). It is the superset of almost all Company N’s product features. • To fully execute a cycle, it takes 2 weeks. • It has just one test case. Compare to feature level testing where you have thousands of test cases
  • 5. What Is a Solution Level Testing • Company C has a dedicated solution testing team • Each solution is an end-to-end application and has a code name – VoIP end-to-end solution – Security end-to-end solution – MPLS solution – Cable/DSL solution.
  • 6. Difference? • Solution is customer oriented. Not just one company’s product. • System testing is product oriented. • Feature testing is code oriented. (need a functionality Specification as input) • System/Solution: 30% strategy, 70% experience • Feature:60% strategy, 40% experience
  • 7. What makes a System/Solution tester • System/Solution testing is to test the “Customer”.Input Tester Output User Manual Customer Secenrios. Experience Test Plan/Test Cases System Level Defects
  • 8. System Tester’s 360 Degree Advantage • They interface with Customer (understand customer) • They interface with SE, TME, Product manager (understand marketing) • They interface with developer (understand development) • They interface with feature tester. (understand testing)
  • 9. Trademark of System and Solution Testing • Race condition • Memory corruption • Algorithm performance (routing protocol convergence time for both uni-cast and multicast) • How system perform in low memory and high CPU (timers will be stretched out)
  • 10. Typical Bugs Found on System Testing • Crash: Infrastructure design issue • Crash: Race condition: Malloc memory twice, crash only happens when 1st one success and 2nd one fail. • Solution : Interoperability with 3rd party products
  • 11. System Testing is a Time Capsule • 99.9999% up time = 10 seconds down time in 3 years • What your customers will experience in 3 years? • Emulate 3 years in 2 weeks • That is why lots of stress testing
  • 12. System Testing is a Time Capsule 正常 异常 1 异常 2 异常 3 异常 4 异常 5 异常 6 1-2 年 2 周
  • 13. Ideas on Building Your System Cases • Defined the baseline – Background traffic. – # of clients – Complexity of the configuration • Identify scalability (performance) index. • Get the typical customer scenarios and topologies. • Design test cases.
  • 14. Build Your Background Traffic • Background traffic need to drive CPU and memory to 30%-40%. • Need to be diverse among typical applications • Need to be measurable on – Latency – Transit loss. • IMIX traffic may be considered
  • 15. No Performance Index, No Testing • Performance index means scalability • Size of the routing tables • Number of VPN tunnels • Voice call per second • Routing protocol convergence time • Traffic throughput. • Peer count (P2P) • Connection Rate (P2P) • Concurrent connections
  • 16. QC Meets Customer • The product is a solution. If the problem isn't solved, the productdoesn't work. • The best test case can ever be designed on your product is in the customer’s real network. • The complexity of your test cases should be equal to your most valuable customers. • Customers like QC visit from vendor company very much. You will be surprised
  • 17. Define Your Scenarios • This is the way customer use it. • Different location, different area (signal coverage) • Barrtery • Different combination way of using our product – GPRS browsing with MP3 in the background while have an unidentified call • Different speed for mobile devices
  • 18. 20/80 Rule in the consumer market • Satisfied customers seldom speak up • Unhappy customers will complain • 1% chance of reproducible rate is ok in the network equipment market, but not ok in the consumer market • Higher testing standard in the consumer market
  • 19. Simulation Is Your Friends • Customer level’s scalability can be achieved in our lab by simulator • Traffic simulator (commercial testing equipment are expensive). • Client simulator • Protocol Simulator. • Device Simulator.
  • 20. Simulation Is Your Friends • A 32 timer reverse Bug, happen once in every 2 years, how you test that?
  • 21. Steps to Design a System Level Testing • One liner for your testing goals. • List the features you want to cover. • Define your features performance index (metrics) • Design your topology – Customer feedback – Performance index requirement • Pick your test simulator (budget conscious)
  • 22. Give a Detail Example on DHCP server testing • Definition: Carrier grade high availability DHCP server System level testing. • Goals: testing system instability especially during the failover. • Performance index: – IP address release per second. – Size of the database. – Size of the log. – Command and Control traffic (admin traffic) – DNS traffic. • Customer’s topology (simple) • Simulator: DHCP client simulator
  • 23. Give a Detail Example on DHCP server testing • Scenarios: 1 Primary down, then come back after secondary switch over 2 Primary down, then come back right away before the switch over. 3 Primary down, then come back after switch over, the down again. 4 Primary keep flapping – up, down, up, down for a while (both before and after the switch over). 5 Secondary down, then come back. 6 Secondary keep flapping – up, down, up, down for a while (both before and after the switch over). 7 Both primary and secondary keep flapping for a while. 8 Both shut down then come back the same time. 9 Both shut down, the secondary come back first. 10 Both shut down, the primary come back first.
  • 24. Get the Pass/Fail Criteria. • DHCP servers can response DHCP request. • No server performance down grade, the DHCP can still response to a high rate of DHCP request during the failover and recovery • The failover relationship between primary and secondary, and the failover state is working as expected. • Database sync correctly. And the data integrity is fine.
  • 25. Overlap your System Test Cases • Unlike feature testing, the impact among features are welcomed • Overlap your test cases one on top of another increase the feature interaction. • Carefully record your execution steps. (reduce non-reproducible bugs)
  • 26. Example: Firewall Instability Testing• Definition: Testing a firewall system’s instability • Goals: Discover critical issues when firewall is under severe network conditions • Performance index: – # of current sessions – # of VPN tunnels – # of content filtering rules. – # of policies – # of the NAT • Customer’s topology (simple) • Simulator: DHCP client simulator
  • 28. Example: Firewall Instability Testing • Baseline traffic (pre-conditions) – Valid traffic • L3 traffic • L7 traffic (HTTP/FTP, voice, rich application) – Invalid traffic (noise) • To the box • Through the box • Trust and un-trust zone • Malicious (hacker traffic) and just invalid
  • 29. Example: Firewall Instability Testing • Pass and fail criteria – No crash – No severe performance downgrade on • Packet loss • Long latency – Major functionality working on each of the performance index.
  • 30. Example: Firewall Instability Testing • Customer Secenrios – HA – VPN – Routing – QoS – DPI
  • 31. 14 Steps Firewall TestingPhase1: start valid traffics Phase2: layer3 and layer4 attacks Phase3: Inject firewall attack traffic Phase4: Inject invalid frame Phase5: Drop In Phase6: management attacks Phase7: standard security testing Phase8: Internet applications Phase9: IP fragmentation, ICMP Phase10: HA function Phase11: VPN function Phase12: dynamic routing function Phase13: QoS Phase14: contents filter
  • 32. System and Solution Automation • System/Solution automation is to make your life easy • End-to-end full automation is hard, try to do semi-automation first.

Notes de l'éditeur

  1. 到底什么是系统测试,和解决方案测试。 我们可以给出一个定义,但那样子就太理论化了,所以我更愿意给出一个例子来。 看一看别的做的比较好的公司是怎么做的。
  2. Bob starts deposit transaction Mary Alyce starts deposit transaction Bob's ATM grabs the balance ($1000) Mary Alyce's ATM grabs the balance ($1000) Bob deposits $200 (his ATM updates the balance to $1200) Mary Alyce deposits $300 (her ATM updates the balance to $1300) Bob's ATM updates the main database with the new balance ($1200) Mary Alyce's ATM updates the main database with the new balance ($1300) This is a race condition.
  3. Bob starts deposit transaction Mary Alyce starts deposit transaction Bob's ATM grabs the balance ($1000) Mary Alyce's ATM grabs the balance ($1000) Bob deposits $200 (his ATM updates the balance to $1200) Mary Alyce deposits $300 (her ATM updates the balance to $1300) Bob's ATM updates the main database with the new balance ($1200) Mary Alyce's ATM updates the main database with the new balance ($1300) This is a race condition.
  4. Bob starts deposit transaction Mary Alyce starts deposit transaction Bob's ATM grabs the balance ($1000) Mary Alyce's ATM grabs the balance ($1000) Bob deposits $200 (his ATM updates the balance to $1200) Mary Alyce deposits $300 (her ATM updates the balance to $1300) Bob's ATM updates the main database with the new balance ($1200) Mary Alyce's ATM updates the main database with the new balance ($1300) This is a race condition.
  5. Bob starts deposit transaction Mary Alyce starts deposit transaction Bob's ATM grabs the balance ($1000) Mary Alyce's ATM grabs the balance ($1000) Bob deposits $200 (his ATM updates the balance to $1200) Mary Alyce deposits $300 (her ATM updates the balance to $1300) Bob's ATM updates the main database with the new balance ($1200) Mary Alyce's ATM updates the main database with the new balance ($1300) This is a race condition.