草庐IT

.NET 使用 Coverlet 统计单元测试覆盖率

代码覆盖率(Codecoverage)是指在软件测试中测试用例执行时覆盖的代码量与总代码量的比例。代码覆盖率是软件测试中一个重要的指标,它对于保障软件质量、提高软件可靠性和可维护性具有许多好处:发现代码缺陷、提高代码的可维护性、确保代码的正确性和优化测试用例质量等。我们常用的IDE,VisualStudio、Rider等都直接查看覆盖率,但是如果我们想将覆盖率的管控,配置到自动化的质量管控流程里,如GithubActions、AzureDevops、GithubCI和Sonarqube等,需要我们额外做一些工作。这里我们可以借助开源项目Coverlet(https://github.com/t

[概率论与数理统计]笔记:1.3 古典概型与几何概型

1.3古典概型与几何概型古典概型特点基本事件有限等可能性计算\[P(A)=\frac{A中元素个数}{\Omega中元素个数}=\frac{使A发生的基本事件数}{\Omega中样本点总数}\]计算古典概型的概率的重点在于计算基本事件数,相关知识点是排列组合。加法原理:多个方案乘法原理:分步骤排列不重复排列从\(n\)个不同元素中有顺序的取出\(m\)个(取出某元素后不能再取该元素):\[P_n^m=\frac{n!}{(n-m)!}\]排列的字母可以用\(A\)也可以用\(P\)重复排列从\(n\)个不同元素中有顺序的取出\(m\)个(取出某元素后可以再取该元素,比如箱子取球,取完又放回去)

[概率论与数理统计]笔记:1.3 古典概型与几何概型

1.3古典概型与几何概型古典概型特点基本事件有限等可能性计算\[P(A)=\frac{A中元素个数}{\Omega中元素个数}=\frac{使A发生的基本事件数}{\Omega中样本点总数}\]计算古典概型的概率的重点在于计算基本事件数,相关知识点是排列组合。加法原理:多个方案乘法原理:分步骤排列不重复排列从\(n\)个不同元素中有顺序的取出\(m\)个(取出某元素后不能再取该元素):\[P_n^m=\frac{n!}{(n-m)!}\]排列的字母可以用\(A\)也可以用\(P\)重复排列从\(n\)个不同元素中有顺序的取出\(m\)个(取出某元素后可以再取该元素,比如箱子取球,取完又放回去)

[概率论与数理统计]笔记:1.2 随机事件的概率

1.2随机事件的概率定义简单定义概率是随机事件发生的可能性大小的度量(数值)。频率可以作为概率的估计,但频率的稳定值不能作为概率的定义。一个事件的概率是由事件本身特征决定的客观存在。频率的稳定值是概率的外在的必然表现。公理化定义设\(\Omega\)是一个样本空间,定义在\(\Omega\)的事件域\(\mathscr{F}\)上的一个实值函数\(P(\cdot)\)称为\(\Omega\)上的一个概率测度,如果它满足下列三条公理:​ 公理1 \(P(\Omega)=1\);​ 公理2 对任意事件\(A\),有\(P(A)\ge0\);​ 公理3 对任意可数个两两互不相容的事件\(A_1,A_

[概率论与数理统计]笔记:1.2 随机事件的概率

1.2随机事件的概率定义简单定义概率是随机事件发生的可能性大小的度量(数值)。频率可以作为概率的估计,但频率的稳定值不能作为概率的定义。一个事件的概率是由事件本身特征决定的客观存在。频率的稳定值是概率的外在的必然表现。公理化定义设\(\Omega\)是一个样本空间,定义在\(\Omega\)的事件域\(\mathscr{F}\)上的一个实值函数\(P(\cdot)\)称为\(\Omega\)上的一个概率测度,如果它满足下列三条公理:​ 公理1 \(P(\Omega)=1\);​ 公理2 对任意事件\(A\),有\(P(A)\ge0\);​ 公理3 对任意可数个两两互不相容的事件\(A_1,A_

[概率论与数理统计]笔记:1.4 条件概率

1.4条件概率条件概率样本空间\(\Omega\)事件\(A,B\)\(P(B)>0\)在事件\(B\)已经发生的前提条件下,事件\(A\)发生的概率称为A对B的条件概率:\(P(A|B)\).通常,\(P(A)\)为无条件概率,对应的样本空间为\(\Omega\)。而条件概率\(P(A|B)\)对应的样本空间为\(B\),或者记为\(\Omega_B\).所以:\[P(A|B)=\frac{n_{AB}}{n_B}=\frac{\frac{n_{AB}}{n}}{\frac{n_B}{n}}=\frac{P(AB)}{P(B)}\]乘法公式根据\(P(A|B)=\frac{P(AB)}{P(

[概率论与数理统计]笔记:1.4 条件概率

1.4条件概率条件概率样本空间\(\Omega\)事件\(A,B\)\(P(B)>0\)在事件\(B\)已经发生的前提条件下,事件\(A\)发生的概率称为A对B的条件概率:\(P(A|B)\).通常,\(P(A)\)为无条件概率,对应的样本空间为\(\Omega\)。而条件概率\(P(A|B)\)对应的样本空间为\(B\),或者记为\(\Omega_B\).所以:\[P(A|B)=\frac{n_{AB}}{n_B}=\frac{\frac{n_{AB}}{n}}{\frac{n_B}{n}}=\frac{P(AB)}{P(B)}\]乘法公式根据\(P(A|B)=\frac{P(AB)}{P(

[概率论与数理统计]笔记:1.5 事件的独立性

1.5事件的独立性两个事件的独立性定义如果一个事件\(B\)发生与否对另一个事件\(A\)发生的概率没有任何影响,则\[P(A|B)=P(A)\]其中,\(P(B)>0\),称\(A\)独立于\(B\).对称的,如果\(P(B|A)=P(B),P(A)>0\)则称\(B\)独立于\(A\).综合起来,如果:\[P(AB)=P(A)P(B)\](其中\(P(A)>0,P(B)>0\)),则称\(A\)与\(B\)相互独立,简称\(A\)与\(B\)独立。推论\(\varnothing\)和\(\Omega\)与任意事件\(A\)独立。若\(A,B\)独立,则\(A,\overline{B}\)独

[概率论与数理统计]笔记:1.5 事件的独立性

1.5事件的独立性两个事件的独立性定义如果一个事件\(B\)发生与否对另一个事件\(A\)发生的概率没有任何影响,则\[P(A|B)=P(A)\]其中,\(P(B)>0\),称\(A\)独立于\(B\).对称的,如果\(P(B|A)=P(B),P(A)>0\)则称\(B\)独立于\(A\).综合起来,如果:\[P(AB)=P(A)P(B)\](其中\(P(A)>0,P(B)>0\)),则称\(A\)与\(B\)相互独立,简称\(A\)与\(B\)独立。推论\(\varnothing\)和\(\Omega\)与任意事件\(A\)独立。若\(A,B\)独立,则\(A,\overline{B}\)独

[概率论与数理统计]笔记:2.5 随机变量函数的分布

2.5随机变量函数的分布随机变量函数对于一个随机变量\(X\),其取值是不确定的,如果存在一个函数\(g(x)\),使得随机变量\(X,Y\)满足:\[Y=g(X),\]则称随机变量\(Y\)是随机变量\(X\)的函数。\(X\)的统计规律决定了\(Y\)的统计规律.离散型随机变量函数的分布离散型随机变量\(X\)的函数\(Y=g(X)\)显然还是离散型随机变量。\(Y\)的概率分布完全由\(X\)的概率分布所确定。连续型随机变量函数的分布设随机变量\(X\)的密度函数为\(f_X(x)\),分布函数为\(F_X(x)\)。用函数\(g(x)\)构造随机变量\(Y=g(X)\),记\(Y\)的