哈工大2021软件构造复习心得2(Chapter 2 and 3)

测试优先编程

在测试优先编程中,测试程序先于代码完成,编写一个函数应该按如下步骤进行:

  1. 为函数写RI
  2. 针对RI写测试用例
  3. 编写实际代码,要求通过所有测试用例

RI的例子如下所示:

/** 
* 对方法的简要说明
* @param 对方法中的参数的说明
* @return 对方法返回值的说明
* @exception 对方法可能抛出的异常进行说明
*/

使用JUnit做自动化单元测试

Junit只是自动化执行测试,并不会生成测试用例
在这里插入图片描述

黑盒测试和白盒测试

黑盒测试:只依据函数RI来选择测试用例,而不关心函数是如何实现的。

白盒测试:在考虑函数的实际实现方法的前提下,选择测试用例。

覆盖率

  • 语句覆盖:要求程序中的语句都执行一遍
  • 分支覆盖:要求程序中所有判定的分支尽可能得到检验
  • 条件覆盖:要使得每个判断中的每个条件的可能取值至少满足一次
  • 路径覆盖:要求覆盖程序中所有可能的路径

小结

  • Test-first programming. Write tests before you write code
  • Partitioning and boundaries for choosing test cases systematically
  • White box testing and statement coverage for filling out a test suite
  • Unit-testing each module in isolation as much as possible
    单元测试
  • Automated regression testing to keep bugs from coming back
    回归测试,相当于你找到了程序里的一个bug,然后你修复了它,同时你要编写一个针对之前那个bug的测试,以防bug还在
  • Safe from bugs. Testing is about finding bugs in your code, and test first programming is about finding them as early as possible immediately after you introduced them.

VCS 版本控制系统

用到的一些术语:
在这里插入图片描述

  1. 本地版本控制系统
    仓库存储于开发者本地机器,无法共享与协作

  2. 集中式版本控制系统
    仓库存储于独立的服务器,支持多开发者之间的协作

  3. 分布式版本控制系统
    仓库存储于独立的服务器和每个开发者的本地机器

Git 合并分支的情况:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值