目录
前言
继续复习软件构造
一、什么是测试?
测试与其他活动的目标相反,通常伴随着“破坏”、证明错误、“负能量”,再好的测试也不能证明系统没有错误,因为测试总是不能完全检查出bug的。测试分为单元测试、集成测试、系统测试。
二、测试的不同方法
1.黑盒测试
黑盒测试:根据规约对程序外部表现出来的行为的测试,用于检查代码的功能,不关心内部实现细节。
2.白盒测试
白盒测试:需要考虑函数内部实现的细节。对程序所有执行路径进行等价类划分,找出有代表性的最简单的路径(例如循环只需执行1次),设计测试用例使每一条基本路径被至少覆盖i次。
3.等价类划分
等价类划分:基于等价类划分的测试,将被测函数的输入域划分为等价类,从等价类中导出测试用例。因为基于相似的输入会产生相似的行为的假设,所以只需要从每个等价类中选一个代表作为测试用例即可,这大大降低了测试用例的数量
4.边界测试
边界测试:通常,程序大量的错误发生在输入域的边界而非中央,程序的行为在边界的地方可能发生突变,某些边界值是特殊情况,需要特殊处理。在等价类划分时,可以考虑将边界作为等价类只之一加入考虑。
笛卡尔积:全覆盖,测试完备,用例数量多,测试代价高。
覆盖每个取值:最少一次即可,测试用例少,代价低,但测试覆盖度未必高。
5.代码覆盖度(EclEmma)
代码覆盖分为:函数覆盖、语句覆盖、分支覆盖、条件覆盖、路径覆盖等。
测试效果:路径覆盖>分支覆盖>语句覆盖
测试难度:路径覆盖>分支覆盖>语句覆盖
三、git使用简介
git:Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等,它是分布式的,没有全局的版本号,Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
创建一个版本库:git init
增加内容跟踪信息 git add
提交内容到版本库:git commit -m “xxx”
查看版本库状态 git status
创建分支 git branch ***
转移分支: git checkout ****
一次性创建并转移到新分支: git checkout -b **** [start_point](可选参数,指向新分支的某个节点)
删除版本库的某个分支: git branch -d(-D) ****
查看当前工作分支: git branch
合并分支:
git merge
git checkout master$ git merge -m "Merge from robin" robin,这个命令会将 robin 分支的改动 merge 到 master,并生成一个新的 commit 节点,这个 commit 的注释信息为 "Merge from robin"
git checkout master + git pull . robin
删除资源库的文件:git rm file
总结
本次介绍了测试的具体细节以及常见git命令的使用。