精华内容
下载资源
问答
  • 划分的逻辑错误有哪些
    千次阅读
    2018-03-26 23:43:20

    分区规划及使用

    磁盘分区管理
    扇区的大小:默认   512   字节
    识别磁盘=>分区规划=>格式化=>挂载使用
    分区规划(两种不能共存)
    MBR分区模式
    最大空间2..2T
    三种分区类型
    主分区    扩展分区     逻辑分区
    1~4个主分区,或者0~3个主分区+1个扩展分区(n个逻辑分区)
    最大空间2..2T
    扩展分区不能格式化
    查看本机识别硬盘(lsblk)
    分区指令(fdisk)交互式
    fdisk -l /dev/vdb
    修改磁盘的分区表
    fdisk   /dev/vdb
    p   查看现有分区
    n 新建分区
    d 删除分区
    q 不保存并退出

    w 保存并退出


    识别新分区列表
    使用partprobe 命令
    partprobe /dev/vdb

    格式化分区
    常用格式化工具
    (查看分区列表blkid  文件路径)
    mkfs工具集
    mkfs.ext3 分区设备路径(centOS5)
    mkfs.ext4 分区设备路径(centOS6)
    mkfs.xfs 分区设备路径(centOS7)
    mkfs.vfat    -F  32 分区设备路径
    [root@server0 Desktop]# mkfs.xfs /dev/vdb2
    [root@server0 Desktop]# blkid /dev/vdb2
    /dev/vdb2: UUID="8fcd8dda-19be-4339-885d-0e6d792c36db" TYPE="xfs" 
    挂载使用
    使用mount命令挂载
    [root@server0 Desktop]# mkdir  /mnt/test01
    [root@server0 Desktop]# mount /dev/vdb1  /mnt/test01
    [root@server0 Desktop]# df  -h
    df    查看正在挂载使用的文件系统
    df  -hT    查看详细信息
    实现开机自动挂载
    修改配置文件vim /etc/fstab(开机启动重要程序)
    设备路径   挂载点   类型      参数        备份标记             检测顺序

    /dev/vbd1         /mnt          xfs      defaults     0(不备份)         0(不检测)

    挂载自检测   mount   -a
    必背流程:lsblk--->fdisk---->partprobe---->mkfs.xfs---->blkid---->mount---->df   -hT---->vim /etc/fstab---->mount   -a


    LVM逻辑卷

    作用:1.可以整合分散的空间
    2.逻辑卷的容量可以扩大
    零散空闲存储------>整合的虚拟磁盘------>虚拟的分区
    物理卷(PV) 卷组(VG) 逻辑卷(LV)
    将众多的物理卷,组成卷组,在从卷组中划分逻辑卷
    创建卷组
    scan扫描
    create创建
    display显示
    remove删除

    extend扩展


    格式:vgcreate     卷组的名字 l  组成卷组的成员
    [root@server0 ~]# vgcreate   myvg /dev/vdc[1-2]
    创建逻辑卷
    格式:lvcreate   -L  大小  -n  创建卷名   现有卷组名
    [root@server0 ~]# lvcreate -L  16G  -n YHF  myvg
    [root@server0 ~]# lvs
    [root@server0 ~]# vgs
    使用逻辑卷
    [root@server0 ~]# ls   -l /dev/myvg/YHF
    [root@server0 ~]# ls /dev/dm-0
    [root@server0 ~]# mkfs.ext4  /dev/myvg/YHF    1
    [root@server0 ~]# blkid /dev/myvg/YHF
    [root@server0 ~]# mkdir  /YHF   2
    [root@server0 ~]# vim /etc/fstab   3
    [root@server0 ~]# mount   -a
    [root@server0 ~]# df -hT
    逻辑卷的扩大(支持线上操作)
    卷组有足够的剩余空间
    空间的扩展
    [root@server0 ~]# vgs
    [root@server0 ~]# lvextend -L  18G(或+2G)  /dev/myvg/YHF
    [root@server0 ~]# lvs 
    文件系统的扩展
    resize2fs ext4文件系统扩展命令
    [root@server0 ~]# df  -h
    [root@server0 ~]# resize2fs /dev/myvg/YHF
    [root@server0 ~]# df  -h
    xfs_growfs XFS文件系统扩展命令
    [root@server0 ~]# xfs_growfs /dev/myvg/YHF



    卷组没有足够的剩余空间
    扩展卷组卷组空间
    [root@server0 ~]# vgextend myvg /dev/vdc3
    [root@server0 ~]# vgs
    空间的扩展
    [root@server0 ~]# vgs
    [root@server0 ~]# lvextend -L  18G(或+2G)  /dev/myvg/YHF
    [root@server0 ~]# lvs 
    文件系统的扩展
    resize2fs ext4文件系统扩展命令
    [root@server0 ~]# df  -h
    [root@server0 ~]# resize2fs /dev/myvg/YHF
    [root@server0 ~]# df  -h
    xfs_growfs XFS文件系统扩展命令
    [root@server0 ~]# xfs_growfs /dev/myvg/YHF

    逻辑卷的缩小(有风险,谨慎操作)
    先缩减文件系统的大小,再缩减空间的大小
    etx4文件系统可以缩减
    xfs文件系统不支持缩减
    [root@server0 ~]# resize2fs   /dev/myvg/YHF 10G
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/myvg/YHF is mounted on /YHF; on-line resizing required
    resize2fs: On-line shrinking not supported
    [root@server0 ~]# umount  /YHF
    [root@server0 ~]# resize2fs   /dev/myvg/YHF 10G
    resize2fs 1.42.9 (28-Dec-2013)
    请先运行 'e2fsck -f /dev/myvg/YHF'.


    [root@server0 ~]# e2fsck -f /dev/myvg/YHF
    e2fsck 1.42.9 (28-Dec-2013)
    第一步: 检查inode,块,和大小
    第二步: 检查目录结构
    第3步: 检查目录连接性
    Pass 4: Checking reference counts
    第5步: 检查簇概要信息
    /dev/myvg/YHF: 11/1703936 files (0.0% non-contiguous), 150983/6815744 blocks
    [root@server0 ~]# lvreduce   -L  10G  /dev/myvg/YHF 
    WARNING: Reducing active logical volume to 10.00 GiB
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce YHF? [y/n]: y
    Reducing logical volume YHF to 10.00 GiB
      Logical volume YHF successfully resized
    [root@server0 ~]# mount /dev/myvg/YHF  /YHF
    mount: 文件系统类型错误、选项错误、/dev/mapper/myvg-YHF 上有坏超级块、
          缺少代码页或助手程序,或其他错误
          有些情况下在 syslog 中可以找到一些有用信息- 请尝试
          dmesg | tail  这样的命令看看。
    [root@server0 ~]# mount   /dev/myvg/YHF /YHF
    [root@server0 ~]# lsblk
    PE:卷组划分空间的单位
    [root@server0 ~]# vgdisplay myvg
    创建卷组的时候设置PE大小
    vgcreate   -s  PE大小  卷组名  空闲分区
    vgchange -s  PE大小   卷组名


    [root@server0 ~]# vgdisplay myvg
    [root@server0 ~]# vgchange -s  1M    myvg


    创建逻辑卷的时候指定PE个数
    lvcreate   -l  PE个数   -n  逻辑卷名  卷组名
    请划分一个逻辑卷名字lvtest01,大小为50个PE的总和
    [root@server0 ~]# lvcreate -l 80 -n lvtest01 myvg
    逻辑卷的删除
    逻辑--》逻辑卷--》卷组----》物理卷
    [root@server0 ~]# lvremove /dev/myvg/YHF 
    Logical volume myvg/YHF contains a filesystem in use.
    [root@server0 ~]# umount   /dev/myvg/YHF
    [root@server0 ~]# lvremove /dev/myvg/YHF 
    Do you really want to remove active logical volume YHF? [y/n]: y
    [root@server0 ~]# lvs
    [root@server0 ~]# vgremove  myvg
    [root@server0 ~]# vgs
    [root@server0 ~]# pvs
    [root@server0 ~]# pvremove /dev/vdc[1-3]
    [root@server0 ~]# pvs


    GPT分区模式(保存之后不可更改)

    分区模式   128个主分区      最大空间18EB=1021T*1024T*18

    [root@server0 ~]# parted  /dev/vdb
    (parted) mktable  gpt         #设置分区模式       //可以Tab两下选看类型
    (parted) print                #显示分区表内容
    (parted) mkpart               #划分新的分区指令
     分区名称?  []?    haha          #指定分区名称
     文件系统类型?  [ext2]?  ext4    #指定文件系统类型,不起实际作用
     起始点? 0                      //起始点会报错   按i结束
     结束点? 1G          
     警告: The resulting partition is not properly aligned
    for best performance.
     忽略/Ignore/放弃/Cancel? Ignore   #忽略GPT分区模式,占有的磁盘空间


    (parted) print 
    (parted) unit GB                  #使用GB作为单位 //可以Tab两下选看类型
    (parted) mkpart 
      分区名称?  []? haha
      文件系统类型?  [ext2]? ext4
      起始点? 1G          //第二次分区的起点必须是上次的结束点
      结束点? 2G                
    (parted) quit 
    [root@server0 ~]# ls /dev/vdb[1-2]









    更多相关内容
  • 黑盒测试技术 不考虑程序内部的结构与特性,只根据程序功能或程序的外部特性设计测试用例 黑盒测试主要发现的错误 ...界面错误 ...数据库访问错误 ...等价类划分法 把程序的所有可能的输入数据...

    黑盒测试

    不考虑程序内部的结构与特性,只根据程序功能或程序的外部特性设计测试用例。
    最常见的是:边界值 等价类 错误推测法 场景法 因果图法 判定表组成法 正交实验设计

    黑盒测试主要发现的错误

    • 功能不正确或遗漏
    • 界面错误
    • 数据库访问错误
    • 性能错误
    • 初始化和终止错误

    测试步骤
    测试步骤

    为什么要设计测试用例

    • 良好的测试用例可以缩短实施测试时间
    • 确保测试的系统性、全面性
    • 提高测试的可复用性

    黑盒测试用例设计方法

    等价类划分法

    把程序的所有可能的输入数据划分为若干个子集,每一子集代表性数据在测试中的作用等价于这一子集的其他值,每一个子集就是一个等价类。
    等价类需要考虑有效等价类和无效等价类

    等价类划分法设计步骤

    1. 划分等价类
    2. 确定测试用例

    : 举例一:成绩等级
    等价类划分举例一
    输入不同的成绩会得出不同的成绩等级,通过需求可知,程序的所有可能输入数据可划分为4个子集,每一个子集就是一个等价类。我们通过选择每个等价类中的一个数据来代表该等价类的所有数据,若代表数据可输出预期结果,则该等价类测试通过,反之则该等价类测试不通过。
    有效等价类:0—100
    无效等价类:小于0、大于100、空数据、字符串

    以下是举例一等价类划分结果:
    举例一等价类划分结果

    举例二:Windows文件命名规则

    等价类划分举例二

    有效等价类:文件名不包含\ / : * ? " <> | 字符的的、文件名长度在1-255个字符之间的
    无效等价类:文件名包含\ / : * ? " <> | 字符的的、文件名长度小于1(即为空字符)的、文件名字符长度大于255个的

    以下是举例二等价类划分结果:
    举例二等价类划分结果

    举例三:判断三角形类别
    等价类划分举例三
    举例三等价类划分分析:
    以下是举例三等价类划分结果:
    举例三等价类划分结果(测试用例)

    边界值法

    长期测试经验表明:大量错误发生在输入或输出范围的边界上,而不是发生在输入输出范围内部。因此,对各种边界设计测试用例,能取得良好的效果。

    举例一:成绩等级判定

    在使用等价类划分法对等价类进行测试后,还要将边界值也设计到测试用例中,尽可能使测试全面。下面我们队上述的例子一的测试用例通过加入边界值法进行完善。
    以下是完善后的测试用例:

    边界值法

    判定表驱动法

    • 判定表是分析和表达较为复杂逻辑条件下软件状态和行为的有效工具。
    • 用它可以设计出完整的测试用例集合,将复杂问题的各种可能情况列出,使测试内容变得简单明了二避免遗漏。
      判定表

    判定表设计步骤:

    1. 确定规则数,条件数为n,规则个数= 2 n 2^n 2n
    2. 列出所有条件桩和动作桩
    3. 填入条件项
    4. 填入动作项
    5. 简化判定表,合并相似规则

    举例一
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    举例二
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 数电基础:时序逻辑电路

    万次阅读 多人点赞 2019-08-19 08:52:21
    虽然每个数字电路系统可能包含组合电路,但是在实际应用中绝大多数的系统还包括存储元件,我们将这样的系统描述为时序电路。 时序电路是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的...

     


            虽然每个数字电路系统可能包含有组合电路,但是在实际应用中绝大多数的系统还包括存储元件,我们将这样的系统描述为时序电路。

            时序电路是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。

    1. 简介

               时序逻辑电路是数字逻辑电路的重要组成部分,时序逻辑电路又称时序电路,主要由   存储电路       组合逻辑电路   两部分组成。它和我们熟悉的其他电路不同,其在任何一个时刻的输出状态由当时的输入信号和电路原来的状态共同决定,而它的状态主要是由存储电路来记忆和表示的。同时时序逻辑电路在结构以及功能上的特殊性,相较其他种类的数字逻辑电路而言,往往具有难度大、电路复杂并且应用范围广的特点  。

    在数字电路通常分为组合逻辑电路时序逻辑电路两大类,组合逻辑电路的特点是输入的变化直接反映了输出的变化,其输出的状态仅取决于输入的当前的状态,与输入、输出的原始状态无关,而时序电路是一种输出不仅与当前的输入有关,而且与其输出状态的原始状态有关,其相当于在组合逻辑的输入端加上了一个反馈输入,在其电路中有一个存储电路,其可以将输出的状态保持住,我们可以用下图的框图来描述时序电路的构成。

    从上面的图上可以看出,其输出是输入及输出前一个时刻的状态的函数,这时就无法用组合逻辑电路的函数表达式的方法来表示其输出函数表达式了,在这里引入了现态(Present state)和次态(Next State)的概念,当现态表示现在的状态(通常用Qn来表示),而次态表示输入发生变化后其输出的状态 (通常用Qn+1表示),那么输入变化后的输出状态表示为

    Qn+1=f(X,Qn),其中:X为输入变量。

    组合电路和存储元件互联后组成了时序电路。存储元件是能够存储二进制信息的电路。存储元件在某一时刻存储的二进制信息定义为该时刻存储元件的状态。时序电路通过其输入端从周围接受二进制信息。时序电路的输入以及存储元件的当前状态共同决定了时序电路输出的二进制数据,同时它们也确定了存储元件的下一个状态。时序电路的输出不仅仅是输入的函数,而且也是存储元件的当前状态的函数。存储元件的下一个状态也是输入以及当前状态的函数。因此,时序电路可以由输入、内部状态和输出构成的时间序列完全确定。

    逻辑设计领域主要有两种类型的时序电路,它们分类的标准取决于我们观察到的输入信息的时机和内部状态改变的时机。同步时序电路   (synchronous sequential circuit)的行为可以根据其在离散的时间点上的信号信息来定义。而 [2]  异步时序电路asynchronous sequential circuit)的行为则取决于任意时刻的输入信号以及输入信号在连续的时间内变化的顺序。

    时序电路的特点是:输出不仅取决于当时的输入值,而且还与电路过去的状态有关。它类似于含储能元件的电感或电容的电路,如触发器锁存器计数器移位寄存器存储器等电路都是时序电路的典型器件,时序逻辑电路的状态是由存储电路来记忆和表示的。 

    时序逻辑电路的特点:任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关,所以时序电路具有记忆功能。

    1.1、分类 

     

    1.2 时序逻辑功能描述方法

     

    原文链接:https://blog.csdn.net/leemboy/article/details/82780617

    1.2.1 逻辑方程组

    1)  驱动方程(激励方程)

        触发器的控制端J、K、D、T与其他参量的函数关系
            J,K,D,T=f(Qn,X)
        很简单时可默认不写

     2)  状态方程

       将触发器特征方程改造而成的触发器的次态输出Qn+1与现态输出Qn的关系。
            Qn+1=f(Qn,J,K,D,T)

     3) 输出方程

        电路最终输出与触发器输出Qn的关系。
            Y=f(Qn,X)
        三种方程中,驱动方程、状态方程最重要,输出方程往往可以不要,因为电路简单时,触发器的输出Qn一般就是电路的最终输出。

    1.2.2状态转换表

    1.2.3 状态图 

     1.2.4 时序图

     


    时序逻辑电路的分析方法


    1)  分析电路的组成
    2)  根据电路写出三个方程
    3)  列出状态转换真值表和状态表
    4)  画出状态转换图
    5)  描述电路逻辑功能

    几个概念

     

    三种逻辑器件

    时序逻辑电路应用很广泛,根据所要求的逻辑功能不同进行划分,它的种类也比较繁多。在具体的授课环节中,主要选取了应用较广、具有典型时序逻辑电路特征的三种逻辑器件进行比较详细地介绍 [1]  。

    1.计数器

    一般来说,计数器主要由触发器组成,用以统计输入计数脉冲CP的个数。计数器的输出通常为现态的函数。计数器累计输入脉冲的最大数目称为计数器的“模”,用M表示。如M=6计数器,又称六进制计数器。所以,计数器的“模”实际上为电路的有效状态数 。

    同步七进制加法计数器的逻辑图计数器的种类很多,特点各异。主要分类如下:按计数进制可分为:二进制计数器、十进制计数器、任意进制计数器。按计数增减可分为:加法计数器、减法计数器、加/减计数器,又称可逆计数器。按计数器中触发器翻转是否同步可分为:异步计数器和同步计数器  。

    2.寄存器

    寄存器是存放数码、运算结果或指令的电路,移位寄存器不但可存放数码,而且在移位脉冲作用下,寄存器中的数码可根据需要向左或向右移位。寄存器和移位寄存器是数字系统和计算机中常用的基本逻辑部件,应用很广。一个触发器可存储一位二进制代码, n个触发器可存储n位二进制代码。因此,触发器是寄存器和移位寄存器的重要组成部分。对寄存器中的触发器只要求它们具有置0或者置1功能即可,无论是用同步结构的触发器,还是用主从结构或者边沿触发的触发器,都可以组成寄存器   。

    3.顺序脉冲发生器

    顺序脉冲是指在每个循环周期内,在时间上按一定先后顺序排列的脉冲信号。产生顺序脉冲信号的电路称为顺序脉冲发生器。在数字系统中,常用以控制某些设备按照事先规定的顺序进行运算或操作 。

    特点

    时序逻辑电路其任一时刻的输出不仅取决于该时刻的输入,而且还与过去各时刻的输入有关。常见的时序逻辑电路有触发器计数器寄存器等。由于时序逻辑电路具有存储或记忆的功能,检修起来就比较复杂。

    带有时序逻辑电路的数字电路主要故障分析:

    1. 时钟:时钟是整个系统的同步信号,当时钟出现故障时会带来整体的功能故障。时钟脉冲丢失会导致系统数据总线、地址总线或控制总线没有动作。时钟脉冲的速率振幅宽度、形状及相位发生变化均可能引发故障。

    2. 复位:含有微处理器(MPU)的设备,即使是最小系统,一般都具有复位功能。复位脉冲在系统上电时加载到MPU上,或在特定情况下使程序回到最初状态(例如,看门狗Watchdog程序)。当复位脉冲不能发生、信号过窄、信号幅度不对、转换中有干扰或转换太慢时,程序就可能在错误的地址启动,导致程序混乱。

    3. 总线:总线传递指令系列和控制事件,一般有地址总线、数据总线和控制总线。当总线即使只有一位发生错误时,也会严重影响系统功能,出现错误寻址、错误数据或错误操作等。总线错误可能发生在总线驱动器中,也可能发生在接收数据位的其它元件中。

    4. 中断:带微处理器(MPU)的系统一般都能够响应中断信号或设备请求,产生控制逻辑,以暂时中断程序执行,转到特殊程序,为中断设备服务,然后自动回到主程序。中断错误主要是中断线路粘附(此时系统操作非常缓慢)或受到干扰(系统错误响应中断请求)。

    5. 信号衰减和畸变:长的并行总线和控制线可能会发生交互串扰和传输线故障,表现为相邻的信号线出现尖峰脉冲(交互串扰),或驱动线上形成减幅振荡(相当于逻辑电平的多次转换),从而可能加入错误数据或控制信号。发生信号衰减的可能原因比较多,常见的有高湿度环境、长的传输线、高速率转换等。而大的电子干扰源会产生电磁干扰(EMI),导致信号畸变,引起电路的功能紊乱。

    检修方法

    在检修时序逻辑电路之前应尽可能熟悉系统的结构原理电路,然后是分析故障的表征特性,尽可能地缩小故障产生的范围。较高档的医疗设备一般带有自诊断程序,可充分利用它查找故障,将故障定位到较小范围。

    检查电源

    时序逻辑电路较常采用±5V、±15V、±12V电源。当电源对地短路或电源稳定性差都可能导致系统故障,表现为系统无反应、系统程序紊乱等。一般来说,电源对地短路是因为电容(去耦电容)短路产生的,找到故障电容最好的办法是采用电流跟踪仪跟踪短路电流,没有电流跟踪仪的就只好将电路分单元查找替换。

    检查时钟

    时钟电路一般由石英晶体电路组成(也有采用RC振荡电路的)。根据经验,石英晶体较易损坏。可用示波器测试时钟信号的频率、振幅、相位,或简单地用逻辑探针检测时钟脉冲的有无。对各个单元电路的时钟均应检测,以防断线、松脱、干扰等引起时钟脉冲的不正确。

    检查总线

    用逻辑探针检查总线上是否有脉冲活动。若总线上没有脉冲活动,可继续检查总线驱动器输入端有无脉冲信号、驱动器是否在允许状态、驱动器是否响应激励等,来确定故障是否是由于总线驱动器引起的,然后轮流检查每一个总线接收者。另外,可以关掉电源,用多用表检查总线各线的对地电阻,如果所有线的阻值一样,那么总线估计正常;如果一条或多条线的阻值与其余的不同,那么该线值得怀疑;如果有两根线的阻值相同,而又高于或低于其它的线,那么这两条线可能相互短路了。

    检查关键的脉冲信号

    用逻辑探针、示波器或逻辑分析仪观察复位、使能、选通、读写、中断、读内存等控制信号,可以较好地判断集成电路(IC)是否正常工作。当复位信号有效时,IC输出应被清零或置位,程序应回到初始状态运行;当使能信号有效而时钟脉冲正常时,IC数据线上应有脉冲活动;当逻辑探针连到读内存线上,而指示灯没有闪烁显示(即读内存线上没有脉冲活动),说明微处理器可能在程序的某处卡住了,因为每一条指令读地址处存储器时,读内存线上通常是应有脉冲信号的;对于中断信号,可用逻辑探针来观察是否发生中断线路粘附,也可通过外加直流电压或低电平来控制(允许或禁止)被测试的中断。

    检查接口

    接口卡、印刷板与插座插接时可能松脱或偏离中心导致接触不良而引发故障,实际上很多故障的确是由此产生的,对此可用无水酒精擦拭清洁接口后再重新插接固定。另外数字系统还常常通过外部通信线路(RS232、MODEM、IEEE-488等)与其它系统连接,而连接线通常很长,还可能暴露于电子干扰源下,例如继电器、电机、变压器、大型X线机、阴雨天闪电等,连接口接触不良和电子干扰源的电磁干扰(EMI)均可能会产生错误的数据传送,甚至损坏相关的元件。对电磁干扰最好找出干扰源后排除它,其次可改善工作环境(如湿度和温度等),加强屏蔽,或改用屏蔽性能好的连接线。

    时序逻辑电路的检修有许多方法技巧,必须通过长期实际工作摸索总结经验,才能更好地诊断、发现、排除故障,提高时序逻辑电路的维修技术水平。

    设计步骤

    下面提到的时序电路的设计步骤与组合电路类似,但还需要一些额外的步骤。

    1.规格说明书:如果没有,先写出电路的规格说明书。

    2.系统描述:从问题的陈述中得出状态图或状态表。

    3.状态赋值:如果通过步骤1中只能得到状态图,则在从状态图中得到状态表。并为状态表中的每个状态赋二进制代码

    4.得到触发器的输入方程:选择一种或多种类型的触发器,通过已经编码的状态表中的下一状态得到触发器的状态方程。

    5.得到输出方程:通过状态表中的输出信号栏得到输出方程。

    6.优化:优化触发器的输入方程和输出方程。

    7.工艺映射:画出电路由触发器、与门或门和反向器所组成的逻辑图。将这个逻辑图转换为由有效的触发器和门工艺组成的新的逻辑图。

    8.验证:验证最终设计的正确性。

    为了方便起见,我们一般都省略步骤7即工艺映射,而在示意图中仅使用触发器、与门、或门和反向器。

    展开全文
  • 一、等价类划分 定义:依据需求将输入划分成若干个等价类,从等价类中选定一个测试用例,如果该用例通过,则表明整个等价类通过。 适用范围:适用于无限多种输入。 目的:使用较少的测试用例尽可能多的将功能...

    一、等价类划分

    二、边界值分析法

    三、场景法

    四、判定表

    五、因果图

    六、错误推测法

    七、正交试验法


    一、等价类划分

    定义:依据需求将输入划分成若干个等价类,从等价类中选定一个测试用例,如果该用例通过,则表明整个等价类通过。

    适用范围:适用于有无限多种输入。

    目的:使用较少的测试用例尽可能多的将功能覆盖。

    有效等价类:有意义的输入构成的集合,对需求规格说明书来说是合法的。

    无效等价类:不满足需求的输入。

    例如:学生成绩录入系统,分数X为0到100的整数。

    有效等价类:0≤X≤100(50)

    无效等价类:X≤0(-5),X≥100(200)

    如果没有整数要求,还要考虑小数,非数字(字母,汉字,特殊字符)和空值。

    但只按照等价类划分还不够,还要考虑边界值。

    二、边界值分析法

    边界值分析法是对等价类划分法的补充,一般从等价类的边界寻找错误。

    边界值分析法的基本思路:

    正好等于边界值,刚好小于边界值,刚好大于边界值作为测试数据。

    特殊:0/空是特殊的值,在考虑边界值的时候也要考虑这个特殊值。

    边界值思想的体现:网上购物,库存12。

    数量=11:下单成功;数量=12:下单成功;数量=13:下单失败,并给出提示。

    例如:学生成绩录入系统,分数X为0到100的整数。

    上边界:99,100,101

    下边界:-1,0,1

    所以等价类+边界值的取值范围为:-5,-1,0,1,50,99,100,101,200

    因此可分成两个用例:有效输入:0,1,50,99,100;无效输入:-5,-1,101,200。

    再例如:微信红包,最小0.01,最大200。

    等价类+边界值的取值范围:-100.00,0,0.01,0.02,50.00,199.99,200,200.01,300.00。

    三、场景法

    基于用户场景梳理业务逻辑,再挑选合适的方法设计测试用例,尽可能真实全部的模拟用户操作。

    场景法主要基于:

    1、业务需求层面:对所测软件的重要功能、业务逻辑(系统要干什么、怎么去实现这个过程的)和行业背景进行深入理解。

    2、技术层面需求:基于等价类划分

    有效等价类:模拟用户正确操作;无效等价类:模拟用户错误的操作;

    3、核心概念

    基本流(正确流,有效流):模拟用户正确的操作流程。

    备选流(错误流,无效流):模拟用户错误的操作流程。

    举个例子,比如银行ATM取款

    基本流:正确插入银行卡,点击取款,输入正确的密码,输入正确的金额,确认,退卡。

    备选流1:输入错误的密码

    备选流2:输入超过余额的金额

    备选流3:卡插反了

    备选流4:退卡

    再根据每个场景来设计测试用例。

    四、判定表

    1、定义

    分析和表述若干输入条件下,被测对象针对这些输入做出相应反应的一种工具。

    2、适用范围

    遇到复杂业务逻辑时可用该表理清逻辑关系。

    3、重要概念

    条件(输入):条件桩:需求规格说明书定义的被测对象的所有输入;条件项:针对条件桩可能输入的被测对象的真假值。

    动作(输出):动作桩:针对条件,被测对象可能采取的所有操作;动作项:针对动作桩,被测对象相应的可能取值。

    规格:条件项和动作项组合在一起,形成业务逻辑处理规则。

    4、判定表应用步骤

    (1)理解需求,确定条件桩和动作桩;

    (2)设计生成判定表;

    (3)填写动作项;

    (4)根据判定表中输出结果的表现,进行判定表合并,简化判定表。(规则:如果输出相同,在对应输入中,有且只有一个条件的取值对动作桩不产生任何影响的可合并)

    比如:订购单的检查(订购单:客户在公司订货后,开具的证明,有日期限制)

    如果金额超过500元,又未过期,则发出批准单和提货单;

    如果金额超过500元,但又过期了,则不发批准单;

    如果金额低于500元,则不论是否过期都发出批准单和提货单;

    在过期的情况下还需要发出通知单。

    判定表分析:

    (1)确定条件桩和动作桩

    条件桩条件项
    订购金额是否大于500元1:金额大于500元
    0:金额小于等于500元
    订购单是否过期1:过期
    0:未过期
      
    动作桩动作项
    发出批准单X:表示发出批准单
    发出提货单X:表示发出提货单
    发出通知单X:表示发出通知单

    (2)设计生成判定表

    条件桩条件项
    订购金额是否大于500元1100
    订购单是否过期1010
    动作桩动作项
    发出批准单X XX
    发出提货单X XX
    发出通知单   X

     

    (3)简化判定表

    条件桩条件项
    订购金额是否大于500元——10
    订购单是否过期100
    动作桩动作项
    发出批准单X X
    发出提货单X X
    发出通知单  X

     

    判定表的一列就是一个用例。

    再比如,小张的老婆给小张一个任务,让他去一个软件上挑选合适的房子,给了如下四个条件:
    1.学区房 2.地铁口 3.三室两厅两卫4.主卧朝南
    必须满足三室两厅两卫,其余三个条件里只要满足两个就可以买,否则不买。

    可以试试练习一下。

    五、因果图(Cause-Effect Graph)

    是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。

    1、因果图的基本图形符号

             

    (a)恒等。若原因出现,则结果出现;若原因不出现,则结果不出现。

    (b)非。若原因出现,则结果不出现;若原因不出现,则结果出现。

    (c)或。若几个原因中有一个出现,则结果出现;若几个原因均不出现,则结果不出现。

    (d)与。若几个原因都出现,则结果才出现;若几个原因中有一个不出现,则结果不出现。

    2、因果图中的约束条件

    从原因方面考虑主要有四种约束条件:

    (a)E(互斥、排他):a,b两个原因不会同时出现,最多只有一个出现。

    (b)I(包含、或):a,b,c三个原因至少有一个出现。

    (c)O(唯一):a,b两个原因必须有一个出现,且仅有一个出现。

    (d)R(需求):a出现时b一定出现。

    从结果方面考虑主要有一种约束条件:

    (e)M(屏蔽):a出现时,b必定不出现;a不出现时,b则不确定。

    3、利用因果图设计测试用例的步骤:

    (1)分析需求规格说明书中哪些是原因,哪些是结果。(原因是指输入条件或输入条件的等价类,结果是指输出条件,给每一个原因和结果赋一个标识符)

    (2)确定原因与原因,原因与结果之间的关系,画出因果图。

    (3)由于某些要求,一些原因与原因之间,原因与结果之间的组合不能出现。对于这些特殊情况,在因果图中用记号表明约束或限制条件。

    (4)将因果图转化为判定表。

    (5)根据判定表的每一列设计测试用例。

    因果图法设计测试用例举例:

    有一个单价为五角硬币的饮料自动售货机软件,对其采用因果图法设计测试用例,需求如下(不考虑其他特殊情况):

    (1)若售货机没有零钱找,则一个现实“零钱找完”的红灯亮,以提醒顾客在此情况下不要投入一元硬币,否则此红灯不亮;

    (2)顾客投入五角硬币,然后按下“橙汁”或“啤酒”按钮,则相应的饮料被送出;

    (3)顾客投入一元硬币并按下“橙汁”或“啤酒”按钮后,若售货机没有零钱找,则显示“零钱找完”的红灯亮,一元硬币被退出,且无饮料送出;若有零钱找,则五角硬币退出且饮料被送出。

    ①列出原因和结果

    列出原因  中间  列出结果 
    编号原因 编号中间节点 编号结果
    1售货机有零钱找 11投入一元硬币,并按饮料按钮 21“零钱找完”红灯亮
    2投入一元硬币 12按“啤酒”或“橙汁”按钮 22退出一元硬币
    3投入五角硬币 13退还五角零钱且售货机有零钱找23退出五角硬币
    4按“橙汁”按钮 14钱已付清 24送出“橙汁”
    5按“啤酒”按钮    25送出“啤酒”

    ②画出因果图

    ③列出判定表

    由因果图得到的判定表(0表示其代表的状态不出现,1表示其代表的状态出现)
    序号 1234567891011121314151617181920212223242526272829303132
    原因1售货机有零钱找11111111111111110000000000000000
    2投入一元硬币11111111000000001111111100000000
    3投入五角硬币11110000111100001111000011110000
    4按“橙汁”按钮11001100110011001100110011001100
    5按“啤酒”按钮10101010101010101010101010101010
    中间节点11投入一元硬币,并按饮料按钮     11  00  00      00  00  00 
    12按“啤酒”或“橙汁”按钮     11  11  11      11  11  11 
    13退还五角零钱且售货机有零钱找     11  00  00      00  00  00 
    14钱已付清     11  11  00      00  11  00 
    结果21“零钱找完”红灯亮     00  00  00      11  00  00 
    22退出一元硬币     00  00  00      11  11  11 
    23退出五角硬币     11  00  00      00  00  00 
    24送出“橙汁”     10  10  00      00  10  00 
    25送出“啤酒”     01  01  00      00  01  00 

    ④优化判定表

    六、错误推测法

    基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

    28原则:80%的问题出在20%的模块

    基本思想:列举程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

    基本要素:1、对开发的开发习惯很熟悉;2、对同类型项目业务非常熟悉。

    七、正交试验法

    正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备“均匀分散,整齐可比”的特点。

    例如,某系统会员的功能表:

    功能普通会员中级会员高级会员
    功能1***
    功能2***
    功能3***
    功能4***
    功能5***
    功能6***
    功能7***
    功能8***
    功能9***
    功能10 **
    功能11 **
    功能12 **
    功能13  *
    功能14  *

    对于功能1—功能9,可以用正交试验法进行测试用例的设计:

    功能普通会员中级会员高级会员
    功能1*  
    功能2*  
    功能3*  
    功能4 * 
    功能5 * 
    功能6 * 
    功能7  *
    功能8  *
    功能9  *
    功能普通会员中级会员高级会员
    功能1*  
    功能2 * 
    功能3  *
    功能4*  
    功能5 * 
    功能6  *
    功能7*  
    功能8 * 
    功能9  *

    以上两种方式都满足了“均匀分散,整齐可比”的特点。

    总结:关于测试用例的设计,一般先按照场景法进行梳理,再加上等价类+边界值,基本可以完成大部分的用例设计;如果输入和输出很多的情况,可以用判定表理清逻辑关系;如果判定表不行,就先用因果图分析,再用判定表整理;如果遇到有功能大部分相似,但要进行区分的情况,可以利用正交试验法“均匀分布,整齐可比”的特点进行设计;最后再用凭借直觉和经验用错误推测法查漏补缺。

    展开全文
  • 第2章 逻辑架构设计

    千次阅读 2021-08-28 15:00:52
    通过阅读目录,了解各章节、功能模块的划分,通过功能模块中的功能命名,猜测功能背后的内容;从而对整个系统 一个整体的、直观的认识 2)从需求文档的概述部分分析 通过概述了解客户的建设目标,根据建设目标...
  • 在第一篇文章中详细给小伙伴们讲解了一下接口自动化需要做哪些准备工作,准备工作中最后一步接口测试用例设计是非常重要的一个环节,用例设计的好不好,直接关系到我们的测试质量,那如何进行测试用例设计呢,这里呢...
  • 机器学习-05机器学习-05分类模型逻辑回归数据集划分交叉验证混淆矩阵分类报告决策树分类验证曲线学习曲线支持向量机(SVM)支持向量机原理 机器学习-05 分类模型 逻辑回归 数据集划分 对于分类问题训练集和测试集的...
  • 数字电子技术之逻辑门电路

    千次阅读 多人点赞 2020-05-23 00:49:57
    数字电子技术之逻辑门电路
  • 机器学习-逻辑回归(logistics regression)

    千次阅读 2021-12-17 14:31:38
    什么是逻辑回归?
  • 划分计算机时代的主要标志和依据是“计算机所采用的物理器件”。电子计算机的发展分成四个阶段,称为四代。一、第1代电子管数字机(1946—1958年),硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、...
  • vlan的划分

    千次阅读 2021-08-06 19:49:59
    学习vlan之前先了解一下冲突与广播的信息 冲突:两个或者更多的数据同时使用一个通道传输; 例如,交换机一个端口连接的设备中,大量设备同时传输信息,就要一个一个排队计算谁先谁后,...划分vlan之前需要先了解vlan
  • 本节主要介绍了训练集和测试集的划分、交叉验证的各种方法以及代码实现。
  • 摘要 在前面一篇介绍了如何通过DDD的思想,来调整单体服务内的工程结构,为微服务的拆分做准备。同时介绍了我们在进行微服务拆分的时候踩过的一些坑。...领域服务就是领域逻辑,不直接对前端暴露。前台服务组...
  • 逻辑卷、物理卷、卷组 的关系

    千次阅读 多人点赞 2018-01-05 11:03:22
    所谓快照就是照下来的那一刻保留起来作为文件的访问通道,将没修改之前保存在快照存储空间中一份,访问的是外面的数据,如果数据修改出现错误时,可以通过快照的访问路径把存储在快照存储空间中的数据放到被修改的...
  • 机器学习-逻辑回归分析(Python)

    万次阅读 多人点赞 2018-11-12 00:16:09
    回归和分类方法是机器学习中经常用到的方法,本文首先介绍这两种方法的区别和联系,然后对分类方法中的逻辑回归进行较详细的说明(包括其基本原理及评估指标),最后结合案例介绍如何利用Python进行逻辑回归分析。...
  • 用Python实现逻辑回归建模
  • 逻辑回归虽然回归字样,但是它是一种被用来解决分类的模型,为什么叫逻辑回归是因为它是利用回归的思想去解决了分类的问题。 逻辑回归和线性回归都是一种广义的线性模型,只不过逻辑回归的因变量(Y)服从伯努利...
  • Bug有哪些分类和等级?

    千次阅读 2021-01-08 10:49:15
    1、为了发现程序的代码或业务逻辑错误 2、为了检查产品是否符合用户需求 3、为了提高用户的体验 二、bug的类型 对bug的划分,禅道为例,包括: 1、代码错误 2、设计缺陷 3、界面优化 4、性能问题 5、配置相关 6、...
  • 逻辑回归--乳腺癌数据集

    千次阅读 2021-11-07 15:42:15
    文献译为“逻辑回归”,但中文“逻辑”与logistic 和 logit 的含义相去甚远,因此本书意译为“对数几率回归”,简称”对率回归“。 实验要求 实验要求: 使用乳腺癌数据集作为实验数据集(load_breast_cancer)...
  • Python逻辑回归——建模-评估模型

    千次阅读 2020-12-06 14:50:54
    逻辑回归不是回归算法,而是分类算法,准确来说,叫逻辑分类逻辑分类本质上是二分分类,即分类结果标签只有两个逻辑回归建模-评估模型的过程如何建立有序的二维数据结构1.字典是无序的,所以引入一个OrderedDict来让...
  • JVM运行时数据区如何划分

    万次阅读 多人点赞 2021-05-10 23:57:37
    JVM运行时数据区可划分为,程序计数器(PC寄存器),Java虚拟机栈,本地方法栈,方法区和堆。 其中方法区和堆属于线程之间共享的,程序计数器(PC寄存器),Java虚拟机栈,本地方法栈属于线程私有的。 补充 程序...
  • 软件测试的测试方法有哪些

    千次阅读 2021-12-22 16:12:03
    软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间...方法主要代码检査法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测
  • Linux逻辑

    千次阅读 2018-11-14 23:51:46
    一、什么是逻辑卷 磁盘一经分区之后,再想改变磁盘中这个分区的大小就很难了。假如当这个磁盘的空间不够用...由上面的概念可以知道,用户使用的空间是逻辑卷,当逻辑卷的空间不够用时,可以划分新的一块分区作为物...
  • 基于思科模拟器进行子网划分

    千次阅读 2021-12-04 15:57:04
    学习目标: 创建和划分vlan 学习内容: 两个交换机使用串口连接
  • 逻辑覆盖法

    千次阅读 2020-03-10 15:44:28
    逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例...语句覆盖在测试中主要发现缺陷或错误语句。(判定语句不会考虑) 2. 判定覆盖 判定覆盖就是设计若干测试用例使得每个判定的取真分支和取假分支至少执行一次。...
  • 软件测试分类划分

    千次阅读 2019-05-28 21:17:33
    1.按开发阶段划分 1.1单元测试 单元测试(unit testing)又称模块测试,针对软件设计中的最小单位程——序模块,进行正确性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立...
  • R语言 | 二分类和多分类的逻辑回归实现

    万次阅读 多人点赞 2020-05-13 21:33:53
    首先,我先展示下我逻辑回归的总体代码,如果基础的同志需要的话,可以直接修改数据和参数拿去用呀: library(lattice) library(ggplot2) library(caret) library(e1071) library(foreign) library(survival) ...
  • 它为互联网上的每一个网络和主机分配一个逻辑地址,而IP地址分为IPv4与IPv6两个类别,目前应用较多的是IPv4,当资源耗尽时自然会升级到IPv6。什么是ip地址IP地址由四个段组成,每个字段是一个字节,...
  • 逻辑斯蒂回归(Logistic)

    千次阅读 2018-06-28 20:55:25
    我们很多的给定点,这时候我们需要找出一条线去拟合它,那么我先假设这个线的方程,然后把数据点代入假设的方程得到观测值,求使得实际值与观测值相减的平方和最小的参数。对变量求偏导联立便可求。   如果...
  • 比如说异常处理、错误处理 可能不经常执行或者就不执行 ,这些程序使得我们可以只需要 加载需要执行的部分 ,从而减少了内存使用。   从而,构造一个大的虚拟内存空间,将其映射到较小的物理内存。这个大的虚拟...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 179,442
精华内容 71,776
关键字:

划分的逻辑错误有哪些