购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.3 PRD

PRD是产品需求说明书,它根据MRD对产品的功能和需求进行进一步的解释。

研发团队与产品经理一起根据MRD制定PRD。通常来说,产品经理和研发团队会对PRD进行多次讨论,反复推敲,不断修正。PRD的制定要非常严谨,一旦PRD定错了,会直接导致一款产品的失败。

1.PRD的作用

对一款产品最全面的描述就是在PRD中体现的。通过PRD,可以确保所有项目相关方对产品需求有清晰一致的理解。PRD的内容应得到市场、产品、研发、测试多方的一致认可。PRD和MRD的关系在于,PRD对MRD中SSD的功能和参数用研发工程师的语言进行了进一步的解释。

没有一份完整的PRD,就不可能制定出合理的项目计划。一般由产品经理、研发团队、测试团队一起基于PRD评估各领域工作量及所需的人力和时间,输出项目计划。在计划中,测试和研发的进展节奏是相匹配的。研发在某一个时间点实现的功能和特性,应该有对应的测试用例去验证。

项目计划确定后,研发团队基于PRD进行开发文档的编写。测试团队根据PRD准备测试资源,进行测试用例及脚本的开发。

PRD的正式发布需要经过产品经理的审核。

2.PRD的内容

PRD是一份详细的描述SSD产品规格的文档,它定义了产品功能、性能、功耗、可靠性和兼容性等方面的要求。一份完整的SSD规格书通常包括以下内容:

1)产品概述,包括如下几项。

● 产品名称:某款SSD。

● 产品定位:消费级、企业级、工业级等。

● 目标群体:零售、整机、工业、汽车、数据中心等。

2)技术规格,包括如下几项。

● 接口类型:SATA、PCIe、SAS等。

● 存储容量:256GB、512GB、1TB、2TB、4TB等。

● 读写速度:在各类场景下的顺序读写、随机读写速度等。

● 功耗:工作功耗、空闲功耗、各类低功耗(PS3、PS4、L1.2、L1.1……)等。

● NAND类型:SLC、MLC、TLC、QLC等。

● 控制器型号和品牌:SMI、PHISON、Marvell、Maxio、YingRen等。

● 固件特性及功能:闪存缓冲读(Cache Read)、闪存缓冲写(Cache Program)、预测性读(Predictive Read)等。

3)物理规格:2.5英寸、M.2 2280、M.2 2242等。

4)散热解决方案:镀镍涂层、散热标签等。

5)软件和固件,其中包括管理软件(如三星魔术师固态硬盘管理软件)、各类开卡软件、升级软件等。

6)可靠性和兼容性,包括如下几项。

● TBW(Total Bytes Written):总写入字节数。

● MTBF(Mean Time Between Failures):平均故障间隔时间。

● DWPD(Drive Writes Per Day):每日全盘写入数,例如0.5表示每天写满全盘0.5次。

● 系统兼容性测试:不同的操作系统,如Windows 11、Windows 10、Ubuntu,以及国产操作系统统信、麒麟等;不同的CPU类型,如Intel、AMD系列,国产化CPU龙芯、飞腾等。

7)环境和安全标准,包括如下几项。

● 工作温度范围:消费级的0~70℃,工业级的-40~85℃等。

● 存储温度范围:-40~85℃。

8)认证或合规性信息:PCI-SIG、UNH-IOL、RoHS等。

3.MRD和PRD的区别

MRD和PRD最大的区别是PRD“包含所有”,而MRD一般只从市场角度描述一些主要功能。有些内部的功能没有在MRD中体现出来,需要在PRD中补充列出来,比如垃圾回收(Garbage Collection,GC)、磨损均衡(Wear Leveling)、读干扰(Read Disturb)、状态切换时延(如进出PS3、PS4的时延)等。SSD的MRD总篇幅一般只有一两页,而PRD可以细化到十几页甚至几十页。

对于一些默认功能,MRD常常省略不写,但是PRD需要应列尽列,比如主机写入量统计、写放大目标、各类查询功能等。这些功能终端客户可能不会去使用,但是研发团队和维护团队用得上。

对同一个参数,即使MRD和PRD中都有描述,描述的精细程度也不一样。MRD呈现的是市场和客户想看到的,PRD呈现的是产品和内部研发应看到的。以性能为例,MRD中只会描述SSD的主要性能指标,比如空盘下的顺序写、顺序读、随机写、随机读。PRD则会将这些指标更加场景化、具象化,比如在PRD中会进一步描述不同填盘比例后的性能要求,以及在不同测试工具下的性能表现等。有了更细化的PRD后,测试团队可以使用PRD分析测试需求,而不需要再去看MRD。

PRD和MRD的区别还体现在以下几个方面。

1) 服务的对象不同

MRD :站在客户的视角,关注市场需求,面向产品和市场部门。它定义了目标市场、客户需求、市场机会、竞争分析和业务目标,旨在捕捉市场的声音和客户的需求。

PRD :关注产品功能和实现的细节,面向测试和开发团队。它提供了实现测试的具体指标和开发工作的方向内容,更加详细地说明了产品应该具备的特性、功能、可靠性、性能、寿命和兼容性等指标。

2) 作用不同

MRD :从市场角度确定市场的需求和期望,帮助指导产品的整体方向和战略,确定以什么样的SSD去满足市场需求。

PRD :从技术角度确定需要实现哪些技术指标和特性,以指导SSD开发和测试活动。3) 制定时间不同

MRD :通常在立项阶段就开始制定,以确定市场需求和商业目标。

PRD :在MRD之后制定,此时市场需求已经明确,需要转化为具体的产品规格。

4.根据MRD制定PRD

MRD转化为PRD的过程实质是将市场需求转化为产品需求的过程。MRD描述市场要什么,PRD描述产品要实现什么。

PRD文档是将产品项目由“概念化”阶段推进到“图纸化”,将需求落实为可开发的技术点。PRD是对MRD内容的继承和发展,是要把MRD中的内容技术化,侧重的是对产品功能和性能的说明,因此相对于MRD中的内容,PRD要更加详细。

SSD的MRD中也包括了一些产品需求的描述。PRD要把这些内容用更加技术化的语言向研发部门的工程师说明,并补充一些在MRD中没有体现出来的隐藏的技术需求和功能需求。

5.根据MRD制定PRD的流程

根据MRD制定PRD的流程如下。

1)分析MRD,充分理解MRD中的每一条需求。

2)将MRD中的每条需求都体现在PRD中,并给出更为细致的技术指标。

3)拓展潜在的技术需求。这些需求是终端客户看不到的功能特性,比如为了满足SSD盘的读写性能,还需要有垃圾回收功能,这个功能在MRD中并没有体现,但在PRD中应对垃圾回收的需求进行定义。在性能测试中,为了测试垃圾回收性能,测试部门会设计相应的测试用例。比如对SSD进行性能测试,记录性能数据。性能测试结束后让SSD空闲一段时间(比如5分钟),然后再次进行性能测试。测试者观察性能是否能恢复空闲之前的性能。反复多次,从而判断在空闲期间垃圾回收功能是否发挥了应有的作用。如果垃圾回收太慢,那么空闲后性能测试会掉速。

4)MRD定义了目标市场。在PRD制定过程中,制定者可以与目标市场中的典型目标客户进行交流,了解客户在功能特性及关键指标上的需求,并将这些需求补充到PRD中。

5)研发、产品、测试、市场一起讨论,逐条确定PRD的内容,对存在的分歧进行决策。识别PRD中在未来实现的过程中可能遇到的困难点,并做好预案。

6.如何完善PRD的内容

以完善SSD的性能指标为例,MRD中的性能指标一般用带宽吞吐(Throughput)和延时(Latency)来表达。在PRD中,除了继承MRD中的指标要求外,还有一些潜在需求需要被正式体现,这些需求的实现与否会直接影响到性能。

表2-4列举了几个在PRD中的需求,它们在MRD中没有体现。

表2-4 在PRD中补充的与性能相关的潜在需求

完善的PRD可以使得研发部门更加明确自己要开发什么,测试部门知道自己要测什么。

7.PRD的内容管理

一款SSD产品的PRD内容往往包括几百项内容,可以按照功能特性分类进行管理。在管理方法上,可以使用Excel表的不同sheet管理不同类别的特性,也可以使用文档分章节描述不同类别的特性。无论采用哪种模式,在PRD文档的首页都需要总体呈现该款SSD产品的关键性指标列表。

如果用Excel表管理一款SSD产品的PRD,可以将Excel中的每个sheet对应一类SSD特性,并在第一个sheet中给出索引。举例如表2-5所示。

表2-5 Excel中的PRD索引

索引表中的每一项内容,都对应Excel中的一页单独sheet,在该sheet中详细描述PRD中的某一类大特性。如果该SSD是一款PCIe Gen3产品,以表2-5中的sheet 2- Main Product Spec为例,其内容如表2-6所示。

表2-6 一款PCIe Gen3 NVMe SSD的PRD内容

(续)

8.PRD与测试的关系

PRD与测试的关系非常密切,是开展测试工作最重要的输入文档,这体现在以下几个方面。

PRD是SSD测试用例的重要来源 。同样一份PRD,对测试团队和对研发团队有不同的意义。对研发而言,PRD意味着要做什么;对测试而言,PRD意味着测什么。SSD的PRD中详细描述了产品应该具备的功能、性能标准、内部特性等,明确了测试的对象,是开发测试用例的主要输入。测试团队依据PRD中的要求来设计和执行测试用例。PRD中的功能既应该包括交付给客户的、客户可直观感知到的功能,例如最基本的读写功能,也应该包括SSD内部的、为了保证其正常工作必须具备的功能,例如垃圾回收、磨损均衡、读干扰处理等功能。对测试而言,PRD相当于一个测试大纲,其中包含的是需要测试最核心和基础的内容。

PRD为SSD测试用例明确了通过标准 。每个测试用例都有对应的通过标准,满足标准判定为通过(PASS),不满足标准则判定为失败(FAIL)。测试报告中会体现每个测试用例的PASS或者FAIL。以性能测试为例,PRD中对性能的具体要求(如顺序读写带宽、随机读写带宽、IO时延等)以数值的方式体现,这些值可以直接被当作性能测试的最低标准,测试人员需要通过一系列性能测试用例来验证产品是否满足这些性能标准。

PRD给SSD测试团队提示了需要准备什么样的测试环境 。测试团队获得PRD后,需要为测试准备适当的测试环境。还是以性能测试为例,需要在配置较高的平台上才能测出。测试平台如果自身能力不足会导致SSD的性能跑不上去。还有一些测试项目,需要使用专用的测试设备,这些设备并不是什么时候用什么时候就能获取到,需要提前规划,一些进口测试设备货期一般都需要3个月以上。还有一些测试项目,比如第三方认证类的项目,需要提前申请测试认证,排队获取测试时间窗口。

PRD的测试结果验证了SSD产品的功能是否被正确的实现 。测试执行是对前期测试工作的应用和落实,测试的结果验证产品是否满足PRD中的各项需求。PRD中描述的每个功能特性都需要通过相应的测试活动来验证,以确保每项指标或者功能都能够按预期工作。以MTBF为例,某款SSD产品在PRD中定义MTBF指标为100万小时,那么确认被测SSD是否满足该指标,就是测试要做的工作。

通过测试识别和修正与PRD不符的问题 。在测试过程中,发现的与PRD不符的问题需要被记录并反馈给开发团队,以便及时修复设计或实现。针对SSD的测试是规模化的,测试所使用的测试用例数量、盘片数量、平台数量都比较多,一些OEM SSD厂家的测试规模甚至达到了上千台,测试用例数量也达到几千,测试周期几个月。这种测试规模需要引入测试自动化系统帮助测试进行管理,提升测试效率。测试中识别出的问题及其被修正的过程也会在该自动化系统中加以记录和跟踪。测试自动化系统还可以用于平台管理、测试用例管理、测试用例执行、结果统计等。关于SSD测试自动化系统将在后续章节介绍。

测试工程师通过分析PRD制定测试策略和测试计划 。PRD可以帮助测试团队明确测试的重点、范围和优先级。测试工程师通过分析RPD,识别其中一些重要、困难、复杂的需求,提前做好预案,提供针对性的测试方案。

根据PRD制定测试用例,对每条测试用例进行测试时长的评估。根据测试时长,对测试用例进行计划排期,制定出测试计划。测试人员依据测试计划进行测试。SSD的测试内容主要包括性能、功耗、压力、温度、协议、兼容性、可靠性等。测试方法可以采用黑盒、灰盒、白盒等。

测试策略的贯彻首先体现在测试用例的执行顺序上,一些涉及大范围代码实现的特性要先测。SSD测试用例的执行顺序一般如图2-4所示。

图2-4 SSD测试用例的执行顺序

性能是SSD给客户的第一印象,所以一般先测性能,再测功能。性能和功能两者你中有我,我中有你,在满足功能的同时,性能也应在标准范围内。

即使性能、功能都满足了PRD,如果功耗过高也不符合实际使用需求。因为目前笔记本计算机的占比越来越高,其电池供电状态下的持续工作时间直接影响客户体验。影响续航能力的关键因素除了电池容量外,也与整机功耗直接相关。为了降低整机功耗,主机厂商会对包括SSD在内的部件有低功耗要求。SSD的功耗指标主要包括:工作状态下功耗(Active)、空闲状态下功耗(Idle)、PS3/PS4低功耗状态下功耗,以及功耗状态切换所需要的延迟,这些指标在PRD中都应有说明。

压力测试是指对SSD进行大工作压力下的读写混合测试,借此证明SSD的可靠性。相对于一般压力测试,在大工作压力下,SSD更容易被测出问题。

温度测试用以验证SSD在高低温环境下功能是否正常,包括读写性能、数据完整性、掉电、重启、兼容性、错误处理等功能。电子元器件在高低温环境下工作特性会发生变化(温漂),比如NAND的读写电压在不同温度下的最优值是不同的。相对于常温,高低温环境下更容易测出SSD潜在的一些问题。常见的温度测试用例包括:高温写低温读(高写低读)、低温写高温读(低写高读)、冷热冲击、高低温循等。温度测试在有些公司也称为环境测试。除了温度外,还可以引入湿度、盐度等环境参数作为测试可变因素。

协议测试用于测试SSD与主机之间的接口协议的符合性,比如是否符合NVMe、SATA协议等。

兼容性测试验证在不同平台和操作系统上SSD是否能够正常工作,以及性能和功能等各类指标是否正常。

最后测试SSD的可靠性。可靠性不好一切都归零。SSD的可靠性测试可以参考JESD 218和JESD 219。测试团队也可以结合业务研究增加可靠性测试用例。

在SSD的测试过程中,针对发现的需求不合理或不完善的问题,可以组织各相关部门的专家团队进行讨论,决策是否对PRD进行修改。调整后的PRD应该更符合技术可行性情况,更满足市场需求。

综上所述,PRD为测试提供了重要的输入材料,测试人员围绕PRD展开测试活动,以验证产品是否符合PRD要求,在测试中发现问题并不断推动PRD改进。PRD和测试二者相辅相成,共同确保SSD产品的成功。 /xLVuYl8/hHI/nOh+HTnyxrAK6mYyRx97VvfyQ3W4dVCnO6ehQehpdybtGwp4lDz

点击中间区域
呼出菜单
上一章
目录
下一章
×