错误的思维
招聘软件测试工程师 →提高质量
符合事实的思维认知
招聘软件测试工程师 → 软件全过程管理(测试工程师团结产品、开发和运维)→提高质量
测试人员是提高质量的必要条件,全过程管理是充分条件。
想做一款质量高的软件,背后要有一个全过程管理的团队。
类比
请家教一定能提高成绩吗?
那要看这个教师的讲课方式和梳理知识点的能力,更重要的是学员主动学习。
学员提交了作业,教师把学员的错题找出来,并告诉他做题时的注意事项和学习的方法。
如果这个学员不去改错题、不优化做题的方法,题目看着“简单”就不认真对待,题意都没搞懂就上手做。哪个名师也帮不了他!
在如今企业的软件产品研发过程中,也是同样道理。
做个简单的类比:产品经理是出题人、开发工程师是做题人、测试工程师负责检查作业。
办法
提高质量须要把握住下面的重要环节。
产品经理
产品经理的工作非常重要,他是出题人,如果试卷题目都写错了,整个团队后面再努力,最后得到的结果也是南辕北辙。
产品经理出功能需求文档,不能坐在工位上臆想,要去搞调查研究。搞懂用户的需求,想要的是什么,他需要的又是他所描述的那样吗?
更新也要有技巧,尝试用A/B测试的方法更新,或者先给部分用户提供。这里要注意beta版本用户的样本,要有普遍性才能反映出事实。
开发工程师
接下来就是开发环节,卓越的开发工程师能让老板省很多心。在写代码之前,一定要弄懂需求文档的题意。另外重要的功能也要让团队的成员知道你的解题步骤,让产品、测试检查,提前化解bug。
所以要组织系统设计评审或者提供技术设计文档。
代码要有健壮性。有时为了应付紧急任务,代码随便写写,但在时间宽裕的情况的要优化代码,这不仅提高质量,更是提升个人能力值的机会啊。
还要自测主流程的功能,不要美其名曰提测了,结果几十个、上百个bug,后面改的也累。
测试工程师
然后是测试环节。测试工作的第一性原理就是:找到更多的bug。如果找到更多bug,这就是要看测试工程的能力和方法。
像一些重要的功能,设计测试用例除了边界值、等价类、模拟用户场景、性能,别忘了用判定表或正交表测试组合类功能。
好在现在有LLM了,像kimi、腾讯元宝,能帮助测试人员编写测试用例。目前的LLM都是根据文本Token的相关性,生成一个个概率最高的文字,文字越多越是容易出现错误。
所以记得检查修改后用。另外值得一提的是,LLM的用法不仅仅是提问一句。还有其他方法能生成更准确地答案,像:思维tree、自我一致性、RAG等。
除了功能测试,还要有自动化测试。这一点,我在其他文章已经详述了。
每次发布前记得检查一篇功能验证清单,别嫌烦,这也是测试工程师工作的一部分。
运维
几十个人以上的团队有专职的运维。几个人的小团队没有运维人员,都是后端开发人员来做这件事。
上线更新App前,就像飞机起飞前要检查一遍清单:服务器新加的配置做了吗?定时任务加了吗?要新建或修改数据库表和列?初始化一些数据?
平常更要做好管控:日志文件是否定期清理、关系和非关系数据库的存储要不要加等事项。
最重要的一点是:用蓝绿发布等方式不停机更新代码。
为何说它如此重要?
大多数的App的用户都是在白天到傍晚用,如果不能做到这点,意味着老板会选择晚上更新。
到了晚上,大家已经工作了一个白天,疲劳值快满了。有经验的都知道,疲劳的时候,人体各方面的能力都会下降,导致出错的概率上升!
免费咨询
如果你有提高软件质量、学习DeepLearning等需要,欢迎联系啊。