创业初期如何保障产品质量?看我质量体系建设之路(上)
质量体系建设的背景首先,由图1可知,从需求创建,到评估、建立、需求的提测分发,再到最后的测试,需求的工作流是非常长的,我们需要建设和跟踪工作流,以便更好地保障业务运行。其次,数据记录用于复盘、改进和增效。因为质量体系建设涵盖了方方面面,其中也包括一些文档的落地,随着发版以及测试任务的增加,各种各样的版本以及测试数据都会有相应的积累,在这个过程中要进行数据分析,获取数据并分析复盘、改进,以促进质量体系的建设。
最后,建设质量体系是为了得到高质量的产品。从研发自测、提测阶段的推进、需求标准对齐、制定测试规范、Jira信息可视化与追踪,以及其他方方面面的跟进。我们所做的一切服务都是为了版本的上线,给用户提供高质量、高可靠的产品和服务。
图2综合展示了建立质量体系之前和现在,质量程度、线上问题、测试问题的闭环、过程的改进、用例增加以及如何协调手工case和自动化case。通过“以前”的图,很难得出相关的结论,只有建立体系进行不断的分析,才会得相应的结论或者指标来改进。由图2可知“以前”是如何做的,现在通过建立体系能达到哪些效果,以及实现体系需要做的举措。这些举措是方方面面的,不仅需要落地,有的可能还要不断对齐和复盘。
方法论
1、小步快跑
小步快跑用来快速上线,有时需求可能会非常紧急,只是简单地了解目的,与开发或者产品经理对接后就要开始工作了,测试用例可能都来不及维护和更新。而且因为是快速增长阶段,可能还需要通过并行。
所谓的并行如图3所示,多个人有N个需求,这N个需求由不同的人跟踪,但是这些需求都是新增的,只需要添加并快速上线就可以了。这一时期的特点是,需求是新增的,只测试自己负责的这一部分即可,其他的需求跟自己无关,也不需要回归,直接补充上线就可以。需要注意的是,因为只注重快速上线,所以只要保证一定的质量即可,对于细节的把控是不到位的。
2、稳中求“胜”的高质量
当公司处于平和期时注重质量,需要多方面的考量。一个需求在初步建立时可能要拆分成个N个子需求,这些子需求由不同的人负责测试。另外,在测试的过程中需要不断地交互,通过不同的测试点以及覆盖不同的测试内容来实现交付,整个测试过程可能是比较长的,因为需要多方面验证,包括手工测试、自动化测试、性能测试、实验室测试等,用综合测试结果判定该版本有没有回退或者质量问题等。如果整体是良好的状态,就可以发布。
这种稳中求“胜”的方法更多适用于质量要求严格的公司,比如银行,因为其对于钱财的把控严格,所以它的持续周期是非常长的,对测试过程中的质量问题非常关注,需要不同的人交叉以及通过交换测试内容和测试用例来完成相关的测试任务,是该时期的特点。
3、规范流程的文档派
此时公司仍处于平和期,在经历小步快跑以及长时间的测试需求迭代的过程中,已经积累了各种各样的经验,这些经验需要转化成流程的提升以及功能的改进,如何发现更多的问题是对于需求梳理以及数据记录能力的考验,具体如图4所示:
从需求开始设计测试用例,测试用例可能包括Xmind和Excel,接下来开发review相关的case,此时可能要站在代码的设计角度以及产品使用和QA的角度改善case,修改以达到上线要求。当然,在上线过程中可能会遇到各种问题,这些问题需要覆盖住功能、性能,并且要求在不断迭代的过程中(不管是测试环境,还是预发布环境、线上环境等),功能都是正常的,没有回退问题产生。这个阶段的主要特点就是从需求开始到结束都需要追踪、归纳和总结。同时,需要对文档进行梳理并注意其中的规范,避免重复的文档等。
图5记录了当前版本的bug数以及占比,不同团队的bug数能够一定程度反映其解决问题的时间,有助于归纳测试进度,以及把控住highlight任务,从而推动功能的如期上线。图6记录了问题解决时长以及解决问题解决时长方差。其实文档派记录的文档数据都是为了更好地推进测试进度,保证及时或实时上线。
4、百花争艳的工具流
目前已经推出各种测试工具,可根据不同的业务来使用对应的测试工具以提高效能,及时地交付测试任务。图7所示为测试工具的八个分类,这只是简单的列举,市面上的测试工具远远不止这些。
5、精益求精的开发流
此时公司可能已经处于成熟期了,当前的工具流已经完全不能支撑测试任务,需要针对业务借助工具流进行开发,比如STF(SmartphoneTestFarm)以及腾讯的Bugly,都是为了贴合自身的业务而进行的二次开发。当然,现在也有很多的工具流,包括sonic、httprunner等,它们涉及方方面面,包括接口自动化性能、性能测试等,这些都可以贴合业务进行二次开发。这个时期的主要特点是,对代码要求比较高,需要充分理解业务,并通过代码能力满足业务的需求。
图8所示为我们公司对于当前工具进行的二次开发以及相关的实践,我会在后面进行简单的阐述。
页:
[1]