哈工大软件构造知识点总结(2)

哈工大软件构造 期末复习考点总结 哈工大 软件构造课程 考点复习总结(第一、二章) 软件构造的多维视图 Build-time Code-level: 源代码:代码的逻辑组织:AST抽象语法树、函数、方法、类、接口等具体的逻辑实现List item (class diagram类图) Component-level:结构:代码的物理组织:源文件、包、库、静态链接、测试用例 (component diagram构建/组件图),... 阅读详情

本文根据课程ppt整理而成,仅供参考

二、Testing and Test-First Programming

1. Software Testing

软件测试是为向利益相关者提供有关被测产品或服务的稳定性的信息而进行的调查。它是执行程序或应用程序的过程,目的是发现错误(错误或其他缺陷),并验证软件产品是否为我们提供了它。它涉及执行软件组件以评估或更多感兴趣的属性。

单元测试:指验证特定代码段功能的测试,通常在功能级别。

集成测试:由多个程序员或编程团队创建的两个或多个类、包、组件、子系统的组合执行。

系统测试:测试一个完全集成的系统,以验证系统是否满足其要求,从而在其最终配置中执行软件。

静态测试在没有实际执行程序的情况下执行。静态测试通常是隐式的,作为校对,加上当编程工具/文本编辑器检查源代码结构或编译器时(pre-compilers)检查语法和数据流作为静态程序分析。审查、演练或检查称为静态测试。

动态测试描述了对代码动态行为的测试,它实际上使用一组给定的测试用例执行编程代码。动态测试可以在程序100%完成之前开始,以便测试代码的特定部分并应用于离散函数或模块。典型的技术是使用存根/驱动程序或从调试器环境执行。

白盒测试通过查看源代码来测试程序的内部结构或工作原理。

黑盒测试将软件视为“黑匣子”,在没有任何内部实现知识的情况下检查功能,而无需查看源代码。

2.Test Case

测试用例是一组测试输入、执行条件和预期结果。测试用例是为特定目标开发的,例如执行特定的程序路径或验证是否符合特定要求。测试用例可能只是向程序提出的问题。 运行测试的目的是获取信息,例如程序是否通过测试。测试用例是质量保证的基石,而它们的开发是为了验证产品的质量和行为。E.g., test cases:{2,4}, {0,0}, {-2,4} for program y =x^2

3.Test-First Programming

步骤:

写一个函数的规格说明(spec)

编写执行规范的测试

编写实际代码。 一旦你的代码通过了你编写的测试,你就完成了。

spec描述函数的输入和输出行为。它给出了参数的类型以及对它们的任何其他约束(例如 sqrt() 的参数必须是非负数)。它还给出了返回值的类型以及返回值与输入的关系。在代码中,规范由方法签名和它上面的注释组成,这些注释描述了它的作用。

函数的规范是对函数行为的描述:

•参数的类型

•返回值的类型

•约束以及它们之间的关系。

测试驱动开发(TDD)是一个依赖于重复非常短的开发周期的开发过程:将需求转化为非常具体的测试用例,然后改进软件以通过新的测试。

代码覆盖率(Code Coverage)是一种度量,用于描述特定测试套件运行时程序源代码的执行程度。许多不同的指标可用于计算代码覆盖率; 一些最基本的是程序子例程的百分比和在执行测试套件期间调用的程序语句的百分比。

测试效果:路径覆盖>分支覆盖>语句覆盖

测试难度:路径覆盖>分支覆盖>语句覆盖

单元测试策略(Strategy)是ADT设计的补充文档。 测试策略(根据什么来选择测试用例)非常重要,需要在程序中显式记录下来。

双有源桥DC-DC变换器:原理、软开关与移相控制深度解析 隔离型DC-DC变换器是电力电子系统的核心部件,通过高频变压器实现电气隔离与电压匹配,保障系统安全与灵活适配。其工作原理基于功率半导体器件的开关动作,通过调制策略控制能量传输。该技术的核心价值在于实现高效、高功率密度的电能转换,并支持双向能量流动,这对于提升系统整体能效和运行灵活性至关重要。在新能源储能、电动汽车V2G及数据中心供电等场景中,双向能量流成为刚性需求,推动了如双有源桥等先进拓扑的应用。本文聚焦于双有源桥这一实现高效双向隔离变换的“明星”方案,深入剖析其利用移相控制实现软开关的机理。通过分析谐振 阅读详情

相关推荐

HFSS15 win10_64位破解

HFSS15 win10_64位破解 找到的别人的软件,但在首次安装时失败了,并不能patched。寻找了几种方法,已成功安装。在此写下安装经验,供大家参考。 软件安装包以及破解软件: 链接:https://pan.baidu.com/s/1MMjV_31maU5QD6fmI4zfIA 提取码:yj4q 在安装之前,建议关闭杀毒软件。 Step1:进入HFSS150Win64安装包,点击au...

玉笙寒 4万+

2022哈工大软件构造lab2小结(知识点)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 哈工大软件构造lab1小结 哈工大软件构造lab2小结 前言 本次实验作者收获了很多关于java编程的知识,在这里和大家分享一下。这次实验难度比起上次更大,知识点也更加丰富。关注博主,带你深入浅出了解java。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pan

m0_55925228的博客 488

Anolis OS 23实战:5分钟搞定AI环境配置(含NVIDIA驱动一键安装)

本文详细介绍了如何在Anolis OS 23上快速配置AI开发环境,包括NVIDIA驱动的一键安装和TensorFlow、PyTorch等AI框架的部署。通过智能硬件适配引擎和优化后的二进制包,用户可在5分钟内完成传统需要数小时的配置工作,显著提升AI项目开发效率。

weixin_30335575的博客 537

哈工大软件构造lab2实验中涉及的知识点

本片博客是笔者在实验中遇到的零碎知识点记录,也是为了今后自己复习使用,不是高深的知识全是基础点,查阅慎重~~

weixin_45842420的博客 286

STM32单片机语音提示盲人拐杖整点报时夜间警示超声波测距

STM32单片机语音提示盲人拐杖整点报时夜间警示超声波测距 关键词:语音提示盲人拐杖 整点报时 超声波测距拐杖

LS840233684的博客 2047

全网最详细单细胞保姆级分析教程(一) ---pbmc

通过观察热图,可以了解不同细胞在主成分上的分布情况,以及主成分与细胞特征之间的关系。数据归一化是数据分析中的常见步骤,旨在消除数据集中不同特征之间的量纲差异,并使它们在相同的尺度上进行比较。函数会根据指定的主成分维度计算数据点之间的距离,并找到每个数据点的邻居。函数会根据数据点之间的相似性将其分组到不同的聚类中。数据缩放是数据分析中的常见步骤,旨在将数据的特征值调整到相似的范围,以避免某些特征对分析结果的过度影响。通过可视化维度载荷,可以了解哪些特征对主成分的形成起到了重要作用,以及不同特征之间的相关性。

ZxVSaccount的博客 6708

[HIT]哈工大2021软件构造知识点理解(2)——七大设计模式

不管怎么看,以我现在的水平,我都不可能在一篇文章中说明白一个设计模式,更别说七个。但如果你完全不知道这七大模式都是什么,那么这篇文章或许对引领你建立对这六种模式理解的框架有所帮助。 其实Java开发共有23种模式,关于这23种模式优快云上优秀的文章比比皆是,但因为考试只针对其中六种,故在此为那些正在学习和明年将学习的学弟们写一篇入门的不能再入门的文章。 1)Adapter模式:Adapter模式也叫做适配器模式,什么是这个所谓的适配器模式呢。我来用最通俗的语言举个例子:...

weixin_52286779的博客 552

搬运机器人系列编程:KUKA KR QUANTEC_(2).KUKA KRL语言编程基础

定义一个函数END!调用函数PRINT "结果: ", result!定义一个过程PRINT msgEND!调用过程printMessage("欢迎使用 KUKA 机器人")!定义搬运零件的起始位置和目标位置!定义焊接路径的各个点!定义喷涂路径的各个点KUKA Robot Language (KRL) 是一种专门为工业机器人设计的编程语言,具有结构化编程、丰富的库函数、实时性以及集成性等特点。

zhubeibei168的博客 1248

哈工大2022软件构造Lab3

此博客内容为哈工大2022春季学期软件构造Lab3:Reusability and Maintainability oriented Software Construction,文章为个人记录,不保证正确性,仅供练习和思路参考,请勿抄袭。

Castria的博客 5496

外骨骼机器人(二):自适应振荡器

振荡器是一种数学工具,可以用于实时跟踪、预测类周期信号的频率、相位、幅值等,而助行外骨骼机器人需要自动适应人体的行走频率、幅度,两者相结合,就能使助行外骨骼机器人拥有更舒适、更自然的行走步态。 ......

行者无疆的博客 4264

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java)

华为OD机考双机位C卷 - 最左侧冗余覆盖子串 (Java), 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 59

哈工大2022软件构造Lab2

此博客内容为哈工大2022春季学期软件构造Lab2:ADT and OOP,文章为个人记录,不保证正确性,仅供练习和思路参考,请勿抄袭。

Castria的博客 1390

实操微信支付,适合第一次接通微信支付的同学

我的实际操作命令如下:就会生成图3中多出来的file文件夹,/Users/camel/cert/xxxxxx_cert/file/wechatpay_5A4xxxxxxxxxx9.pem,wechatpay_xxxxx5A4849E9.pem就是微信支付平台证书,也是程序真正需要的。•注意:我的操作说明,我是把下载好的 CertificateDownloader.jar 文件,放在了解压证书的目录里(图3)。//下面的静态参数要仔细看下面的解释,否则只会调用别人写好的方法,压根学不会0-1接入微信支付。

wjianwei666的专栏 525

哈工大软件构造 复习

哈工大软件构造试题构成:   1、30分的选择题   2、70分的简答题 2019考试知识点(重要的,但不涵盖全部考试范围):   1、git工具的知识点(没有考察命令行,考察的主要是git的演变及各部分的作用)   2、Java设计模式(一共有23个,主要考察实验中用到的那几个)   3、注释的编写   4、编写测试用例,test注...

940

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

哈工大软件构造课程知识点总结(一)

#哈工大软件构造#哈工大软件构造课程知识点总结(一)

RunTimeException的博客 1034

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

哈工大软件构造课程知识点总结(二)

#哈工大软件构造课程#哈工大软件构造课程知识点总结(二)

RunTimeException的博客 868

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

哈工大2022软件构造课程总结1

这篇文章是对于哈工大2022年软件构造课程第一讲“软件构造的多维度视图和指令目标”的总结和思考

weixin_50342294的博客 818

哈工大软件构造课程知识点总结(五)

#哈工大软件构造课程#哈工大软件构造课程知识点总结(五)

RunTimeException的博客 445

哈工大2020软件构造Lab2 Problem1.4 Graph Poet 思路

哈工大2020软件构造Lab2 Problem1.4 Graph Poet 思路

Zhuoning Guo's Blog 1050

哈工大软件构造课程知识点总结(三)

#哈工大软件构造课程#哈工大软件构造课程知识点总结(三)

RunTimeException的博客 496

哈工大软件构造课程知识点总结(四)

#哈工大软件构造课程#哈工大软件构造课程知识点总结(四)

RunTimeException的博客 421

哈工大软件构造课程知识点总结(六)

#哈工大软件构造#哈工大软件构造课程知识点总结(六)

RunTimeException的博客 719

哈工大软件构造实验一

软件构造Lab1-1170300821 显然,菜是事实,这里只谈一点感想。 P1 MagicSquier P1就是完全在学习Java的文件操作了。最先就是在C语言中完全不存在(也有可能是我才疏学浅)的 try-catch ,可以收集并返回各种各样的错误类型,其中就包括P1需要的文件打开错误(本次用比较宽泛的Exception e)。可以用一个 try-catch 包含方法 isLegalMagic...

寒潭清的博客 2110

哈工大2022软件构造Lab1

说明 此博客内容为哈工大2022春季学期软件构造Lab1:Fundamental Java Programming and Testing,文章为个人记录,不保证正确性,仅供练习和思路参考,请勿抄袭。实验所需文件可以从这里获取(若打不开可以复制到浏览器)。 实验环境:IntelliJ IDEA 2022.1(Ultimate Edition) 一、Magic Squares 给定一个矩阵,判断其是否是一个幻方。矩阵以文件形式给出,同一行数字之间用制表符分隔。幻方需要满足: (1)它是一个nnn阶方阵,且元素

Castria的博客 2397

哈工大2022软件构造课程总结3

哈工大2022春软件构造第三讲课程总结,绝对干货

weixin_50342294的博客 624

哈工大软件构造期末试题资源下载

哈工大软件构造期末试题资源下载 去发现同类优质开源项目:https://gitcode.com/ 资源简介 本仓库提供了一个名为“哈工大软件构造期末试题.zip”的资源文件下载。该文件包含了哈尔滨工业大学软件构造课程的期末试题,供学生复习和参考使用。 资源内容 文件名: 哈工大软件构造期末试题.zip 文件类型: ZIP压缩文件 文件大小: [文件大小] 包含内容: 期末试题及相关参考资料 使...

gitblog_09738的博客 538
上一篇: 哈工大软件构造知识点总结(1)
下一篇: 哈工大软件构造知识点总结(3)
洛城澈
博客等级 码龄4年 3粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值