zoukankan      html  css  js  c++  java
  • 单元测试之道C#版(3)

    测试哪些内容:Right-BICEP
    这几个概括了测试的六个方面。
    Right——结果是否正确
    B
    ——是否所有的边界条件都是正确的——单元测试中最有价值的工作之一,因为bug一般就出现在边界上。
    I——能查一下反向关联吗——应用不同的原理来编写反向逻辑关系测试。
    C——能否用其它手段交叉检查一下结果——计算一个量会有一种以上的算法,可以选择其它的版本来检查我们实际应用的版本或者使用类的另一种数据检查相关的数据。
    E——你是否可以强制错误条件发生
    P——是否满足性能要求

    CORRECT 边界条件
    一致性(Conformance)——期望的或产生的数据必须符合某种特定的格式。
    有序性(Ordering)——数据的顺序或是在一个很大的数据集合中某一数据的位置。任何一种搜索程序都应该针对搜索目标位于最前和最后的条件做测试。如果你的方法是让某些元素维持有序,就应该首先检查它们是否真的有序。
    区间性(Range)——对于一个变量,它所属类型的取值范围可能比你需要或想要的更加宽广。在一个好的面向对象设计中,你通常都不会使用一个原生类型来存储一个具有边界的值。几乎所有的索引概念都应该被大量的测试。
    引用,耦合性(Reference)——代码是否引用了一些不受代码本身直接控制的外部因素?
    存在性(Existence)——值是否存在,针对null、0、空字符串和其他与存在性相关的陷阱做足够的测试。
    基数性(Cardinality)——也称为集合的势,指集合包含的元素的个数。保证计算得到的数目和你所需要的数目是一致的。大部分情况下参照"0-1-n"原则。
    时间性(Time)——相对时间(时间上的顺序);绝对时间(消耗的时间和钟表上的时间);并发问题。

  • 相关阅读:
    PHP获取指定的时间戳
    Thinkphp实现excel数据的导出
    ThinkPHP按月统计订单总金额
    PHP获取本月起始和终止时间戳
    ThinkPHP 判断一个更新操作是否成功
    js 通过浏览器直接打开应用程序(IOS,Android)并判断浏览器内核
    ThinkPHP 后台管理删除、编辑操作(通过数组传ID)
    PHP面向对象
    【转】Chrome调试鼠标悬停后出现的元素
    【重要】Selenium2+python自动化44-元素定位参数化(find_element)
  • 原文地址:https://www.cnblogs.com/wxfasdic/p/1567513.html
Copyright © 2011-2022 走看看