软件构造

实验一与实验二心得

1、遵循流程,学会黑盒测试的习惯

在做实验二中,流程是先编写黑盒测试用例,再去实现两个Graph<L>的实现类。但是我之前上课没太真正理解黑盒测试,没弄懂实验流程的意思,先去 implement方法,之后才去编写的测试用例,在同学帮助和老师上课提及下才领悟。

那为什么一定要采取黑盒测试的原则呢?

最重要的就是不要让在你测试用例编写时受到自己 implement方法时的影响,这样编写实验用例难免去落入“刻意”测试用例中特殊情况的“陷阱”,而不是面对编写好的函数规约去编写测试用例。

那为什么我们一定要面对规约编写测试?

因为规约是我们向客户(使用者)做出的承诺,客户通过规约进行使用,因此我们想要测试是否符合客户要求的,就需要面向规约去编写我们的测试用例

那如何去面对规约编写测试用例?

第一步 分析阅读规约,观察参数和规约中对不同情况的阐述,将参数(输入空间)划分为不同的区域(分区),并写入Testing strategy中。例如实验二:

// Testing strategy
    //  测试接口 set(L source, L target, int weight) 方法:
    //     weight=0时, 图中已有该边,删除已有边,返回之前权值
    //     weight=0时, 图中没有该边,不添加该边,返回0
    //     weight>0时,图中已有该边,重新设置,返回之前权值
    //     weight>0时,图中没有该边,重新设置,返回0
    //     weight<0时,图中已有该边,重新设置为输入的负权值的绝对值,输出提示,返回之前权值
    //     weight<0时,图中没有该边,重新设置为输入的负权值的绝对值,输出提示,返回0

第二步
根据Testing strategy划分出的具体空间去编写测试用例,观察规约的后置条件,测试不同输入空间下的返回值去是否符合规约后置条件中要求的值。

注意:

1 . 划分时注意参数在规约中描述的边界,针对多个边界加上测试

2 . 测试时不要专门去测试是否特定条件下抛出异常。

2、不要过分关注于单一方法的具体实现,而是去理解类与类之间的关系

在实验中,随着代码两次增加,实验的类会很多,类中的方法和类之间的关系也变得更为复杂,因此过于关注于单一方法的具体实现,很容易扎进去陷入其中,看半天也不理解(尤其是实验三),应该先去专门仔细查看整体框架上类之间的关系,去理解继承树的设计再在这样的条件下去仔细看方法的规约,通过规约去设计自己的实现。

3、 关于idea中如何引入eclipse项目

image

选择后选择合适的Java jdk版本即可

posted on 2022-06-10 00:22  岳思源  阅读(30)  评论(0编辑  收藏  举报