[心得] PM如何与QA合作?

楼主: annedoo (萧安)   2019-03-03 11:19:31
哈囉大家好,我是在软件业工作的PM,
前阵子分享PM与工程师合作的注意事项得到很多回馈,
最近又写了一篇PM与QA合作的心得,欢迎大家给些回馈或是跟我们交流交流~
【PM伙伴攻略】如何与QA合作?
https://pse.is/FFGC8
软件业中的 QA(Quality Assurance)是负责软件测试、确保软件功能正常的重要角色。在我刚加入团队时并没有专职的 QA,功能测试的工作是由产品经理、工程师、客服共同负责,而在两年后 QA 部门已经比 PM 人数还要多了,包含手动测试、自动化测试与有经验的 QA 主管来协调资源与管理测试项目(Test Cases)。
为了确保产品的稳定度与安全性,“测试”这件事情对于使用者数量多、以及会碰到“钱”的电商、金融相关产品尤其重要,因此除了 QA 本人会负责测试之外,产品经理、工程师也会在不同阶段为测试尽一份心力。
▍软件开发流程中的各种测试
1. 工程师—Unit Test
开发时,工程师会写单元测试(Unit Test),Code Review 时其他工程师会再次检查 Code & Unit Test 是否合规。
2. 产品经理、设计师—Use Case Review
当工程师的开发告一阶段,会请产品经理、设计师测试功能与情境是否符合期待。通常就是对照着 PRD、mockup 来检查与测试。
3. QA—End-to-end Testing (E2E), Integration Testing
到了 QA 手上时,会进入 End-to-end Testing (E2E)、Integration Testing 的阶段,包含手动测试与自动测试。
手动测试时会检查每个新任务的细节,除了正常使用情境与接口检查外,也会测试极端情况、错误使用方式的处理、不同版本或权限的管理等等。
而在我们的流程中,自动测试的环节出现在新版本的功能、优化、bug fix merge 到主要分支后、准备上线前的最后一道关卡,跟 DevOps、SRE 密切合作。主要测试项目为目前线上已有的功能与模组,例如注册、登入、加入购物车、结帐流程等等,避免新的版本影响到原有功能。而新功能的自动化测项则是会边开发边加进去,逐渐提高代码覆蓋率(code coverage)。
QA 主管负责掌管庞大的测试项目(Test Cases)数据库,使用如 TestRails 这类型的工具将测试项目分类、互相关联、复制、移动,同时跟工程师、产品经理沟通新的功能开发的测试项目、资源、时程。
手动测试和自动测试都很重要,前者强调使用情境、使用流程、UIUX的具象状况,后者则是能快速检查与盘点大部份重要功能的实作与逻辑运作状况。
▍如何跟 QA 合作?
1. 提供细节清晰的测试需求
2. 除了测试功能,也让 QA 帮忙 PRD 的侦错
3. 掌控好每次开发、测试的项目的范围
4. 记得预留 Buffer Time 给测试时程
5. 上线前找到 BUG 皆大欢喜
(文章有点太长,细节请参考文章内容~~~)
最后分享一篇最近读的文章《一次搞懂单元测试、整合测试、端对端测试之间的差异》
https://pse.is/F2YJ7
以上~
作者: eeleader (领航员)   2019-03-03 11:33:00
好文推
作者: Doggen543 (Doggen)   2019-03-03 12:25:00
推萧安
作者: pineapple123 (凤梨)   2019-03-03 12:45:00
作者: s890510 (月蓝天水)   2019-03-03 15:54:00
作者: sharku (明珠求瑕)   2019-03-03 16:14:00
作者: nktx (摁亏踢)   2019-03-03 22:01:00
安安 <3
作者: benian   2019-03-05 00:38:00
推萧安
作者: vn509942 (如履薄冰)   2019-03-05 09:20:00

Links booklink

Contact Us: admin [ a t ] ucptt.com