引言
短时间从零到一搞定APP测试?听起来是不是像天方夜谭?但咱们侠客汇QA团队就是这么牛,我们做到了!
来,让我们跟着项目大拿老聂的步伐,看看他是怎么带领团队里的小郭和小杨等人,把这场看似不可能的挑战变成了现实。
分步规划,大目标拆成小胜利
一个项目最开始的时候就像是一团乱麻,各种任务和目标交织在一起,让人难以理出头绪。通过合理安排时间,将大目标拆解为各个阶段的小任务,确保每个阶段的工作有序进行,从而稳步实现最终目标。
老聂:以项目上线完成为终点,逆向规划每个节点应该完成的内容。就像倒带一样,从终点开始,一步步回到起点,为每个节点都设定里程碑。
全新的app,还需要做一些版本的规划,确保app的版本准备和备案提审发版工作有序进行,符合要求,顺利通过审核,在上线日期达到市场可下载。
通过这种以终为始的倒推模式,老聂成功地为项目规划了每轮测试的时间节点,确保了项目的有序推进和按时完成。同时我们还在各里程碑节点准备了小的庆祝,进行简单有效的激励!
测试团队内部里程碑已经确认,我们还需要将每日任务细化到小时级别的颗粒度,确保每位成员都清楚自己的当日目标。这不仅确保了测试工作的有序开展,还让每个功能点都得到充分检验。同时,进度跟踪也高效,以保障每项任务都能按时完成。
责任人制,让每个人都成为超级英雄
老聂:作为项目的领头羊,我深知肩上的重担。面对8万字的需求文档和仅有的两周测试时间,我们如何高效且保质保量地完成测试呢?这需要的不仅是智慧,更是团队的协作------这就是我们采用责任人制度的原因。 每个模块都有专属的负责人,他们就是每个模块的超级英雄。作为主R,需精通负责模块的需求,细化功能点,设计测试方案,并严格跟踪缺陷直至解决。
小郭&小杨:有了责任人制度,我们都在为自己的模块努力,这种归属感和责任感让我们更加投入,我们都成了自己领域的专家。
这样的制度让团队目标一致,每个人都朝着同一个方向前进。它让我们的测试流程更加有序,每个环节都有人负责,解决问题的效率也随之提高。
测试方案,精准规划每一场胜利
有了明确的目标、明确的分工,面对紧迫的测试时间,我们不打无准备之仗。在测试前,我们应如何准备,以确保在有限的资源下完成高质量的测试工作呢?
如何保证质量?
老聂:每分重点功能,好钢用在刀刃上,集中资源于关键功能,保证核心功能稳定。 每个需求都有很多模块,每个模块有很多功能,边边角角并不是测试的重点。做好重点功能的分析,它帮助我们识别关键功能,保证核心功能不遗漏。把80%的精力花在20%的重点功能上,以确保项目的核心功能稳定可靠。
发布功能是个核心功能,
效果:但是怎么看也只是一个简单的按钮,我是不是简单的看下能否发布成功就行了?
老聂:那可就遗漏了太多测试点了!点击发布按钮那一刻,背后是一套复杂的流程,每个流程都需要验证。
➢鉴权:会员可以发布,非会员不能发布
➢字段校验:必填非必填,字数限制等
➢事中风控、事后风控
➢计数:发布后计数+1,删除后计数-1
➢落表:增删改内容的时候,查看库表内容是否正确 。
小郭:原来如此!简单的发布按钮背后实则隐藏着复杂的后端逻辑。只有确保每个重点功能都被彻底梳理和验证,我们才能避免测试遗漏,确保核心功能稳定。
如何保证效率?
难点分析:分析难点,制定测试策略,提高测试效率。
老聂: 从前端界面到后端逻辑,从数据库操作到第三方接口,针对每个模块的技术实现和业务流程,找出难以覆盖的测试点,制定具体的应对策略和验证方法。 例如我们一开始并没有非常多的用户,那对于多人的点赞评论应该怎么测试呢?
➢循环调用注册侠客汇用户的接口,user_info表不存在uid,state则返回成功,并落表user_info。
➢循环调用点赞、评论接口,将点赞人和评论人的入参设置为user_info表中所有UID的用户。
通过提前对这些难点进行分析,我们能够提前做好准备,测试时能够更快地验证功能的正确性,从而提高测试效率。
测试策略:分层测试,提前接口测试,稳固底层能力。
老聂: 侠客汇项目采用DDD(领域驱动设计)模式,将服务分为多个领域,对于提供基础功能和数据交换的底层服务,可以提前直接通过接口进行测试,以确保测试的高效性和底层功能的稳定性。
小杨: 例如计数模块,是个底层能力,在RD完成此模块联调后,先对计数这个基础模块进行了接口测试。
提前对底层通用领域进行接口测试,给后续的功能测试打下了一个坚实的地基,确保了上层建筑的稳固。这样一来,项目就能顺利进行,确保按时上线。毕竟,谁也不想在上线时遇到"地基不稳"的尴尬局面吧。
CR代码:了解逻辑配置,发现潜在问题节约测试时间。
老聂:CR代码让我们提前掌握逻辑和配置,比如阿波罗和数据库结构,从而精准高效地测试。如果在CR过程中能够提前发现并修复代码问题,也可以减少测试阶段的时间和资源消耗,提升效率。
小郭和小杨:在CR阶段,我们不仅熟悉了代码逻辑与各类配置,并且还找出了8个bug,有效地避免了这些问题在后续测试阶段的出现,节约了测试时间。
CR找问题tips:
1、文案问题: 文案问题是最容易发现问题的地方,有时候研发同学们对逻辑处理很重视,对返回文案的准确性比较忽视,可以对比着case或需求文档,看看返回的文案是否符合预期。
2、 入参问题: 对于同一个接口复用的时候,有时候研发同学们复制粘贴的时候,入参很容易改不完全,这里也会发现很多的问题哟!
3、逻辑关系: 像有很多与或非关系时,很容易搞错,细心的QA同学也可以发现~
精准执行,让计划成为现实
一切前期工作准备就绪,我们正式迈入测试阶段。这时候也有难题,怎么保证按计划实施?进度如何监督?风险怎么控制?
老聂:
1、明确每日测试任务:进测后,由于我们有模块主R,模块主R会自驱地清晰掌握每日任务。同时我也会给组员提要求,每天早晨,所有人要对照任务看对应的需求文档,避免频繁修改方案后没有及时了解新的需求。
2、 把控每日完成进度:在测试过程中,我会定期检查进度,并要求每晚全体QA站会,同步进度和潜在风险。同时,每天早上项目组会召开站会,同步项目的整体进度和风险,确保能够及时发现并解决
小杨&小郭: 我们遵循测试计划,每天开始前都会仔细阅读需求文档,并标记当天的测试重点,确保目标明确。晚上,通过检查甘特图上的任务进度,我们能够清晰地看到自己的工作成果,实现自我监督。这种流程不仅激发了我们的自驱力,还让我们能够精准执行任务,及时解决难题,确保我们能够按时交付高质量的产品。
结语
就这样,我们团队完成了一个看似不可能的任务------非常短的时间内从零开始测试一个全新的APP。这是一个关于团队协作、创新思维和卓越执行力的故事,它告诉我们,即使在最紧迫的时间压力下,只要我们有明确的目标、合理的计划、团队的意志力和坚定的执行力,就能够创造出令人惊叹的成果!
由于篇幅有限,我们无法在这里一一展开每一个细节 ,如果您对我们的故事感兴趣,或者有任何想法和建议,欢迎在评论区留言,共同探讨~