「Test」02作业整理

再次记录一下都写了什么作业

作业1:

  • 题目

根据给定的程序,做等价类划分,边界值分析,并使用上面的两种策略选择测试用例。测试用例不要忘记有output。然后等价类划分的时候要做图(树)。然后使用Junit test实现。在计算coverage score。这里选择的覆盖策略不同,计算方法不同。最后对程序做mutant处理。并且讨论之前设计的测试用例是否可以覆盖mutant。最后得分是根据网站中的排名。也就是你的测试用例是否测试出别人设计的突变。

  • 考察的点:

实际情况中的等价类划分和边界值分析

测试用例的实现

对编写的测试用例和选择的测试策略的评价

  • 注意:

等价类划分的时候,树的划分。每一层在划分的时候输入域要覆盖全面但是不能有重叠,也就是保证每个输入都有明确的去处。

在撰写报告的时候需要详细的指出为什么进行如此的划分,主要就是侧重于分析,而不是结果。

同时,理论上等价类划分不应该过多的观察程序(虽然为本人认为只应该根据用户的需求,而不是分析最终完整的程序),但是可能出于作业的需要吧,需要详细的分析程序的每个函数的实现细节,因为只有这样,才可以全部理解用户的需求,其次由于是作业,等价类划分的结果会影响检测出他人修改的mutant的结果,因此也需要详细的观察程序(如果不是作业的话,我个人认为是不需要的)。

 

作业2:

题目

针对给定的C语言的项目,寻找多个容易被攻击的漏洞,并为其设计一个fuzzer。

这里的fuzzer不限定任何的方式,但是目的就是尽可能覆盖更多的漏洞。并且需要从多个方面对比分析performance。

寻找漏洞的时候,这里一般是指memory error。因此需要借助一些软件,判断寻找修改之处是否构成了常见的4-5种错误。

考察点

了解常见的memory error是什么,常见的例子是什么

如何使用第三方检测出memory error

了解构建fuzzer常见的方法和流程

注意

对于漏洞方面:

由于修改的漏洞需要通过第三方软件来判断是否构成一个memory error,而这个第三方软件自身存在一些缺陷,导致一直我们人为判断是漏洞的地方,无法被检测。

其次,修改的漏洞需要合理,也就是说是一般程序员常见的可能出错的地方。

对于fuzzer方面:

无论是否何种方法,但是核心就是覆盖几乎全部的function。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值