当前位置:主页 > 网络安全 >

高防_高防御能挡战士的烈火_零元试用

时间:2021-06-11 22:23来源:E度网络 作者:E度网络 点击:

高防_高防御能挡战士的烈火_零元试用

在上一篇文章中,我们研究了如何使用EvoSuite框架在Java中自动生成测试用例。正如在那篇文章中提到的,EvoSuite使用基于搜索和基于约束的方法来生成测试用例。这些方法由覆盖标准(例如分支机构覆盖率)和探索计划中不同路径的能力为指导。由这些方法生成的测试用例可能无法捕获程序的预期行为。在今天的文章中,阵列防御ddos,我们将看到如何生成测试用例来捕获程序的某些行为。这可以使用基于属性的测试来完成。junitquickcheck是一个为Java程序提供基于属性的测试的库。它的灵感来自于Haskell的QuickCheck库,它首先开创了这种自动化测试方法。该库利用JUnit的理论特性来支持参数化测试用例。这些测试用例允许开发人员指定被测方法应该满足的属性。然后,ddos防御报价,junitquickcheck使用随机生成的值来测试属性。以下示例说明如何使用@Theory注释指定测试方法:@奔跑(理论课)publicclassPropertyJUnitTest{@Theorypublicvoid testEncodeBase64(@ForAllbyte[]src){字节[]ec=EncodeBase64.encode(src);字节[]dec=EncodeBase64.解码(ec);Assert.assertArrayEquals(src,dec);}}这个单元测试从wox跨平台序列化库调用EncodeBase64类的encode和decode函数。这里感兴趣的属性是decode(encode())操作的幂等性。换言之,我们希望检查对字节数组进行编码,然后将其解码回同一字节数组。最后一行的assertArrayEquals确保满足此属性。通过随机生成大量字节数组(默认为100)并使用这些值作为输入调用testEncodeBase64来测试此属性。@ForAll注释由junitquickcheck库提供,负责生成适当的随机输入。如果该方法有两个输入,服务器ddos防御,则测试随机生成的输入的所有可能的组合。为了避免运行如此多的测试,cc代理攻击防御,我们可以指定对输入的约束,如下所示:@@srcPublic长度([]{假设(标准长度,大于(32));字节[]ec=EncodeBase64.encode(src);字节[]dec=EncodeBase64.解码(ec);Assert.assertArrayEquals(src,DDos防御方案有哪些,dec);}确保只生成长度大于32的字节数组的假设。这个库已经为所有原始Java类型提供了生成器,还有一个单独的模块junitquickcheckguava,其中包含guava类型的生成器。但是,如果我们需要生成自定义类型的输入,我们需要提供一个生成器。可以通过扩展Generator类并重写generate方法来完成。下面的示例显示了生成组织jdom2。元素类型。公共类ElementGeneratorExtendsGenerator{公共元素生成器(){超级(元素.类);}@覆盖公共元素生成(SourceOfRandomness rand,GenerationStatus gs){元素e=新元素(随机字符串(16) );整数numofAttr=兰德公司nextInt(8) ;for(int i=0;i
推荐文章
最近更新