0
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 rele...
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....
Tester and Developer – Hate -2
 Developers don’t want to do any test
 Testers don’t know how to test – How can I know wh...
Tester and Developer – Love
 It is not actually love, it is that we depend on each
other to get our work done
 We both h...
Tester and Developer – Love - 2
 Tester need to get testing requirement from developer
 Tester need to confirm bugs from...
Relationship Development
 Unlike us, developer is a subject expert lacking a
system point of view.
 Developer talks with...
Communication is hard because
 Our technical expertise are different
 Engineers are good at doing, bad at talking
 Engi...
Communication is hard because
 GOOD TESTERS
 Get up to speed quickly
 Domain knowledge
 Ignorance is important
 GOOD ...
Communication is hard because
 GOOD TESTERS
 Model user behavior
 Focus on what can go wrong
 Focus on severity of pro...
Communication is hard because
 GOOD TESTERS
 Empirical
 What’s observed
 Skeptics
 GOOD DEVELOPERS
 Theoretical
 Ho...
Communication is hard because
 GOOD TESTERS
 Tolerate tedium
 Comfortable with conflict
 Report problems
 GOOD DEVELO...
Tester should take the responsibility
 Because we understand customer
 Because we have more interface within the company...
Build Trust with Developer
 Be polite
 Response fast
 Emails
 Bugs
 Request/helps
 Speak up
 Design and Review meet...
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 ...
Control test case quality
 Developer’s checklist
 Invite developer to attend test case review meeting
 Increase code co...
Bug
 The universal language between tester and developer
 Reproduce
 If possible, face to face
 Fix verification
 Bug...
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 rig...
转测试 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 (X...
Process and Quality control
 Goal:
 reduce the developer and tester interaction time
 Increase the developer and tester...
Process and Quality control
 Tester attend design meetings
 # of accepted suggestions tight to KPI
 Developer attend te...
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
只允许重大 ...
Tips for Testing and Dev Manager
 Need to both agree goal is to release the product on-
time with Quality
 Need to know ...
Tips for Boss
 When do scheduling, give enough testing time
 Quality VS time to market, give the guidance of the
whole t...
Summary
 Have developer friends makes your life easy
 Tester should be pro-actively build trust with developer
 Put you...
Summary
Thank you!
Any question, please contact Liang Gao
E-mail: lgao@sigma-rt.com
Upcoming SlideShare
Loading in...5
×

Tester developer interaction

665

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
665
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

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

    1. 1. Tester and Developer Interaction Liang Gao Sigma Resources & Technologies, Inc.
    2. 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. 3. Tester and Developer  A love and hate relationship Test Manager
    4. 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. 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. 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. 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. 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. 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. 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. 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. 12. Communication is hard because  GOOD TESTERS  Empirical  What’s observed  Skeptics  GOOD DEVELOPERS  Theoretical  How it’s designed  Believers
    13. 13. Communication is hard because  GOOD TESTERS  Tolerate tedium  Comfortable with conflict  Report problems  GOOD DEVELOPERS  Automate tedium  Avoid conflict  Understand problems
    14. 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. 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. 16. 3 Occasions to interact with Developer  Getting test requirement  Control test case quality  Bug
    17. 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. 18. Control test case quality  Developer’s checklist  Invite developer to attend test case review meeting  Increase code coverage
    19. 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. 20. Interaction between Managers  Pre-communication on acceptance testing  转测试 check up  Accept new version update
    21. 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. 22. 转测试 check up  Unit testing done?  Auto regression done?  Static code analysis done?
    23. 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. 24. Process and Quality control  Goal:  reduce the developer and tester interaction time  Increase the developer and tester interaction quality
    25. 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. 26. Process and Quality control Check out 私有代码库 代码同行评估 内测 Bug 修复 代码 Check in 评估会 研发 测试 新特性代码 Check in 流程 转测试 测试人员参加 同意否决 反馈意见 开发
    27. 27. Process and Quality controlBug 修复代码 Check in 流程 代码 Check in 流程 研发 测试 Check out 私有代码库 Bug 修复 代码同行评估 Bug 验证 代码 Check in 不通过 通过 修改意见 测试人员参加
    28. 28. Process and Quality control 代码库 开发 测试 反馈意见 手工第一轮 手工第二轮 手工第三轮 手工第四轮 开发新 特性 允许新特性代码 Check in 发布日期 只允许 Bug 修复 Check in 只允许重大 Bug 修复 Check in, 中 等以下 Bug 不修复,会放在 Release note 中
    29. 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. 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. 31. Summary  Have developer friends makes your life easy  Tester should be pro-actively build trust with developer  Put your smile on! And communicate….
    32. 32. Summary
    33. 33. Thank you! Any question, please contact Liang Gao E-mail: lgao@sigma-rt.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×