SlideShare una empresa de Scribd logo
1 de 12
Thought on Effective Testing

             By Qingsong Yao
1. User Scenario driven testing
When writing test plan, separate what with How
  – First, only think about the user scenario
  – Then, think about how you to test the scenario
When write tests, separate what with how
  – First, write use scenario
  – Second, implement the test cases which test the
    scenario
User Scenario Example
• Scenario – Block of upgrade SQL Express during VS
  2010 Installation (Priority 0)
• Action:
   – When a use install VS 2010 on a AMD64 machine with SSE
     2005 install, existing SSE instance can’t upgrade SSE 2008
• Success criteria:
   – Make sure that Setup program detect existing SSE instance
     correctly.
   – Make sure that Setup program disable the upgrade/install
     of SSE correctly.
   – Make sure SSE is not upgraded if upgrade is not needed.
   – Existing SSE instance works after setup.
2. Understand the feature
Knowing:
  – how the feature will be implemented.
  – the risks in term of implementation.
  – the risks in term of the impact on customer.
Example of “Risk Factors and
        Mitigation strategies”
• We are testing product which is not shipped
  by SQL Group.
• Setup is sensitive to change, and easy to be
  broken.
• Dependence of SSE, such as MSI 4.5 is one of
  the main factors of causing setup failing.
• Huge Test Matrix
3. Define your Test Strategy
• Test Strategy
  – How to address the risk areas?
  – Manual Test v.s. Automation Test?
• Examples:
  – Align Test tasks with Dev tasks.
  – For larger dev check-ins, test with a private build
    before checking-in.
  – Encourage writing programming based tests
    instead of writing static Meta tests.
Example of Test Strategy
• Manual Testing during Improvement Phase
   – Avoid huge investigation of test automation
   – We define high-level user scenario Success criteria
     and China VAT team help us to verify
• Run test as a real customer to find usability issue.
   – Verify UI, setup option, and no. reboots
   – Verify localized strings
• For bug fix, we drive user scenario and test
  dimension from the nature of the fix
• Long term, will take advance of VS setup
  automation in SQL Lab
4. Define test patterns
• Test Types:
   – Recorded tests, Scripted tests or Data Driven tests, Declarative
     Tests
   – Model-based or static tests
• Design Patterns:
   – Layer Tests
   – Repository Pattern, Factory Patterns, Visitor pattern
• Test Dimensions:
   – Pair wise or all combination; Parameterized Tests
• Verification Pattern:
   – State Verification; Oracle based Verification; Custom Assertion
• Deal with Dependence:
   – Dependence Injection
   – Mock Object
From User Scenario to Test Case
Test Case Example
Test Case: Mismatch between SSE language with VS language
  if the language of installed SSE instance does not match
   with the localized SSE 2008, we should not provide options
   to install SSE.
Test Dimension
   – VS Language: ENU
   – SSE: SSE 2005, SSE 2008
   – SSE Language: JPN
Test Case:
  use pict tool to use generate 3 test cases
Verification:
• Verify that user can not choose SSE during VS Setup
• Verify that VS setup succeed without any error
Conclusion
1.   User Scenario driven testing
2.   Understand the Feature to Be Tested
3.   Define Test Strategy
4.   From User Scenario to Test Case
5.   Write good Tests
6.   Define measurable success critical
Reference: Test Strategy
• http://en.wikipedia.org/wiki/Test_strategy
• http://www.projectperfect.com.au/info_test_
  strategy.php
• http://www.satisfice.com/presentations/strat
  egy.pdf

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

test plan
test plan test plan
test plan
 
Test plan
Test planTest plan
Test plan
 
Ieee829mtp
Ieee829mtpIeee829mtp
Ieee829mtp
 
Test plan
Test planTest plan
Test plan
 
03 software test-plan-template
03 software test-plan-template03 software test-plan-template
03 software test-plan-template
 
Software Test Planning and Design
Software Test Planning and DesignSoftware Test Planning and Design
Software Test Planning and Design
 
Test plan presentation
Test plan presentationTest plan presentation
Test plan presentation
 
Test Documentation Based On Ieee829 155261
Test Documentation Based On Ieee829 155261Test Documentation Based On Ieee829 155261
Test Documentation Based On Ieee829 155261
 
Test plan
Test planTest plan
Test plan
 
02 test planning
02   test planning02   test planning
02 test planning
 
06 template test plan
06 template test plan06 template test plan
06 template test plan
 
Test planning
Test planningTest planning
Test planning
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
How to create a 'Master Test Plan'
How to create a 'Master Test Plan'How to create a 'Master Test Plan'
How to create a 'Master Test Plan'
 
Test Plan Template
Test Plan TemplateTest Plan Template
Test Plan Template
 
Qa documentation pp
Qa documentation ppQa documentation pp
Qa documentation pp
 
TestPlan for IIT website
TestPlan for IIT websiteTestPlan for IIT website
TestPlan for IIT website
 
Paper review
Paper reviewPaper review
Paper review
 
Ieee 829 1998-a3
Ieee 829 1998-a3Ieee 829 1998-a3
Ieee 829 1998-a3
 

Destacado

English Language Learners and NCLB testing
English Language Learners and NCLB testingEnglish Language Learners and NCLB testing
English Language Learners and NCLB testingTaren Parsons
 
Mattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingMattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingTEST Huddle
 
Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...
Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...
Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...The University of Western Australia
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlcmahendra singh
 
14.2. курс лекций афу
14.2. курс лекций афу14.2. курс лекций афу
14.2. курс лекций афуGKarina707
 
Embedded software development using BDD
Embedded software development using BDDEmbedded software development using BDD
Embedded software development using BDDItamar Hassin
 
Testing and Test Construction
Testing and Test ConstructionTesting and Test Construction
Testing and Test Constructionsongoten77
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioLokesh Agrawal
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808slovejoy
 
Qualities of a good test (1)
Qualities of a good test (1)Qualities of a good test (1)
Qualities of a good test (1)kimoya
 
Characteristics of a good test
Characteristics of a good testCharacteristics of a good test
Characteristics of a good testALMA HERMOGINO
 
Characteristics of a good test
Characteristics of a good test Characteristics of a good test
Characteristics of a good test Arash Yazdani
 
Kinds of testing (2nd)
Kinds of testing (2nd)Kinds of testing (2nd)
Kinds of testing (2nd)Harry Subagyo
 
Test construction edited
Test construction editedTest construction edited
Test construction editedArnel Rivera
 
Characteristics of a good test
Characteristics of a good testCharacteristics of a good test
Characteristics of a good testBoyet Aluan
 
stages of test construction
stages of test constructionstages of test construction
stages of test constructionirshad narejo
 

Destacado (20)

English Language Learners and NCLB testing
English Language Learners and NCLB testingEnglish Language Learners and NCLB testing
English Language Learners and NCLB testing
 
Mattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingMattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario Testing
 
Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...
Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...
Scenario Testing and Sensitivity Analysis for 3-D Kinematic Models and Geophy...
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
 
Test 1
Test 1Test 1
Test 1
 
14.2. курс лекций афу
14.2. курс лекций афу14.2. курс лекций афу
14.2. курс лекций афу
 
Embedded software development using BDD
Embedded software development using BDDEmbedded software development using BDD
Embedded software development using BDD
 
Testing and Test Construction
Testing and Test ConstructionTesting and Test Construction
Testing and Test Construction
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Test plan
Test planTest plan
Test plan
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test Scenario
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Qualities of a good test (1)
Qualities of a good test (1)Qualities of a good test (1)
Qualities of a good test (1)
 
Characteristics of a good test
Characteristics of a good testCharacteristics of a good test
Characteristics of a good test
 
Characteristics of a good test
Characteristics of a good test Characteristics of a good test
Characteristics of a good test
 
Kinds of testing (2nd)
Kinds of testing (2nd)Kinds of testing (2nd)
Kinds of testing (2nd)
 
Test construction edited
Test construction editedTest construction edited
Test construction edited
 
Characteristics of a good test
Characteristics of a good testCharacteristics of a good test
Characteristics of a good test
 
stages of test construction
stages of test constructionstages of test construction
stages of test construction
 
Language Testing
Language TestingLanguage Testing
Language Testing
 

Similar a Writing good test plan and writing good tests

Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013Raluca Suditu
 
Test Case Management with MTM 2013
Test Case Management with MTM 2013Test Case Management with MTM 2013
Test Case Management with MTM 2013Raluca Suditu
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_designTestingGeeks
 
Visual Studio 2010 for testers
Visual Studio 2010 for testersVisual Studio 2010 for testers
Visual Studio 2010 for testersArpit Dubey
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overviewAlex Pop
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachClaudia Badell
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachTestingUy
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesPunjab University
 
Automated Testing Tutorial
Automated Testing TutorialAutomated Testing Tutorial
Automated Testing TutorialJohn Liebenau
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013Ian McDonald
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
10-Testing-system.pdf
10-Testing-system.pdf10-Testing-system.pdf
10-Testing-system.pdfn190212
 
Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012Imaginet
 
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resumechowdappa o
 
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resumechowdappa o
 

Similar a Writing good test plan and writing good tests (20)

Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013
 
Test Case Management with MTM 2013
Test Case Management with MTM 2013Test Case Management with MTM 2013
Test Case Management with MTM 2013
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
 
Visual Studio 2010 for testers
Visual Studio 2010 for testersVisual Studio 2010 for testers
Visual Studio 2010 for testers
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Software automation
Software automationSoftware automation
Software automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
Automated Testing Tutorial
Automated Testing TutorialAutomated Testing Tutorial
Automated Testing Tutorial
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
10-Testing-system.pdf
10-Testing-system.pdf10-Testing-system.pdf
10-Testing-system.pdf
 
Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012Streamlining Testing with Visual Studio 2012
Streamlining Testing with Visual Studio 2012
 
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resume
 
Chowdappa Resume
Chowdappa ResumeChowdappa Resume
Chowdappa Resume
 

Último

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 organizationRadu Cotescu
 
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 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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 WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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 AutomationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[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.pdfhans926745
 

Último (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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 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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[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
 

Writing good test plan and writing good tests

  • 1. Thought on Effective Testing By Qingsong Yao
  • 2. 1. User Scenario driven testing When writing test plan, separate what with How – First, only think about the user scenario – Then, think about how you to test the scenario When write tests, separate what with how – First, write use scenario – Second, implement the test cases which test the scenario
  • 3. User Scenario Example • Scenario – Block of upgrade SQL Express during VS 2010 Installation (Priority 0) • Action: – When a use install VS 2010 on a AMD64 machine with SSE 2005 install, existing SSE instance can’t upgrade SSE 2008 • Success criteria: – Make sure that Setup program detect existing SSE instance correctly. – Make sure that Setup program disable the upgrade/install of SSE correctly. – Make sure SSE is not upgraded if upgrade is not needed. – Existing SSE instance works after setup.
  • 4. 2. Understand the feature Knowing: – how the feature will be implemented. – the risks in term of implementation. – the risks in term of the impact on customer.
  • 5. Example of “Risk Factors and Mitigation strategies” • We are testing product which is not shipped by SQL Group. • Setup is sensitive to change, and easy to be broken. • Dependence of SSE, such as MSI 4.5 is one of the main factors of causing setup failing. • Huge Test Matrix
  • 6. 3. Define your Test Strategy • Test Strategy – How to address the risk areas? – Manual Test v.s. Automation Test? • Examples: – Align Test tasks with Dev tasks. – For larger dev check-ins, test with a private build before checking-in. – Encourage writing programming based tests instead of writing static Meta tests.
  • 7. Example of Test Strategy • Manual Testing during Improvement Phase – Avoid huge investigation of test automation – We define high-level user scenario Success criteria and China VAT team help us to verify • Run test as a real customer to find usability issue. – Verify UI, setup option, and no. reboots – Verify localized strings • For bug fix, we drive user scenario and test dimension from the nature of the fix • Long term, will take advance of VS setup automation in SQL Lab
  • 8. 4. Define test patterns • Test Types: – Recorded tests, Scripted tests or Data Driven tests, Declarative Tests – Model-based or static tests • Design Patterns: – Layer Tests – Repository Pattern, Factory Patterns, Visitor pattern • Test Dimensions: – Pair wise or all combination; Parameterized Tests • Verification Pattern: – State Verification; Oracle based Verification; Custom Assertion • Deal with Dependence: – Dependence Injection – Mock Object
  • 9. From User Scenario to Test Case
  • 10. Test Case Example Test Case: Mismatch between SSE language with VS language if the language of installed SSE instance does not match with the localized SSE 2008, we should not provide options to install SSE. Test Dimension – VS Language: ENU – SSE: SSE 2005, SSE 2008 – SSE Language: JPN Test Case: use pict tool to use generate 3 test cases Verification: • Verify that user can not choose SSE during VS Setup • Verify that VS setup succeed without any error
  • 11. Conclusion 1. User Scenario driven testing 2. Understand the Feature to Be Tested 3. Define Test Strategy 4. From User Scenario to Test Case 5. Write good Tests 6. Define measurable success critical
  • 12. Reference: Test Strategy • http://en.wikipedia.org/wiki/Test_strategy • http://www.projectperfect.com.au/info_test_ strategy.php • http://www.satisfice.com/presentations/strat egy.pdf