• 雨课堂知识点总结(六)


    test

    1.要为某个方法A m(int b,String c)构造黑盒测试用例,那么设计实现Junit测试用例不需要依据的内容为

    m()的内部实现代码

    需要依照的内容包括:

    m()的pre-condition(该方法输入参数满足的条件)

    m()的post-condition(该方法执行后返回值满足的条件)

    类A的等价性判断方法A.equals()

    2.并不是说测试用例的数量越多,越容易发现潜在的bug

    再好的测试也无法证明代码里100%不存在bug

    设计测试用例时,需要给出输入数据和期望的输出结果

    测试用例具有优先级,应该将最容易发现错误的用例先执行

    TDD的思想是:先设计方法的spec,然后根据spec设计测试用例,然后再写代码并确保代码通过测试

    3.all are good time to re-run all your Junit tests

    Before doing git add/commit/push

    After rewriting a function to make it faster

    when using a code coverage tool such as EclEmma

    After you think you fixed a bug

    4.在使用等价类划分方法进行测试用例设计时:

    如果输入参数a在spec中仅被规定a>10且未说明a<=10应该如何,那么无需测试a<=10的情况

    采用笛卡尔积“全覆盖”策略进行测试用例设计,会导致用例数量多,测试代价高

    采用“覆盖每个取值”的策略进行用例设计,测试代价低,但测试覆盖度可能较差

    5.all are useful for choosing test cases in test-first programming,before any code is written

    Black box黑盒测试

    partitioning等价类划分

    Boundaries边界值
    6.以下说法不正确的是:
    如果某个bug已被正确修复并已经通过测试,那么为了降低后续测试的代价,应将该bug对应的测试用例从测试库中删除
    正确的:
    如果发现了一个新的bug,需要返回到版本仓库中对之前的各个版本进行测试,以确认该bug最早是在哪个历史版本中引入的
    代码覆盖度code coverage是指所有测试用例执行后有多大百分比覆盖了被测程序的所有的代码行
    可以从被测代码中寻找依据来设计处于“边界”上的测试用例
    7.关于JUnit的说法不正确的是:
    如果一个Java测试类定义了多个@Test方法,那么它们按照在代码中出现的先后次序加以执行
    正确的有:
    某方法前标注着@Test,意味着它是一个测试方法。@Test是Java中的annotation
    如果未通过测试,方法中的assertXXX()将抛出AssertionError
    一个Java测试类可以定义全局属性并在@Before方法中对属性进行数据准备,在@Test方法中使用数据

  • 相关阅读:
    CHROME下去掉保存密码后输入框变成黄色背景样式
    AJAX请求遭遇未登录和Session失效的解决方案
    Oracle数据导入导出imp/exp
    缓存技术
    存储过程中引用的常规表,临时表以及表变量是否会导致存储过程的重编译
    给定一张表(列有月份,销售额),要求查询出月份、本月销售额、上月销售额这三个结果,如果当月上个月的销售额不存在就显示为“*”。
    tempdb 数据文件暴涨
    数据库还原成功之后,数据库依然处于还原状态
    CONVERT时间
    sql 2008 链接服务器到 sql 2000
  • 原文地址:https://www.cnblogs.com/HIT-ryp/p/10522901.html
Copyright © 2020-2023  润新知