假设在测试期间,您希望测试软件如何处理"损坏"文件.
我有两个问题:
1.一般来说,如何定义"损坏"文件?换句话说,什么构成了腐败文件?
举个例子:
假设您需要测试"损坏的".pdf文件.
一个建议是简单地获取.zip文件,更改扩展名,然后测试.但是,我认为你没有测试程序如何处理"损坏的.pdf文件",而是测试它如何处理.zip文件.
另一个建议是打开文件并插入/删除随机字节.这个建议没问题,但有一些问题:
2.一旦定义了损坏的文件,你如何创建一个?
这是我到目前为止所想的:
"损坏的文件"是一个正确符合文件格式规范但包含本身存在缺陷的数据/字节的文件.
我能想到的唯一例子是你是否以某种方式更改了文件的编码.然后,您可以将此方法应用于任意格式的文件.
谢谢阅读.
嗨,我使用phpunit进行测试,使用Symfony\Bundle\FrameworkBundle\Test\WebTestCase进行单元测试.到目前为止没有问题,但现在我们开始使用https,我的测试不再工作了.我的测试中的每个请求都开始得到301响应代码.我的问题是我如何告诉Symfony的\分量\ HttpKernel \客户端发出请求到 HTTPS://localhost.com/uri而不是HTTP://localhost.com/uri?
编辑
在symfony网站http://symfony.com/doc/current/book/testing.html中,他们展示了如何配置服务器参数,并且有一个像
$client->request(
'GET',
'/demo/hello/Fabien',
array(),
array(),
array(
'CONTENT_TYPE' => 'application/json',
'HTTP_REFERER' => '/foo/bar',
'HTTP_X-Requested-With' => 'XMLHttpRequest',
)
);
Run Code Online (Sandbox Code Playgroud)
我试图提供http://php.net/manual/en/reserved.variables.server.php中提到的HTTPS元素,将我的代码更改为
$client->request('GET',
'/'.$version.'/agencies/'.$agencyId,
array(),
array(),
array('HTTPS' => 'on')
);
Run Code Online (Sandbox Code Playgroud)
但是,它仍然无法正常工作?
我听说系统测试有两种类型
1)功能测试2)非功能测试
但后来在另一个网站上我看到了下面的陈述
In the types of functional testing following testing types should be cover:
Unit Testing
Smoke testing
Sanity testing
Integration Testing
Interface Testing
System Testing
Regression Testing
UAT
Run Code Online (Sandbox Code Playgroud)
我很困惑,请告诉我,系统测试是否包括功能或功能测试包括系统测试和这些测试的顺序(功能是先执行还是系统执行)
谢谢
我一直在使用nightwatch.js并且总是点击元素.有没有办法我们可以将鼠标悬停在链接或按钮上?
似乎Selenium/WatiN和SimpleTest之间的比较很少(它也有Web测试功能).
我尝试了Selenium并发现GUI非常适合创建测试,因为您可以看到正在进行的操作并且无需手动键入所有命令即可进行记录.
至于运行测试,Selenium比SimpleTest更复杂.对于SimpleTest,您只需运行一个PHP脚本来执行所有测试(客户端或浏览器端).这意味着无论您使用何种浏览器或浏览器设置,您都可以直接转到测试网址,它的工作方式也相同.
这里有用的是使用Selenium或WatiN的人的一些评论:为什么Selenium如此着名?换句话说,与SimpleTest相比,使用Selenium的主要好处是什么?
PS:请排除"SimpleTest需要PHP"等原因; 很明显,PHP无论如何都包含在大多数LAMP中.
我有以下典型的python项目文件结构
packageA
+----subpackage1
+----classa.py
+----subpackage2
+----classb.py
+----test
+----subpackage1
+----classa_test.py
+----subpackage2
+----classb_test.py
Run Code Online (Sandbox Code Playgroud)
我目前正在尝试组织我的单元测试和功能测试,因此我可以使用nose单独运行unittests和功能测试,但也可以选择运行所有测试.测试将存在于packageA/test/subpackage1和packageA/test/subpackage2中.
这有效
$this->assertEquals(1, $crawler->filter('.elementClass')->count()); // filter by class
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.
$this->assertEquals(1, $crawler->filter('#elementId')->count()); // filter by id
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我们有一个使用ServiceStack连接的ASP.NET Web应用程序.我之前从未编写过功能测试,但我们的任务是针对我们的API编写测试(nUnit)并证明它一直工作到数据库级别.
有人可以帮我开始编写这些测试吗?
以下是post我们的用户服务的方法示例.
public object Post( UserRequest request )
{
var response = new UserResponse { User = _userService.Save( request ) };
return new HttpResult( response )
{
StatusCode = HttpStatusCode.Created,
Headers = { { HttpHeaders.Location, base.Request.AbsoluteUri.CombineWith( response.User.Id.ToString () ) } }
};
}
Run Code Online (Sandbox Code Playgroud)
现在我知道如何编写一个标准的单元测试,但我对此部分感到困惑.我是否必须通过HTTP调用WebAPI并初始化Post?我是否只是像单位测试那样调用方法?我想这是"功能测试"的一部分让我望而却步.
我在Rails功能测试中发送POST请求,如下所示:
post :create, collection: { name: 'New Collection' }
Run Code Online (Sandbox Code Playgroud)
collection 按预期,以JSON编码的表单数据发送.
我无法弄清楚的是如何向URL添加查询.文档说我可以访问请求对象并在发送之前对其进行修改.所以我尝试了这个:
@request.GET[:api_key] = 'my key'
post :create, collection: { name: 'New Collection' }
Run Code Online (Sandbox Code Playgroud)
但是,:api_key永远不会出现在request.GET服务器上的哈希值中.(但是,当我通过另一个HTTP客户端发送它时,它会这样做.)
我正在尝试使用Nightwatch.js断言/验证属性的多个元素.
我尝试使用selenium的"elements"命令,但它似乎并没有真正返回一个标签.
browser.elements('css selector','icon_checkmark', function (result) {
this.verify.attributeEquals(result.value, 'aria-hidden', 'true');
})
Run Code Online (Sandbox Code Playgroud)
控制台输出此错误:
Testing if attribute aria-hidden of <[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]> equals "true".
Element could not be located. - expected "true" but got: null
ERROR: Unable to locate element: "[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]" using: css selector
Run Code Online (Sandbox Code Playgroud)
它似乎找到了正确的东西,因为应该有6但是不知怎的,我读出了错误的东西?result.log的result.value [0]只给出了{ELEMENT:'19'}这似乎是正确的.
知道怎么能让这个工作吗?我想检查具有类icon_checkmark的所有元素是否具有属性aria-hidden ="true".
javascript selenium accessibility functional-testing nightwatch.js