安装

1.1 在win10下安装Anaconda及深度学习框架

(1)https://repo.anaconda.com/archive/ 在官网找到自己需要的版本。

(2)https://docs.anaconda.com/anaconda/install/windows/ 参照官方提供的教程,图形化安装。

(3)修改其包管理镜像为国内源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

(4)运行Anaconda,创建新的环境并安装包:
① 在导航栏选择“Environments”
② 单击环境选择栏下方“Create”按钮,在弹出页面填入新环境的名字“d2l”,选择依赖的python版本,点击Create则生成新环境“d2l”。
③ Anaconda会自动为我们激活新环境,下一步就是所需的安装深度学习框架。
④ 将筛选条件选择为“Not installed”。
⑤ 在搜索框输入自己需安装的框架,如TENSORFLOW / PYTORCH / MXNET等。
⑥ 勾选需要安装的包。
⑦ 点击右下角“Apply”按钮,在弹出的窗口中,Anaconda会为我们搜索当前安装的框架所依赖的包,点击“Apply”,进入安装。在右下角可见安装进度条。
⑧ 切换筛选条件为“Installed”,即可见安装的包。

1.2 下载 D2L Notebook

(1)以管理员模式打开cmd,进入想要下载的路径,输入如下命令:

mkdir d2l-zh && cd d2l-zh
curl https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip -o d2l-zh.zip

(2)打开文件资源管理器,用已有解压工具解压。解压内容如图:

d2l notebook

(3)cmd中激活d2l环境,将当前路径定位到刚下载的本书代码解压后的目录,并打开Jupyter笔记本,如:

conda activate d2l
cd d2l-zh/tensorflow
jupyter notebook
打开Jupyter笔记本

测试点分解理论

1、前仿验证流程

熟悉SPEC -> 验证策略(BT/IT/ST)-> 测试点分解 -> 验证方案 -> 验证环境 -> 冒烟测试 -> 验证执行 -> 验证报告

2、测试点分解的依据

(1)DUT的spec
(2)标准、协议
(3)其他文档(产品需求、架构文档、算法说明、产品说明书、应用手册等)
(4)通用基本逻辑单元的常规测试点
(5)来自设计工程师的要求(是否有特殊的、对极端的电路测试要求)
(6)来自验证工程师的经验

3、测试点和测试用例的关系

(1)一个测试点不能被分解到被多个测试用例包含(但一个测试点是可以在多个用例中被包含的);
(2)一个测试用例可以包含多个测试点;

4、测试点分类

(1)场景类
(2)功能类
(3)性能类
(4)接口类
(5)异常类
(6)白盒测试点(设计提供)

5、测试点分解方法

  • 等价类划分
    输入值的子集,分为有效等价类和无效等价类
    例如:输入值是正整数且小于16,则有效等价类为0<x<=15,小于0和大于16为无效等价类
  • 边界值分析
    把输入值的边界值作为测试点,则可划分为正常区域,正常边界区域,异常边界区域,异常区域。
    例如:输入值是正整数且小于16,则正常边界区域为1和15,异常边界区域为0和16。
  • 因果图表法
    例如:输入a和b得到结果x,输入c和d得到结果y,列出所有的关系,再对不能同时的输入简化,做出测试点。
  • 正交矩阵法
    对输入的各个条件正交,筛选得出可靠的测试点。
    例如:输入参数A有开启、关闭两种情况,参数B有模式1和模式2两种,参数C位宽选择有1bit,8bit和64bit,利用正交矩阵分解就有12种情况:
    – A开启、B为模式1、C位宽选择1bit;
    – A开启、B为模式1、C位宽选择8bit;
    – A开启、B为模式1、C位宽选择64bit;
    – A开启、B为模式2、C位宽选择1bit;
    – A开启、B为模式2、C位宽选择8bit;
    – A开启、B为模式2、C位宽选择64bit;
    – A关闭、B为模式1、C位宽选择1bit;
    – A关闭、B为模式1、C位宽选择8bit;
    – A关闭、B为模式1、C位宽选择64bit;
    – A关闭、B为模式2、C位宽选择1bit;
    – A关闭、B为模式2、C位宽选择8bit;
    – A关闭、B为模式2、C位宽选择64bit;
  • 随机变量法
    对输入的值进行随机化,一般和等价类法联合使用,在等价区域使用随机化的值。
    例如:输入值是正整数且小于等于1000,有效等价类是0<x<=1000,如果不需要覆盖到1~1000的所有值,有效边界值是1和1000,可分解测试点为:1,2,[3:998],999,1000。
  • 错误推断法
    根据经验和对DUT的理解,假设DUT在特定激励下会发生异常或错误,有目的构建一些测试用例去捕捉这类错误或确定错误不存在。
    例如:可能有些设计人员没考虑全反压的情况,在测试点分解时可增加接口上的反压测试,可通过force一定时间FIFO的full或afull信号,观察逻辑处理情况。
  • 场景分析法
    根据用户的使用场景进行测试点分解。
    例:如下图状态机,初始状态为S0,可经过两条路径到达S3,
    即,路径1:S0-S1-S2-S3-S0;路径2:S0-S1-S3-S0