SlideShare a Scribd company logo
1 of 33
Tester and Developer
Interaction
Liang Gao
Sigma Resources & Technologies, Inc.
Agenda
 Tester and Developer relationships development
 Which point tester and developer should interact during
the release process
 Test team and development team interaction
 Quality and process control
Tester and Developer
 A love and hate relationship
Test
Manager
Tester and Developer - Hate
 Testers are confused, do you want me to find more
bugs, or do you want me to find less bugs.
 Developers don’t want to be bothered: “Stay away from
me, can I just focus on coding?!”
Tester and Developer – Hate -2
 Developers don’t want to do any test
 Testers don’t know how to test – How can I know what
to test?
Tester and Developer – Love
 It is not actually love, it is that we depend on each
other to get our work done
 We both have one goal: less bug on the customer side.
Tester and Developer – Love - 2
 Tester need to get testing requirement from developer
 Tester need to confirm bugs from developer – Junk
bugs are counter-productive.
 Developer need tester on the system level view, on the
module dependencies
 Developer need tester to know how customer use the
system (a good tester is equal to a good system
designer)
Relationship Development
 Unlike us, developer is a subject expert lacking a
system point of view.
 Developer talks with different languages (white box
language)
Us Developer
系统屏幕上有乱码 我那个对象创建以后里
面有一个函数的输入验
证的不对
系统当机了 用 GDB 看了,那个
API 传出来的时候给我
的就是空指针, 这个问
题不是我需要解决的!
Communication is hard because
 Our technical expertise are different
 Engineers are good at doing, bad at talking
 Engineers are stubborn
 We like Ping Pong things, if not, we lose our patience
very quickly
 The result: we don’t trust each other
Communication is hard because
 GOOD TESTERS
 Get up to speed quickly
 Domain knowledge
 Ignorance is important
 GOOD DEVELOPERS
 Thorough understanding
 Knowledge of product internals
 Expertise is important
Communication is hard because
 GOOD TESTERS
 Model user behavior
 Focus on what can go wrong
 Focus on severity of problem
 GOOD DEVELOPERS
 Model system design
 Focus on how it can work
 Focus on interest in problem
Communication is hard because
 GOOD TESTERS
 Empirical
 What’s observed
 Skeptics
 GOOD DEVELOPERS
 Theoretical
 How it’s designed
 Believers
Communication is hard because
 GOOD TESTERS
 Tolerate tedium
 Comfortable with conflict
 Report problems
 GOOD DEVELOPERS
 Automate tedium
 Avoid conflict
 Understand problems
Tester should take the responsibility
 Because we understand customer
 Because we have more interface within the company
Tester Customer
Development
Manager
Documentation
Team
Product
Manager
SE/Support
Build Trust with Developer
 Be polite
 Response fast
 Emails
 Bugs
 Request/helps
 Speak up
 Design and Review meetings
 Email threads
 Show your technical expertise to impress them
3 Occasions to interact with Developer
 Getting test requirement
 Control test case quality
 Bug
Getting Test Requirement
 Tester join the design phase review meeting
 Give design feedbacks from customer/system point of
view
 Easy of use
 Corner case user scenarios
 Give testability feedbacks
 Testability for faster and easy of debugging and
reproducing bugs
 Testability for automation consideration
Control test case quality
 Developer’s checklist
 Invite developer to attend test case review meeting
 Increase code coverage
Bug
 The universal language between tester and developer
 Reproduce
 If possible, face to face
 Fix verification
 Bug fix code check in code branch control
Interaction between Managers
 Pre-communication on acceptance testing
 转测试 check up
 Accept new version update
Pre-communication on acceptance testing
 Communicate with Dev manager, if those test cases
fail, testing team has the right to reject release
 Need to be blocker test cases, if fail, majority of the
test case can not run.
转测试 check up
 Unit testing done?
 Auto regression done?
 Static code analysis done?
Accept new version update
 When can a testing team accept a new updated
software version?
 Is it an Agile development (XP programming)?
 Frequent update increase regression work load, and
introduce regression bugs
 Need to be firm on when to accept release – reduce
your engineers repetitive work
Process and Quality control
 Goal:
 reduce the developer and tester interaction time
 Increase the developer and tester interaction quality
Process and Quality control
 Tester attend design meetings
 # of accepted suggestions tight to KPI
 Developer attend test case review meetings
 # of accepted suggestions tight to KPI
Process and Quality control
Check out 私有代码库
代码同行评估
内测
Bug 修复
代码 Check in 评估会
研发 测试
新特性代码 Check in 流程
转测试
测试人员参加
同意否决
反馈意见
开发
Process and Quality controlBug 修复代码 Check in 流程
代码 Check in 流程
研发 测试
Check out 私有代码库
Bug 修复
代码同行评估
Bug 验证
代码 Check in
不通过 通过
修改意见
测试人员参加
Process and Quality control
代码库 开发 测试
反馈意见
手工第一轮
手工第二轮
手工第三轮
手工第四轮
开发新
特性
允许新特性代码 Check
in
发布日期
只允许 Bug 修复 Check in
只允许重大 Bug 修复 Check in, 中
等以下 Bug 不修复,会放在 Release
note 中
Tips for Testing and Dev Manager
 Need to both agree goal is to release the product on-
time with Quality
 Need to know outside the product organization, they
don’t know the difference between us
 Need to know and understand each other’s working
flow and process
 Dev manager need to let your team understand the
important of unit-test
Tips for Boss
 When do scheduling, give enough testing time
 Quality VS time to market, give the guidance of the
whole team what to balance.
 Use testing group as tool and service to the overall
product quality, not a service to the dev team.
Summary
 Have developer friends makes your life easy
 Tester should be pro-actively build trust with developer
 Put your smile on! And communicate….
Summary
Thank you!
Any question, please contact Liang Gao
E-mail: lgao@sigma-rt.com

More Related Content

What's hot

Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
Udayakumar Sree
 
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
 
Complete guide to manual testing@uma
Complete guide to manual  testing@umaComplete guide to manual  testing@uma
Complete guide to manual testing@uma
Uma Sapireddy
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics
 

What's hot (20)

Exploratory testing workshop
Exploratory testing workshopExploratory testing workshop
Exploratory testing workshop
 
Resume vivek istqb certified
Resume vivek istqb certifiedResume vivek istqb certified
Resume vivek istqb certified
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Complete guide to manual testing@uma
Complete guide to manual  testing@umaComplete guide to manual  testing@uma
Complete guide to manual testing@uma
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
A Taste of Exploratory Testing
A Taste of Exploratory TestingA Taste of Exploratory Testing
A Taste of Exploratory Testing
 
What is this exploratory testing thing
What is this exploratory testing thingWhat is this exploratory testing thing
What is this exploratory testing thing
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Shoaib Kamal Resume
Shoaib Kamal ResumeShoaib Kamal Resume
Shoaib Kamal Resume
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 

Viewers also liked

Why every Tester should also aspire to be a Developer on his project!-Sandee...
Why every Tester should  also aspire to be a Developer on his project!-Sandee...Why every Tester should  also aspire to be a Developer on his project!-Sandee...
Why every Tester should also aspire to be a Developer on his project!-Sandee...
bhumika2108
 

Viewers also liked (12)

Oredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developerOredev 2014 KNJohnson-tester love developer
Oredev 2014 KNJohnson-tester love developer
 
Why every Tester should also aspire to be a Developer on his project!-Sandee...
Why every Tester should  also aspire to be a Developer on his project!-Sandee...Why every Tester should  also aspire to be a Developer on his project!-Sandee...
Why every Tester should also aspire to be a Developer on his project!-Sandee...
 
Agile Success Story -Tester & Developer Working Together for Higher Quality M...
Agile Success Story -Tester & Developer Working Together for Higher Quality M...Agile Success Story -Tester & Developer Working Together for Higher Quality M...
Agile Success Story -Tester & Developer Working Together for Higher Quality M...
 
Tester - Developer Relation
Tester - Developer RelationTester - Developer Relation
Tester - Developer Relation
 
Why Developer & Tester Should Be United: Secret Ingredient For Quality
Why Developer & Tester Should Be United: Secret Ingredient For QualityWhy Developer & Tester Should Be United: Secret Ingredient For Quality
Why Developer & Tester Should Be United: Secret Ingredient For Quality
 
Tester vs. Developer
Tester vs. DeveloperTester vs. Developer
Tester vs. Developer
 
5 Myths and Realities
5 Myths and Realities5 Myths and Realities
5 Myths and Realities
 
Tales from tester developer collaboration
Tales from tester developer collaborationTales from tester developer collaboration
Tales from tester developer collaboration
 
Where Does Developer Testing End And Tester Testing Begin?
Where Does Developer Testing End And Tester Testing Begin?Where Does Developer Testing End And Tester Testing Begin?
Where Does Developer Testing End And Tester Testing Begin?
 
Tester vs Developer
Tester vs DeveloperTester vs Developer
Tester vs Developer
 
Become Software Tester or Developer
Become Software Tester or DeveloperBecome Software Tester or Developer
Become Software Tester or Developer
 
[Hoang nguyen] The Psychology in Software Testing
[Hoang nguyen] The Psychology in Software Testing[Hoang nguyen] The Psychology in Software Testing
[Hoang nguyen] The Psychology in Software Testing
 

Similar to Tester developer interaction

Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.
Tomas Riha
 
Continuous delivery its not about the technology, its about the people. @sats...
Continuous delivery its not about the technology, its about the people. @sats...Continuous delivery its not about the technology, its about the people. @sats...
Continuous delivery its not about the technology, its about the people. @sats...
Tomas Riha
 
QA/Test Engineering Perspectives
QA/Test Engineering PerspectivesQA/Test Engineering Perspectives
QA/Test Engineering Perspectives
Roopesh Kohad
 

Similar to Tester developer interaction (20)

Software presentation
Software presentationSoftware presentation
Software presentation
 
A journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanA journey to_be_a_software_craftsman
A journey to_be_a_software_craftsman
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...Continuous delivery its not about the technology, its about the people. @pipe...
Continuous delivery its not about the technology, its about the people. @pipe...
 
Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.Continuous delivery its not about the technology, its about the people.
Continuous delivery its not about the technology, its about the people.
 
Abc of testing
Abc of testingAbc of testing
Abc of testing
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Continuous delivery its not about the technology, its about the people. @sats...
Continuous delivery its not about the technology, its about the people. @sats...Continuous delivery its not about the technology, its about the people. @sats...
Continuous delivery its not about the technology, its about the people. @sats...
 
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
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) review
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
 
Top 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdetTop 20 software testing interview questions for sdet
Top 20 software testing interview questions for sdet
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Manual testing1
Manual testing1Manual testing1
Manual testing1
 
The Essentials Of Test Driven Development
The Essentials Of Test Driven Development The Essentials Of Test Driven Development
The Essentials Of Test Driven Development
 
QA/Test Engineering Perspectives
QA/Test Engineering PerspectivesQA/Test Engineering Perspectives
QA/Test Engineering Perspectives
 
Process Guidelines V2
Process Guidelines V2Process Guidelines V2
Process Guidelines V2
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 

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 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
 
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
gaoliang641
 
Tester performance evaluation
Tester performance evaluationTester performance evaluation
Tester performance evaluation
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
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
gaoliang641
 
Functionality testing techniqu
Functionality testing techniquFunctionality testing techniqu
Functionality testing techniqu
gaoliang641
 

More from gaoliang641 (20)

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
 
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 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
 
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
 
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
 
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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Tester developer interaction

  • 1. Tester and Developer Interaction Liang Gao Sigma Resources & Technologies, Inc.
  • 2. Agenda  Tester and Developer relationships development  Which point tester and developer should interact during the release process  Test team and development team interaction  Quality and process control
  • 3. Tester and Developer  A love and hate relationship Test Manager
  • 4. Tester and Developer - Hate  Testers are confused, do you want me to find more bugs, or do you want me to find less bugs.  Developers don’t want to be bothered: “Stay away from me, can I just focus on coding?!”
  • 5. Tester and Developer – Hate -2  Developers don’t want to do any test  Testers don’t know how to test – How can I know what to test?
  • 6. Tester and Developer – Love  It is not actually love, it is that we depend on each other to get our work done  We both have one goal: less bug on the customer side.
  • 7. Tester and Developer – Love - 2  Tester need to get testing requirement from developer  Tester need to confirm bugs from developer – Junk bugs are counter-productive.  Developer need tester on the system level view, on the module dependencies  Developer need tester to know how customer use the system (a good tester is equal to a good system designer)
  • 8. Relationship Development  Unlike us, developer is a subject expert lacking a system point of view.  Developer talks with different languages (white box language) Us Developer 系统屏幕上有乱码 我那个对象创建以后里 面有一个函数的输入验 证的不对 系统当机了 用 GDB 看了,那个 API 传出来的时候给我 的就是空指针, 这个问 题不是我需要解决的!
  • 9. Communication is hard because  Our technical expertise are different  Engineers are good at doing, bad at talking  Engineers are stubborn  We like Ping Pong things, if not, we lose our patience very quickly  The result: we don’t trust each other
  • 10. Communication is hard because  GOOD TESTERS  Get up to speed quickly  Domain knowledge  Ignorance is important  GOOD DEVELOPERS  Thorough understanding  Knowledge of product internals  Expertise is important
  • 11. Communication is hard because  GOOD TESTERS  Model user behavior  Focus on what can go wrong  Focus on severity of problem  GOOD DEVELOPERS  Model system design  Focus on how it can work  Focus on interest in problem
  • 12. Communication is hard because  GOOD TESTERS  Empirical  What’s observed  Skeptics  GOOD DEVELOPERS  Theoretical  How it’s designed  Believers
  • 13. Communication is hard because  GOOD TESTERS  Tolerate tedium  Comfortable with conflict  Report problems  GOOD DEVELOPERS  Automate tedium  Avoid conflict  Understand problems
  • 14. Tester should take the responsibility  Because we understand customer  Because we have more interface within the company Tester Customer Development Manager Documentation Team Product Manager SE/Support
  • 15. Build Trust with Developer  Be polite  Response fast  Emails  Bugs  Request/helps  Speak up  Design and Review meetings  Email threads  Show your technical expertise to impress them
  • 16. 3 Occasions to interact with Developer  Getting test requirement  Control test case quality  Bug
  • 17. Getting Test Requirement  Tester join the design phase review meeting  Give design feedbacks from customer/system point of view  Easy of use  Corner case user scenarios  Give testability feedbacks  Testability for faster and easy of debugging and reproducing bugs  Testability for automation consideration
  • 18. Control test case quality  Developer’s checklist  Invite developer to attend test case review meeting  Increase code coverage
  • 19. Bug  The universal language between tester and developer  Reproduce  If possible, face to face  Fix verification  Bug fix code check in code branch control
  • 20. Interaction between Managers  Pre-communication on acceptance testing  转测试 check up  Accept new version update
  • 21. Pre-communication on acceptance testing  Communicate with Dev manager, if those test cases fail, testing team has the right to reject release  Need to be blocker test cases, if fail, majority of the test case can not run.
  • 22. 转测试 check up  Unit testing done?  Auto regression done?  Static code analysis done?
  • 23. Accept new version update  When can a testing team accept a new updated software version?  Is it an Agile development (XP programming)?  Frequent update increase regression work load, and introduce regression bugs  Need to be firm on when to accept release – reduce your engineers repetitive work
  • 24. Process and Quality control  Goal:  reduce the developer and tester interaction time  Increase the developer and tester interaction quality
  • 25. Process and Quality control  Tester attend design meetings  # of accepted suggestions tight to KPI  Developer attend test case review meetings  # of accepted suggestions tight to KPI
  • 26. Process and Quality control Check out 私有代码库 代码同行评估 内测 Bug 修复 代码 Check in 评估会 研发 测试 新特性代码 Check in 流程 转测试 测试人员参加 同意否决 反馈意见 开发
  • 27. Process and Quality controlBug 修复代码 Check in 流程 代码 Check in 流程 研发 测试 Check out 私有代码库 Bug 修复 代码同行评估 Bug 验证 代码 Check in 不通过 通过 修改意见 测试人员参加
  • 28. Process and Quality control 代码库 开发 测试 反馈意见 手工第一轮 手工第二轮 手工第三轮 手工第四轮 开发新 特性 允许新特性代码 Check in 发布日期 只允许 Bug 修复 Check in 只允许重大 Bug 修复 Check in, 中 等以下 Bug 不修复,会放在 Release note 中
  • 29. Tips for Testing and Dev Manager  Need to both agree goal is to release the product on- time with Quality  Need to know outside the product organization, they don’t know the difference between us  Need to know and understand each other’s working flow and process  Dev manager need to let your team understand the important of unit-test
  • 30. Tips for Boss  When do scheduling, give enough testing time  Quality VS time to market, give the guidance of the whole team what to balance.  Use testing group as tool and service to the overall product quality, not a service to the dev team.
  • 31. Summary  Have developer friends makes your life easy  Tester should be pro-actively build trust with developer  Put your smile on! And communicate….
  • 33. Thank you! Any question, please contact Liang Gao E-mail: lgao@sigma-rt.com

Editor's Notes

  1. 思科例子: Developer wrote emails to praise the bug report of one engineer to his boss 高亮:多做 Debug ,定位问题准确
  2. 有两种 Bug 最要不得,一种是刚开始测就侧不下去的 Bug 。一种是马上就要发布的时候发现的重大 Bug 。 第一种只有依靠开发人员才能避免。