【测试技术】挖掘老鸟的判断依据:菜鸟也能控制风险
摘要 本文希望通过贝叶斯的概率模型来揭示那些经验丰富的工程师们,做出判断时背后所蕴含的数学原理,同时希望借助本文各位年轻的工程师可以借鉴在日常的工作和生活中经常遇到的判断问题,使得做出的判断更为准确。 正文 在实际的项目测试中,我们不得不承认有些环节还是要依靠人的经验来判断,这也是为什么企业中的中高级岗位更青睐于有经验的工程师(当然,除了经验还有能力)。 例如,根据软件或模块的成熟度来判断是否能进入到下一个spring,这里的成熟度大多数是根据软件的测试结果汇总来判断的,往往这个工作会找一些有经验的工程师来完成,这里主要利用了他们在既往项目中的经验。 在信息化如此高的今天,这些工作能不能通过量化的方式来呈现呢?本文试图通过简单的数学概率建模方式来为读者揭开所谓经验里面的秘密。 引用软件工程中里面的两个规律:"80%的问题总是出现在20%的没有测试到的模块中的"和"测试是不可能穷尽的"。后一个规律在强调敏捷和快速的今天更为突出。其实,这个问题和数学中遇到的一个概率问题是很类似的,即在一个箱子中不知道红球和黑球的数量,通过每次拿出的球的颜色来判断箱子中红球和黑球的比率。 日常中,我们较为擅长的问题是在知道全部的问题后来判断软件风险的大小,而不擅长的就是在没有做充分测试的情况下,要评估软件的成熟度或者是软件的风险。前者,称之为正向概率问题,后者称之为逆向概率问题。通过上述软件工程中的两个规律我们知道,显然正向概率是不可能的了。现在我们就用在机器学习中广泛使用的贝叶斯原则来解决这个问题。 这里简单介绍一下贝叶斯原则: 猜测,当然就是不确定的(很可能有好多种乃至无数种猜测都能满足目前的观测),但也绝对不是两眼一抹黑瞎蒙--具体地说,我们需要做两件事情:1. 算出各种不同猜测的可能性大小。2. 算出最靠谱的猜测是什么。第一个就是计算特定猜测的后验概率,对于连续的猜测空间则是计算猜测的概率密度函数。第二个则是所谓的模型比较,模型比较如果不考虑先验概率的话就是最大似然方法。 以下是贝叶斯公式: P(A│B)=(P(B│A)*P(A))/(P(B)) 具体的含义P(A)是A的先验概率或边缘概率。之所以称为"先验"是因为它不考虑任何B方面的因素。 P(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称作A的后验概率。 P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。 P(B)是B的先验概率或边缘概率。 ...... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |