【软件构造】软件构造复习总结1-第一、二章及6.5测试与测试优先部分

【软件构造】软件构造复习总结1-第一、二章及6.5测试与测试优先部分

前两章及6.5理论居多,复习了软件的多维视图,质量指标,如何测试,软件配置管理SCM与版本控制系统VCS,Git的相关知识及指令。

第一章:
一、软件的多维视图:
按阶段分:build和run-time,构造和运行视图。
按动态性分:moment和period,时刻和阶段视图。
按构造对象的层次划分:code和component,代码和构建视图。
在这里插入图片描述
1.build-time:
Code-level:源代码,接口、类、方法、AST(将源代码变成一棵树并进行操作)等。
Component-level:程序组件结构,文件、包,库,静态链接等。
Moment view:源代码和组件在特定时间形态。
Period view:源代码和组件随时间的变化。(配置项(SCI)和版本)
2.run-time:
Code-level:可执行程序在内存中如何呈现。(Snapshot(快照图),Memory dump(内存信息转储,如任务管理器),Execution trace(执行跟踪,如日志)可呈现)
Component-level:如何将软件部署到物理环境中。包,库,动态链接(运行时将库加载到内存并与程序链接),组件的配置。
Moment view:程序在特定时间的行为。
Period view:程序在硬件环境随时间如何变化,可用Event log(事件日志)记录。
重点掌握:
在这里插入图片描述
二、软件的质量:
1.外部因素:正确性最重要,健壮性与正确性互补。
2.内部因素:圈复杂度,高内聚,低耦合->可读性,复用性,便于维护。
耦合度:模块之间的交互。
内聚度:模块独立性。
3.本课程重点(后面复习时可进行参考总结):
复用性部分:
在这里插入图片描述
可维护性和适应性部分:
在这里插入图片描述
健壮性部分:
在这里插入图片描述
第六章的测试与测试优先6-5部分:
1.编写代码前先编写测试用例:a.写方法规格说明(spec(对函数行为的描述,·参数类型•返回值类型•约束和它们之间的关系。))->b.写符合spec的测试->c.写代码进行测试
2.Junit:
setUp()或@Before:准备测试,完成初始化;
tearDown()或@After:清理测试环境。
3.黑盒测试方法:
1)通过等价类划分(降低测试的数量):
小练习:
在这里插入图片描述
选C,由spec可知要反转字符串,首先text说非空,就要有text.length()=0会发生什么,还有要测试字符串反转的是奇数还是偶数,如果是奇数,那中间的则不需要反转,是需要特殊处理的地方,可能出现bug,所以也要测试。
2)划分等价类的时候加入边界:如0是正数,负数的边界。
笛卡尔积(多个维度上多个取值):全覆盖,测试用例多。
覆盖每个取值:测试用例少,覆盖度低。
4.覆盖度:
a.语句覆盖:顾名思义。
b.分支覆盖:if,while,switch,for等分支是否全部在测试中执行。
c.条件覆盖:对于分支里的条件是否全部执行,如if(a>0),这里的a>0。
d.路径覆盖:各种分支之间的结合是否都被执行。
5.Testing Strategy:记录测试的思路策略。如:
在这里插入图片描述
划分的等价类,以及理由。

第二章:
一、软件生命周期与配置管理
1.SCM(软件配置管理):追踪和控制软件的变化。
基本单元:SCI(软件配置项),如源代码,文档等。SCI会随时间一起更新。
CMDB(配置管理数据库):存储软件的各配置项随时间发生变化的信息+基线
2.VCS(版本控制系统):
a.本地VCS。
b.集中式VCS(CVS,SVN等):仓库存储于独立的服务器,支持多开发者之间的协作。
c.分布式VCS(Git):仓库存储于独立的服务器+每个开发者的本地机器。
3.Git:
a.不发生变化的文件不反复存储,存储发生变化的文件(而非代码行)。
b.关于git指令:
git push,git pull向远程仓库提交或从远程仓库接收
git checkout -b m 创建并切换到分支m
git commit 向这个分支提交一个文件
git checkout master 切换回master
git merge m 将m分支和master合并
git branch -d m 删除m分支
c.实验时的提交过程:
git init
git add *
git commit -m “lab”
git remote add origin https://…
git push -u origin master
创建分支(不合并):
git checkout -b 314change
git add *
git commit -m “314change”
git checkout master
二、软件构造的过程、系统和工具
1.IDE(集成开发环境):如eclipse
2.BULID工具Make, Ant, Maven, Gradle, Eclipse等

/***********************************************************************************/
以上即为软件构造复习总结1-第一、二章及6.5测试与测试优先部分。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值