很久以前看到一本测试相关书籍中介绍到软件项目相关的内容,做了摘录。其实现在互联网公司中项目成员的构成、重要程度、话语权程度都已经发生了很多变化,体现在title、职责范围,合作方式等方面。但是对于一个项目来说,必备的要素并未发生实质性的变化。当要开启一个项目时,这是清单,让你能厘清思路。
项目成员
项目经理、程序经理或监制:驱动项目,编写产品说明、管理进度、决策;当前的项目制的管理已不太适应快速变化,因此项目经理的角色正在逐步淡化
体系架构师或系统工程师:技术专家,设计整个系统体系架构或软件,这是未变化的,一直是核心
程序员或开发:与项目经理和设计师合作制作软件,与项目经理和测试合作修复缺陷,产品的生产者
测试员或质量保证(Quality Assurance ,QA):进行测试,找出并报告软件产品问题,这个角色的变化比较微妙,存在争议
技术作者、用户协助/培训专员、文案专员:编制产品附带文件和联机文档,这个角色对应现在的产品,是核心中的核心
配置管理/构建员 :打包(code+说明)部署,当前一般使用平台运维,CI/CD 已非常成熟,这个角色已退出项目,由研发人员自己完成
软件产品
可交付的部分 deliverable :描述制造出来并交付他人的软件产品组件
客户需求
方式:问卷、以前版本反馈信息、竞品分析、期刊评论、焦点人群的意见(从软件潜在客户中获取直接反馈)
信息被研究、提炼、分析以便确定软件应该具备哪些功能产品说明书
需求的研究结果只是原始资料,确定了是否需要(或不需要)做以及客户要求的功能。产说明综合以上信息以及未提出但必须要实现的需求,真正定义产品是什么,有哪些功能,外观如何。进度表,甘特图
来确定项目的计划,帮组监控进度,识别风险软件设计文档
产品设计/需求文档:
BRD是Business Requiment Document
PRD是Product Requiment Document
针对APP、WebUI:
设计原型:主要体现功能
交互设计:交互操作,强调用户体验
视觉设计:色彩、线条
研发:
概要设计:整体设计,主要模块的描述,以及相互之间的交互
详细设计:包含数据流图(数据在程序中如何流动示意图,bubble chart 用圆和线条)、
状态转换图(把软件分解为基本转态或者条件的另一种示意图,表示不同转态间转换的方式)、
流程图/思维导图(模块功能逻辑)
注释/接口说明文档:测试文档
测试计划 test plan: 描述用于验证软件是否符合产品说明书和客户需求的整体方案,包括质量目标、资源需求、进度表、任务分配、方法
测试用例 test cases :列举测试的项目,描述验证软件的详细步骤
缺陷报告 bug report :
测试工具和自动化测试 test tools and automation
度量、统计、总结 metrics,statistics ,summarize最终产品组成:软件.....