我们有个产品,参数设置众多 这个产品被其他组件进行调用,不同的参数可能会带来组件的不同响应,甚至会出现异常
但是参数设置众多,并且之间还可能有强依赖关系 想找一个思路,进行查找哪些参数组合会导致组件的异常
有什么好的开源架构或者思路吗?
求讨论,谢谢
用自动化把所有条件组合都运行下
几十万的参数,并且参数有一些范围及强依赖。。。
几十万参数?请原谅我见识浅薄了。要我来做的话还是会先生成所有的组合,在生成的时候可以把大致范围限定下,然后再用参数依赖关系去过滤
先生成所有组合,再进一步写规则去筛掉不符合规则的错误组合
parewise 算法 了解一下
把思路反过来,从不同的响应结果倒推需要的参数。这样做可以规避参数间的强依赖关系。 再视具体情况决定是否需要考虑所有的响应结果。 使用常见的用例设计方法去设计用例即可,比如等价类划分,边界值等。
顺便说句,N 年前《Effective C++》里就倡导参数个数不能太多,最好不超过 7 个。这个理念对别的语言也适用。 你若提出这方面的问题,开发团队的架构师或主程应该会对测试团队,嗯好吧是你,刮目相看了吧,呵呵~
先把参数节点标出来,然后用有向图连起来 然后 DFS 和 BFS 算法撸起来……然后再裁剪冗余结果 或者如果对自己的业务理解能力足够有自信,用 6 楼的法子,pairwise 也很优秀,但是涉费业务慎用,pairwise 不能保证全部覆盖到所有分支
就是不知道不同参数是有什么样的影响,才进行遍历组合的,反过来可能性不大
几十万的参数,难以想象。。。就算是人为设计的场景我觉得也会存在大量的没有考虑全面的情况,因为涉及到组合场景,笛卡尔积数据量已经到不可能穷尽的情况,pairwise 的目的就是用两两组合来覆盖超过 75% 的情况,说实话人工组合能做到 75% 的覆盖率已经非常惊人了。
是的,需要提前筛选一批强相关的,但是由于相关参数是很多继承文档承载的,时间久远,很难捋出来,只能先字面意思的强相关,大约也应该在 4,5 千的样子,也是一个挺大的数字,还有组合等