SoftWare Engineering – WEEK.5
2022.4.3 @Raoquan
WEEK.5 List
0. Implementation
- some details
1. Testing
- some details
0. Implementation
实现自然就是依据之前的设计,开始敲代码了。而这个阶段并不会有什么太多的自我创造,创新都发生在设计的阶段。实现基本都是复制粘贴拼拼改改。
ppt大概意识是系统是由很多组件来组成的,每个组件单独进行过测试后,最后集成。
之后的ppt就大概在讲,我们上一章涉及到的名词是怎么用java实现的,比如attibutes就是类的成员变量。
特别提这个association,java是没有定义这种形式的,但是可以声明应用,或者使用collections(也就是list,map这些数据结构,但他们只是collections这个顶级夫类中的几个)借助ppt中的例子很好理解
1. Testing
测试顾名思义就是检验写的代码能不能达到预期的效果。而我们一般是将软件个各个模块单独测试,这样也方便找出来bug
测试也是有策略的,也就是根据系统来判断怎么测试。然后ppt说了好多乱七八糟的。我觉得这些怎么模拟测试输入这些还是需要看看例子的。
a. Black/White Box testing
然后最后说这个黑白箱测试
黑箱就是测试软件需求,也就是功能性需求(就是你向系统输入数据,看输出是否合理)。白箱就是程序内部逻辑(这个好像没太提,大概就是测试代码的问题?反正并不是我们常用的那种)。
b. Partition testing
这是一种常用的黑箱测试,其实也就是将输入的数据进行划分。看看例子就懂了
c. Scenario-based testing
我也不知道ppt在说啥
d. Regression testing
这个是用于集成时候的
e. White-box testing
白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。所以每个独立路径都至少运行过一次。
f. Basis Path testing
这是一种常用的白箱方法,到时候一定记得看看ppt上这个例子。总之他就是为了找到我们刚刚提到的独立路径。Cyclomatic Complexity: number of simple decisions + 1。这个也不知道simple decision是啥啊,看看到时候往年题咋整吧。