SlideShare a Scribd company logo
1 of 31
Backward ThinkingBackward Thinking
Design QA System to Meet Quality GoalsDesign QA System to Meet Quality Goals
Liang Gao
Types of TestingTypes of Testing
• User testing
• Alpha testing
• Beta testing
• Function testing
• Integration testing
• Domain testing
• Boundary testing
• Best representative testing
• Logic testing
• State-based testing
• Path testing
• Performance testing
 2
• Specification-based testing
• Requirements-based testing
• Combination testing
• Regression testing
• Scripted testing
• Smoke testing
• Exploratory testing
• Guerilla testing
• Scenario testing
• Installation testing
• Load testing
• System testing
Don’t Panic
And Lots of Questions Need To Be AnsweredAnd Lots of Questions Need To Be Answered
• 产品的组织结构图 产品测试后, 测试人员如何流动
• 测试人员的职位和角色的划分 有没有独立的测试设计团队
• 测试组织内部的回报关系, 测试人员如何考核 开发和测试的比例
• 测试人员的要求,资历,经验等。 质量部对测试团队的监控作用。
• 开发流程和开发模式 开发人员给测试人员的质量的保证
• 测试工作量如何来评估,如何制定测试计划,依据什么来估计工作量
• 开发和测试人员在各个阶段的工作职责测试人员是否参与百合子和黑盒子的测试
• 版本发布谁来说了算,如何评估版本的质量。 版本能不能发布要考虑那方面的因素。
• 工具和自动化, 仔细介绍一下好的自动化工具。有那些工具。日常测试中用那些工具。是否
自己开发的,还是商用工具。
• 测试技术用例设计考虑的输入边界值 有否测试类型的划分
• 测试用例设计的步骤,需求分析,测试设计从那些角度来考虑,是从用户需求还是从哪些。
• 测试策略,一个版本的测试策略,有老特性和新特性。
• 如何来自动化,进入维护状态,测试如何进行。 什么组织来负责。是否是独立的组织,人员
的交替关系。
• 平台的测试和产品的测试的关系,是否有不同的测试团队来负责。测试内容和范围有没有差别
• 一个版本,测试是否基于风险,需要考虑那些因素主要问题是在什么阶段发现的。转测试之前
还是之后。
• 开发人员, SE ,市场人员和服务人员在测试过程中能发挥什么作用
 3
Nature of the SoftwareNature of the Software
• Continuous Release
 4
Product QualityProduct Quality
• “Rock Solid Product”, what does it mean?
• Your product is only as good as customer’s saying
• The ultimate goal is to increase customer
satisfaction.
• C company publish a customer satisfaction index
every day on its internal website.
• Customer are not satisfied when product is not
function as they expected to be.
 5
Why Not Satisfied?Why Not Satisfied?
• Lack of product knowledge – need a TAC, not
the topic today , and not quality problem.
• Product has problem
o Manufacture problem – not the topic today
o Defects – yes, we need to catch those.
 6
Internal Found Defects
Customer
Found Defects
Product Quality MetricsProduct Quality Metrics• Product complexity
• Numbers of the customer found defects
• Customer found defects priority
• Number of the unit shipped
Can you come up with an equation to calculate
the “Product Quality Index” number?
You boss will love to say:” Lets reduce our quality
index from 4.7 to 3.5 this year”.
 7
QA’s goalQA’s goal• Reduce customer found defects!
• Reduce high profile customer found defects first.
(80 percent of the customer only use 20 percent
of the features, 20 percent of the customer make
80 percent of your revenue)
• So QA strategy is just anther ROI (return on
investment)
 8
2 Kinds of Testing2 Kinds of Testing
OrganizationOrganization• By Feature
• By Testing roles
 9
2 Types of Defects -2 Types of Defects -
EngineeringEngineering
• New feature defects – new code broken
• Regression defects – new code break the old
code
o Enable new code
o Not enable new code
 10
1Type of Defects - Customer1Type of Defects - Customer
• Feature interaction defects
 11
Why Regression Bug?Why Regression Bug?
• Software Modules and Modules are coupled,
change one module’s code will affect others.
• Network equipments process same packet in
different place when a packet traverse the box –
sequential processing
• Protocols are layered (ISO layer)
• Protocols depends on one another (one protocol
use another protocol as input)
 12
Analysis Your CustomerAnalysis Your Customer
Found BugsFound Bugs
• New feature defects (single or multi-feature
interaction)
o More testing need to be done on new feature testing.
o Your testers need to be trained on how design effective
test cases to catch new bugs.
o Different testing methodologies.
o Increase your new feature testing coverage on your
test plan.
o End-to-end customer oriented solution testing
• Regression defects
o Will not decrease no matter how good your testers are
o You need a regression strategy
o All code need to be tested whenever release a new
version ( huge work)
 13
Combination is endlessCombination is endless
• Feature interaction is endless
• The way to use your product/system is endless
• Lucky you if you can cover them all
• If not, you need a strategy
• The best strategy is customer’s usage (20/80 rules)
 14
To Reduce Customer FoundTo Reduce Customer Found
DefectsDefects
• You need a process to test new
• You need a process to test old
• You need a process to test solution (whatever on
the customers site).
 15
Bugs in a Product’s lifeBugs in a Product’s life
 16
New Feature
Bug
Regression Bug Regression Bug
Active Development, Market
Share
Cash Cow End of Life
Product Revenue
Maintenance, feature enhancement
1.0
2.0
3.0
4.0 5.0
6.0
Nowadays in Company CNowadays in Company C
• Most of the new feature bugs can be found in
the early development – strong testers, end-to-
end system testing, early customer field trial.
• Many customer found defects are regression
bugs
o 10 million lines of code need to be tested whenever a new version is
released
o Release 2 new versions every week.
o Is that possible? Yes, but only via Automation
• Many companies use frequent regression to
stabilize a code branch.
 17
Strategy To Release aStrategy To Release a
Quality SoftwareQuality Software
• We are talking about carrier grade product.
• Test case/test plan design needs to start when
code writing start, and finish when code writing
finish.
• Be very strict on review process. (C company
spent multi-million $$ on this)
• Closely monitor your bug trend during testing
new.
• Repetitive regression to stabilize your code
branch
 18
Repetitive regression to stabilize your code branchRepetitive regression to stabilize your code branch
• In order to fix regression bugs, new code need to
be added  introduce another regression bugs?
• Multiple regression cycles are needed to carve
off regression bus.
• The more regression you are able to do before
FCS, the more stabilize your code branch.
 19
Testing Release TimingTesting Release Timing
 20
Dev Test Regression1 Regression2 Regression3
Solution EFT
Golden
Week
Development and Testing At a GlanceDevelopment and Testing At a Glance
 21
MRD/PRD
Functional
Specification
Code
Development Bug Fixes
Test Plan Test Case
Code
Release
to Test
Daily/Frequent Code Drops
Code to
Test
Alpha
Start
Beta
Start FCS
Various Testing Scripting
Dev
Test
Code
Control Opened Bug ID Code
Review
Form
Golden
Week
No Need to Be In SyncNo Need to Be In Sync
• Make regression a train
• Make System testing and solution a train as you
like.
• Only new feature testing need to be in sync with
development and release schedule.
• Scheduled regression testing make branch stable
• Scheduled system and solution testing make
optimize your code for performance
 22
Branch is QA’s BabyBranch is QA’s Baby
• Code branch should be owned by QA.
Developer’s checking in new code need QA
permission
• Design a nightly smoke test suite to monitor the
build quality.
• Test new, and exploratory test new to take the
new code bug out (daily build is necessary)
• Close the code branch before final regression.
• Only regression commit is permitted during
regression testing
• Multiple regression cycle to shrug off the
regression bug
 23
Automate the Process to Make Your Life EasyAutomate the Process to Make Your Life Easy
• When developer check in a code, he can
specify a bug id. Then this bug in the bug
tracking system’s state automatically change to
“R”
• A new code commit automatically trigger a
smoke testing, report automatically sent to QA
team. If there are large amount of failures, an
alarm can be automatically triggered (send a
SMS to your cell phone?)
• ………
 24
Not Enough TimeNot Enough Time
Testing?Testing?•  More Attributes on the test cases can help
• Which functionality is most important to the project’s intended purpose?
- Which functionality is most visible to the user?
- Which functionality has the largest safety impact?
- Which functionality has the largest financial impact on users?
- Which aspects of the application are most important to the customer?
- Which aspects of the application can be tested early in the development cycle?
- Which parts of the code are most complex, and thus most subject to errors?
- Which parts of the application were developed in rush or panic mode?
- Which aspects of similar/related previous projects caused problems?
- Which aspects of similar/related previous projects had large maintenance
expenses?
- Which parts of the requirements and design are unclear or poorly thought out?
- What do the developers think are the highest-risk aspects of the application?
- What kinds of problems would cause the worst publicity?
- What kinds of problems would cause the most customer service complaints?
- What kinds of tests could easily cover multiple functionalities?
- Which tests will have the best high-risk-coverage to time-required ratio?
 25
Ready to ReleaseReady to Release
• QA is always asked: can we release it?
o QA’s job is to deliver report (a risk assessment),
what works, what not. Testing report & Bug
Report
• QA can only answer this question by giving a full
version testing report
• QA use defects to talk to other department and
bosses.
 26
Big PictureBig Picture
 27
Testing TipsTesting Tips
• Plan ahead
o Perform good interview to create strategy and methodology
• Discussion is crucial:
o Interview & review with right set of people: developers, marketing, sales,
manufacturer
o Use white board as much as possible to discuss new test cases, resolving
technical questions
• Work with developers
o Find out the changes and possible breakages
o Resolve ambiguities in varies documentations
 28
Testing TipsTesting Tips
• Testing
o Test the code changes and its dependencies
o GUI testing != functionality testing. If possible, do not use
GUI testing to test core functionalities
o Use 80/20 rules to focus on the right area to test
o Not only ask what to test, but ask what not to test
• Remove unnecessary duplicate efforts
o Types of release can determine the testing, see next slide
o Weapon: Schedule. Use it carefully
o Code scale linearly but the complexity grows exponentially
 29
Version controlVersion control• Version 1.0, Oct 10th, 2007, Liang Gao
• Version 1.1, Oct 29th, 2007, Liang Gao
• Version 1.3, Jan 10th, 2008, Liang Gao
• Version 1.4, March 13th, 2008, Liang Gao
• Version 1.5 June, 2008, Liang Gao
 30
Optimize QA System to Meet Quality Goals

More Related Content

What's hot

Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
The Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QARapidValue
 
Agile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality AssistanceAgile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality AssistanceLuca Giovenzana
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Test Automation Strategies and Frameworks: What Should Your Team Do?
Test Automation Strategies and Frameworks: What Should Your Team Do?Test Automation Strategies and Frameworks: What Should Your Team Do?
Test Automation Strategies and Frameworks: What Should Your Team Do?TechWell
 
Continuous Testing for CTOs (Webinar Slides)
Continuous Testing for CTOs (Webinar Slides)Continuous Testing for CTOs (Webinar Slides)
Continuous Testing for CTOs (Webinar Slides)Rainforest QA
 
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...GoQA
 
50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationshipAgile Testing Alliance
 

What's hot (20)

Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Qa management in big agile teams
Qa management in big agile teamsQa management in big agile teams
Qa management in big agile teams
 
Scrum best practices
Scrum best practicesScrum best practices
Scrum best practices
 
Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
Manual estimation approach for Pre-sale phase of a project
Manual estimation approach for Pre-sale phase of a projectManual estimation approach for Pre-sale phase of a project
Manual estimation approach for Pre-sale phase of a project
 
Agile testing
Agile testingAgile testing
Agile testing
 
The Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QA
 
Agile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality AssistanceAgile testing: from Quality Assurance to Quality Assistance
Agile testing: from Quality Assurance to Quality Assistance
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Alpha and beta testing
Alpha and beta testingAlpha and beta testing
Alpha and beta testing
 
Manual testing1
Manual testing1Manual testing1
Manual testing1
 
Agile testing MyBTEC
Agile testing MyBTECAgile testing MyBTEC
Agile testing MyBTEC
 
Beginners QA Testing
Beginners QA TestingBeginners QA Testing
Beginners QA Testing
 
Test Automation Strategies and Frameworks: What Should Your Team Do?
Test Automation Strategies and Frameworks: What Should Your Team Do?Test Automation Strategies and Frameworks: What Should Your Team Do?
Test Automation Strategies and Frameworks: What Should Your Team Do?
 
Continuous Testing for CTOs (Webinar Slides)
Continuous Testing for CTOs (Webinar Slides)Continuous Testing for CTOs (Webinar Slides)
Continuous Testing for CTOs (Webinar Slides)
 
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship
 

Similar to Optimize QA System to Meet Quality Goals

Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineeringgaoliang641
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity Software Ireland
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa managergaoliang641
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Varun Sharma
 
Continuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityFabricio Epaminondas
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices Marcelo Freire
 
SoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptxSoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptxmahadev46
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineeringMansiganeshJawale
 
Testing Metrics and why Managers like them
Testing Metrics and why Managers like themTesting Metrics and why Managers like them
Testing Metrics and why Managers like themPractiTest
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)bharathanche
 
Quality Loopback
Quality LoopbackQuality Loopback
Quality LoopbackOmar Bashir
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters MostRemedy IT
 
Develop a Defect Prevention Strategy—or Else!
Develop a Defect Prevention Strategy—or Else!Develop a Defect Prevention Strategy—or Else!
Develop a Defect Prevention Strategy—or Else!TechWell
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
 

Similar to Optimize QA System to Meet Quality Goals (20)

Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
 
Project management for qa manager
Project management for qa managerProject management for qa manager
Project management for qa manager
 
Test Policy and Practices
Test Policy and PracticesTest Policy and Practices
Test Policy and Practices
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
 
Continuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software quality
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices
 
SoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptxSoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptx
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Testing Metrics and why Managers like them
Testing Metrics and why Managers like themTesting Metrics and why Managers like them
Testing Metrics and why Managers like them
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Quality Loopback
Quality LoopbackQuality Loopback
Quality Loopback
 
L software testing
L   software testingL   software testing
L software testing
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters Most
 
Develop a Defect Prevention Strategy—or Else!
Develop a Defect Prevention Strategy—or Else!Develop a Defect Prevention Strategy—or Else!
Develop a Defect Prevention Strategy—or Else!
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 

More from gaoliang641

Why we didn't catch that
Why we didn't catch thatWhy we didn't catch that
Why we didn't catch thatgaoliang641
 
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 bugsgaoliang641
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testinggaoliang641
 
The art of system and solution testing
The art of system and solution testingThe art of system and solution testing
The art of system and solution testinggaoliang641
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluationgaoliang641
 
Tester developer interaction
Tester developer interactionTester developer interaction
Tester developer interactiongaoliang641
 
Tester career path
Tester career pathTester career path
Tester career pathgaoliang641
 
Agile testing for large projects
Agile testing for large projectsAgile testing for large projects
Agile testing for large projectsgaoliang641
 
Make good use of explortary testing
Make good use of explortary testingMake good use of explortary testing
Make good use of explortary testinggaoliang641
 
Bug best practice
Bug best practiceBug best practice
Bug best practicegaoliang641
 
Lessons learned on localization testing
Lessons learned on localization testingLessons learned on localization testing
Lessons learned on localization testinggaoliang641
 
Lessons learned on software testing automation
Lessons learned on software testing automationLessons learned on software testing automation
Lessons learned on software testing automationgaoliang641
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expertgaoliang641
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqugaoliang641
 
Protocol Security Testing best practice
Protocol Security Testing best practiceProtocol Security Testing best practice
Protocol Security Testing best practicegaoliang641
 
Automation framework design and implementation
Automation framework design and implementationAutomation framework design and implementation
Automation framework design and implementationgaoliang641
 
Automation from start to finish
Automation   from start to finishAutomation   from start to finish
Automation from start to finishgaoliang641
 
Agile testing for large projects
Agile testing for large projectsAgile testing for large projects
Agile testing for large projectsgaoliang641
 

More from 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 regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
The art of system and solution testing
The art of system and solution testingThe art of system and solution testing
The art of system and solution 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
 
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
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
 
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
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Optimize QA System to Meet Quality Goals

  • 1. Backward ThinkingBackward Thinking Design QA System to Meet Quality GoalsDesign QA System to Meet Quality Goals Liang Gao
  • 2. Types of TestingTypes of Testing • User testing • Alpha testing • Beta testing • Function testing • Integration testing • Domain testing • Boundary testing • Best representative testing • Logic testing • State-based testing • Path testing • Performance testing  2 • Specification-based testing • Requirements-based testing • Combination testing • Regression testing • Scripted testing • Smoke testing • Exploratory testing • Guerilla testing • Scenario testing • Installation testing • Load testing • System testing Don’t Panic
  • 3. And Lots of Questions Need To Be AnsweredAnd Lots of Questions Need To Be Answered • 产品的组织结构图 产品测试后, 测试人员如何流动 • 测试人员的职位和角色的划分 有没有独立的测试设计团队 • 测试组织内部的回报关系, 测试人员如何考核 开发和测试的比例 • 测试人员的要求,资历,经验等。 质量部对测试团队的监控作用。 • 开发流程和开发模式 开发人员给测试人员的质量的保证 • 测试工作量如何来评估,如何制定测试计划,依据什么来估计工作量 • 开发和测试人员在各个阶段的工作职责测试人员是否参与百合子和黑盒子的测试 • 版本发布谁来说了算,如何评估版本的质量。 版本能不能发布要考虑那方面的因素。 • 工具和自动化, 仔细介绍一下好的自动化工具。有那些工具。日常测试中用那些工具。是否 自己开发的,还是商用工具。 • 测试技术用例设计考虑的输入边界值 有否测试类型的划分 • 测试用例设计的步骤,需求分析,测试设计从那些角度来考虑,是从用户需求还是从哪些。 • 测试策略,一个版本的测试策略,有老特性和新特性。 • 如何来自动化,进入维护状态,测试如何进行。 什么组织来负责。是否是独立的组织,人员 的交替关系。 • 平台的测试和产品的测试的关系,是否有不同的测试团队来负责。测试内容和范围有没有差别 • 一个版本,测试是否基于风险,需要考虑那些因素主要问题是在什么阶段发现的。转测试之前 还是之后。 • 开发人员, SE ,市场人员和服务人员在测试过程中能发挥什么作用  3
  • 4. Nature of the SoftwareNature of the Software • Continuous Release  4
  • 5. Product QualityProduct Quality • “Rock Solid Product”, what does it mean? • Your product is only as good as customer’s saying • The ultimate goal is to increase customer satisfaction. • C company publish a customer satisfaction index every day on its internal website. • Customer are not satisfied when product is not function as they expected to be.  5
  • 6. Why Not Satisfied?Why Not Satisfied? • Lack of product knowledge – need a TAC, not the topic today , and not quality problem. • Product has problem o Manufacture problem – not the topic today o Defects – yes, we need to catch those.  6 Internal Found Defects Customer Found Defects
  • 7. Product Quality MetricsProduct Quality Metrics• Product complexity • Numbers of the customer found defects • Customer found defects priority • Number of the unit shipped Can you come up with an equation to calculate the “Product Quality Index” number? You boss will love to say:” Lets reduce our quality index from 4.7 to 3.5 this year”.  7
  • 8. QA’s goalQA’s goal• Reduce customer found defects! • Reduce high profile customer found defects first. (80 percent of the customer only use 20 percent of the features, 20 percent of the customer make 80 percent of your revenue) • So QA strategy is just anther ROI (return on investment)  8
  • 9. 2 Kinds of Testing2 Kinds of Testing OrganizationOrganization• By Feature • By Testing roles  9
  • 10. 2 Types of Defects -2 Types of Defects - EngineeringEngineering • New feature defects – new code broken • Regression defects – new code break the old code o Enable new code o Not enable new code  10
  • 11. 1Type of Defects - Customer1Type of Defects - Customer • Feature interaction defects  11
  • 12. Why Regression Bug?Why Regression Bug? • Software Modules and Modules are coupled, change one module’s code will affect others. • Network equipments process same packet in different place when a packet traverse the box – sequential processing • Protocols are layered (ISO layer) • Protocols depends on one another (one protocol use another protocol as input)  12
  • 13. Analysis Your CustomerAnalysis Your Customer Found BugsFound Bugs • New feature defects (single or multi-feature interaction) o More testing need to be done on new feature testing. o Your testers need to be trained on how design effective test cases to catch new bugs. o Different testing methodologies. o Increase your new feature testing coverage on your test plan. o End-to-end customer oriented solution testing • Regression defects o Will not decrease no matter how good your testers are o You need a regression strategy o All code need to be tested whenever release a new version ( huge work)  13
  • 14. Combination is endlessCombination is endless • Feature interaction is endless • The way to use your product/system is endless • Lucky you if you can cover them all • If not, you need a strategy • The best strategy is customer’s usage (20/80 rules)  14
  • 15. To Reduce Customer FoundTo Reduce Customer Found DefectsDefects • You need a process to test new • You need a process to test old • You need a process to test solution (whatever on the customers site).  15
  • 16. Bugs in a Product’s lifeBugs in a Product’s life  16 New Feature Bug Regression Bug Regression Bug Active Development, Market Share Cash Cow End of Life Product Revenue Maintenance, feature enhancement 1.0 2.0 3.0 4.0 5.0 6.0
  • 17. Nowadays in Company CNowadays in Company C • Most of the new feature bugs can be found in the early development – strong testers, end-to- end system testing, early customer field trial. • Many customer found defects are regression bugs o 10 million lines of code need to be tested whenever a new version is released o Release 2 new versions every week. o Is that possible? Yes, but only via Automation • Many companies use frequent regression to stabilize a code branch.  17
  • 18. Strategy To Release aStrategy To Release a Quality SoftwareQuality Software • We are talking about carrier grade product. • Test case/test plan design needs to start when code writing start, and finish when code writing finish. • Be very strict on review process. (C company spent multi-million $$ on this) • Closely monitor your bug trend during testing new. • Repetitive regression to stabilize your code branch  18
  • 19. Repetitive regression to stabilize your code branchRepetitive regression to stabilize your code branch • In order to fix regression bugs, new code need to be added  introduce another regression bugs? • Multiple regression cycles are needed to carve off regression bus. • The more regression you are able to do before FCS, the more stabilize your code branch.  19
  • 20. Testing Release TimingTesting Release Timing  20 Dev Test Regression1 Regression2 Regression3 Solution EFT Golden Week
  • 21. Development and Testing At a GlanceDevelopment and Testing At a Glance  21 MRD/PRD Functional Specification Code Development Bug Fixes Test Plan Test Case Code Release to Test Daily/Frequent Code Drops Code to Test Alpha Start Beta Start FCS Various Testing Scripting Dev Test Code Control Opened Bug ID Code Review Form Golden Week
  • 22. No Need to Be In SyncNo Need to Be In Sync • Make regression a train • Make System testing and solution a train as you like. • Only new feature testing need to be in sync with development and release schedule. • Scheduled regression testing make branch stable • Scheduled system and solution testing make optimize your code for performance  22
  • 23. Branch is QA’s BabyBranch is QA’s Baby • Code branch should be owned by QA. Developer’s checking in new code need QA permission • Design a nightly smoke test suite to monitor the build quality. • Test new, and exploratory test new to take the new code bug out (daily build is necessary) • Close the code branch before final regression. • Only regression commit is permitted during regression testing • Multiple regression cycle to shrug off the regression bug  23
  • 24. Automate the Process to Make Your Life EasyAutomate the Process to Make Your Life Easy • When developer check in a code, he can specify a bug id. Then this bug in the bug tracking system’s state automatically change to “R” • A new code commit automatically trigger a smoke testing, report automatically sent to QA team. If there are large amount of failures, an alarm can be automatically triggered (send a SMS to your cell phone?) • ………  24
  • 25. Not Enough TimeNot Enough Time Testing?Testing?•  More Attributes on the test cases can help • Which functionality is most important to the project’s intended purpose? - Which functionality is most visible to the user? - Which functionality has the largest safety impact? - Which functionality has the largest financial impact on users? - Which aspects of the application are most important to the customer? - Which aspects of the application can be tested early in the development cycle? - Which parts of the code are most complex, and thus most subject to errors? - Which parts of the application were developed in rush or panic mode? - Which aspects of similar/related previous projects caused problems? - Which aspects of similar/related previous projects had large maintenance expenses? - Which parts of the requirements and design are unclear or poorly thought out? - What do the developers think are the highest-risk aspects of the application? - What kinds of problems would cause the worst publicity? - What kinds of problems would cause the most customer service complaints? - What kinds of tests could easily cover multiple functionalities? - Which tests will have the best high-risk-coverage to time-required ratio?  25
  • 26. Ready to ReleaseReady to Release • QA is always asked: can we release it? o QA’s job is to deliver report (a risk assessment), what works, what not. Testing report & Bug Report • QA can only answer this question by giving a full version testing report • QA use defects to talk to other department and bosses.  26
  • 28. Testing TipsTesting Tips • Plan ahead o Perform good interview to create strategy and methodology • Discussion is crucial: o Interview & review with right set of people: developers, marketing, sales, manufacturer o Use white board as much as possible to discuss new test cases, resolving technical questions • Work with developers o Find out the changes and possible breakages o Resolve ambiguities in varies documentations  28
  • 29. Testing TipsTesting Tips • Testing o Test the code changes and its dependencies o GUI testing != functionality testing. If possible, do not use GUI testing to test core functionalities o Use 80/20 rules to focus on the right area to test o Not only ask what to test, but ask what not to test • Remove unnecessary duplicate efforts o Types of release can determine the testing, see next slide o Weapon: Schedule. Use it carefully o Code scale linearly but the complexity grows exponentially  29
  • 30. Version controlVersion control• Version 1.0, Oct 10th, 2007, Liang Gao • Version 1.1, Oct 29th, 2007, Liang Gao • Version 1.3, Jan 10th, 2008, Liang Gao • Version 1.4, March 13th, 2008, Liang Gao • Version 1.5 June, 2008, Liang Gao  30