高防_高谨防能挡战士的烈火_零元试用-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!

QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > CC防护 > 高防_高谨防能挡战士的烈火_零元试用

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

小墨安全管家 2021-05-04 13:27 CC防护 89 ℃
DDoS防御
在上一篇文章中,我们研究了怎么使用EvoSuite框架在Java中自动生成测试用例。正如在那篇文章中提到的,EvoSuite使用基于搜索和基于约束的想法来生成测试用例。这些想法由覆盖标准(例如分支机构覆盖率)和探究打算中不同路径的能力为指导。由这些想法生成的测试用例大概无法捕获程序的预期行为。在今天的文章中,我们将看到怎么生成测试用例来捕获程序的某些行为。这能够使用基于属性的测试来完成。junitquickcheck是一具为Java程序提供基于属性的测试的库。它的灵感来自于Haskell的QuickCheck库,DDoS高防,它首先开创了这种自动化测试想法。该库利用JUnit的理论特性来支持参数化测试用例。这些测试用例允许开辟人员指定被测想法应该满脚的属性。接着,junitquickcheck使用随机生成的值来测试属性。以下示例讲明怎么使用@Theory注释指定测试想法:@奔驰(理论课)publicclassPropertyJUnitTest{@Theorypublicvoid testEncodeBase64(@ForAllbyte[]src){字节[]ec=EncodeBase64.encode(src);字节[]dec=EncodeBase64.解码(ec);Assert.assertArrayEquals(src,DDoS防御,dec);}}那个单元测试从wox跨平台序列化库调用EncodeBase64类的encode和decode函数。那个地点感兴趣的属性是decode(encode())操作的幂等性。换言之,我们希翼检查对字节数组举行编码,接着将其解码回同一字节数组。最终一行的assertArrayEquals确保满脚此属性。经过随机生成大量字节数组(默以为100)并使用这些值作为输入调用testEncodeBase64来测试此属性。@ForAll注释由junitquickcheck库提供,负责生成适当的随机输入。假如该想法有两个输入,则测试随机生成的输入的所有大概的组合。为了幸免运行这样多的测试,我们能够指定对输入的约束,如下所示:@@srcPublic长度([]{假设(标准长度,大于(32));字节[]ec=EncodeBase64.encode(src);字节[]dec=EncodeBase64.解码(ec);Assert.assertArrayEquals(src,CC防御,DDoS防御,dec);}确保只生成长度大于32的字节数组的假设。那个库基本为所有原始Java类型提供了生成器,还有一具单独的模块junitquickcheckguava,其中包含guava类型的生成器。然而,假如我们需要生成自定义类型的输入,我们需要提供一具生成器。能够经过扩展Generator类并重写generate想法来完成。下面的示例显示了生成组织jdom2。元素类型。公共类ElementGeneratorExtendsGenerator{公共元素生成器(){超级(元素.类);}@覆盖公共元素生成(SourceOfRandomness rand,GenerationStatus gs){元素e=新元素(随机字符串(16) );整数numofAttr=兰德公司nextInt(8) ;for(int i=0;i

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


DDoS防御

当前位置:主页 > CC防护 > 高防_高谨防能挡战士的烈火_零元试用

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119