带你读《2022技术人的百宝黑皮书》——我在阿里做测试,入职5个月的回顾与总结(3) https://developer.aliyun.com/article/1243241?groupCode=taobaotech
第二步:分析技术方案
参与开发的技术方案评审的时候,可以站在整个业务的层面进行思考,方案不仅在技术上要合理,还要对用户友好。我们设计开发的功能最终使用者是客户,我们要把自己当作客户来进行测试。例如我曾经参与过的积分抽奖需求,用户在活动页中奖后,服务端会根据用户中奖的消息写入数据库中,页面根据它再展示用户已中奖。在技术层面这是没有问题的,但若是写入数据库异常或是延迟了,在用户看来自己就像没有中奖,体验很差不说可能还会引起客诉。所以最后我们的设计方案在用户中奖后也写了一份缓存数据,保证用户能及时看到自己的中奖信息。这样一个小小的改动就能让我们收获客户更高的满意度,提供更优的使用体验。同时也要思考当前的技术方案是否可以支持后续业务增长、业务多样化的需求。避免一次需求一个技术方案,重复造轮子。
在这个需求例子中,我们要针对技术方案分析什么呢?在完成了上一阶段对需求的全面思考后,我们应该可以分析出,我们需要特别关注技术方案中如何保证规则的互斥、抽奖的幂等性、用户在不同规则转变的情况以及异常case的代码逻辑。在这个阶段及时提出其中可能存在的风险和异常提前告知开发和产品经理,可以有效减少后续代码改动的成本,并提升用户的体验。
第三步:设计测试用例
在真正动手编写测试用例之前,要对整个需求的逻辑了解清晰,有条件的话可以先画流程图,然后再对各个模块充分考虑各种入参和出参的组合情况。测试用例是为了验证功能需求而设计的,应避免过度设计,从需求本身出发。下面我简要介绍一下我常用常考虑的几种设计方法。
等价类+边界值划分
对于各种输入和输出,必须要考虑等价类划分和进行边界值的测试,以及进行异常值、特殊值的测试。在规定了输入数据必须遵守的规则后,可以确认一个符合规则的有效等价类和若干个从不同角度违反规则的无效等价类。
例1:进度条的文案会根据抽奖预算池的消耗程度展示不同的文案。
带你读《2022技术人的百宝黑皮书》——我在阿里做测试,入职5个月的回顾与总结(5) https://developer.aliyun.com/article/1243239?groupCode=taobaotech