问题列表 - 第12312页

谁写自动UI测试?开发人员或测试人员?

我们正处于一个大型项目的初始阶段,并且已经决定某种形式的自动化UI测试可能对我们有用,但还没有确切地说明它是如何工作的......

主要目标是自动执行应用程序的基本安装和运行,因此如果开发人员导致严重破坏(例如:app将无法安装,网络将无法连接,窗口将无法显示等)测试人员不必浪费时间(并且烦恼)安装和配置损坏的构建

第二个目标是在处理重复性任务时帮助测试人员.

我的问题是:谁应该创建这些类型的测试?我们团队中隐含的假设是测试人员会这样做,但我在网上读到的所有内容似乎总是暗示开发人员会创建它们,作为一种"扩展单元测试".

一些想法:

  • 开发人员似乎处于更好的位置,因为他们知道控件ID,类等,并且可以更好地了解应用程序的工作方式

  • 测试人员的优势在于不知道应用程序是如何工作的,因此可以生成可能更有用的测试

  • 我用IronRubyWhite编写了一些初始脚本.这非常有效,并且足够强大,可以完成任何事情,但是你需要能够编写代码来编写UI测试

  • 我们尝试过的所有自动化UI测试工具(TestComplete等)似乎都非常复杂和脆弱,虽然测试人员可以使用它们,但它们需要大约100倍的时间并且它们不断遇到"意外复杂性"由UI测试工具引起的.

  • 我们的测试人员无法编写代码,虽然他们非常聪明,但当我建议测试人员可能编写简单的ruby脚本时,我所得到的都是有趣的(尽管所说的脚本比读取和编写的脚本容易大约100倍.按钮和数据网格似乎是自动UI测试工具的标准).

我非常感谢在开发人员和测试人员团队中尝试过UI自动化的其他人的反馈.谁做了什么,并且做得好吗?提前致谢!

编辑:有问题的应用程序是一个C#WPF"富客户端"应用程序,它使用WCF连接到服务器

automated-tests ui-testing regression-testing

12
推荐指数
1
解决办法
4371
查看次数

C++隐含了这一点,以及它是如何在栈上推送的

我需要知道,当调用C++中的类方法时,隐含的'this'指针是第一个参数,还是最后一个.即:是否先将其推入堆栈或最后.

换句话说,我问的是编译器是否采用被调用的类方法:

int foo::bar(foo *const this, int arg1, int arg2); 
//or:
int foo::bar(int arg1, int arg2, foo *const this);
Run Code Online (Sandbox Code Playgroud)

因此,通过扩展,更重要的是,这也将回答G ++是否会分别将该指针推到最后或第一位.我审问谷歌,但我找不到多少.

作为旁注,当调用C++函数时,它们是否与C函数做同样的事情?即:

push ebp
mov ebp, esp
Run Code Online (Sandbox Code Playgroud)

总而言之:被调用的类方法看起来像这样吗?

; About to call foo::bar.
push dword 0xDEADBEEF
push dword 0x2BADBABE
push dword 0x2454ABCD ; This one is the this ptr for the example.
; this code example would match up if the this ptr is the first argument.
call _ZN3foo3barEpjj
Run Code Online (Sandbox Code Playgroud)

谢谢,非常感谢.

编辑:澄清事情,我正在使用GCC/G ++ 4.3

c++ assembly stack pointers this

7
推荐指数
2
解决办法
2938
查看次数

轻量级Java报告引擎

我正在寻找一个嵌入applet应用程序的轻量级java报告引擎.

我的第一个选择是Jasper Reports,但罐子超过2Mb,有点太重(太臃肿)以满足我的需求.我不知道是否有模块化的碧玉分布,功能分为几个罐子(如html渲染,pdf,excel,编译,运行时等).

我需要使用Swing预览报告并打印它.PDF导出是一个加号.

java reporting jasper-reports

11
推荐指数
2
解决办法
6124
查看次数

如何在Perl中以完全相同的方式对两个数组进行洗牌?

有没有人知道如何在Perl中以完全相同的方式随机混乱两个数组?例如,假设我有这两个数组:

在改组之前:阵列1:1,2,3,4,5阵列2:a,b,c,d,e

改组后:阵列1:2,4,5,3,1阵列2:b,d,e,c,a

因此每个数组中的每个元素都绑定到它的等效元素.

arrays perl shuffle

5
推荐指数
4
解决办法
1044
查看次数

使用LINQ在一行代码中将string []转换为int []

我有一个字符串形式的整数数组:

var arr = new string[] { "1", "2", "3", "4" };
Run Code Online (Sandbox Code Playgroud)

我需要一个'真实'整数数组来推动它:

void Foo(int[] arr) { .. }
Run Code Online (Sandbox Code Playgroud)

我试图转换int,它当然失败了:

Foo(arr.Cast<int>.ToArray());
Run Code Online (Sandbox Code Playgroud)

我可以做下一个:

var list = new List<int>(arr.Length);
arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better?
Foo(list.ToArray());
Run Code Online (Sandbox Code Playgroud)

要么

var list = new List<int>(arr.Length);
arr.ForEach(i =>
{
   int j;
   if (Int32.TryParse(i, out j)) // TryParse is faster, yeah
   {
      list.Add(j);
   }
 }
 Foo(list.ToArray());
Run Code Online (Sandbox Code Playgroud)

但两个看起来都很难看.

还有其他方法可以完成任务吗?

.net c# linq extension-methods

253
推荐指数
4
解决办法
21万
查看次数

Spring安全性 - 如何提及基于表单和基本身份验证

可以在Spring安全性中使用命名空间配置提及基于表单的身份验证和基本身份验证,而不会覆盖其他身份验证吗?因此,应用程序可以同时为基于浏览器的请求和远程客户端提供服务.

spring-security

13
推荐指数
3
解决办法
2万
查看次数

jQuery拖放自动打开拖动元素内的链接

我正在使用jQuery和FoxyCart拖放购物车,拖放工作,但我不知道如何将项目放入购物车后自动打开链接(在拖动元素内).

基本上我有一个列表<ul>,<li class="drag">里面有我<a href="..."><img src=".." alt="thumbnail"/></a><a href="..." class="addtocart">Add to cart</a>.添加到购物车的链接是使用css隐藏的,但我需要它,这样当我在购物车中放置一个项目时,它将打开这个隐藏的链接(因为链接打开一个模态框并在真正的购物车中添加项目由FoxyCart提供).对我来说问题是我不知道jquery那么好,我不知道如何从其余部分过滤链接然后打开它.

jquery drag-and-drop

1
推荐指数
1
解决办法
3746
查看次数

在Winforms上的Label上使用自定义字体

我的Winform上有一个标签,我想使用一种名为XCalibur的自定义字体,使其显得更加时髦.

如果我在标签上使用自定义字体,然后构建解决方案,然后.ZIP\bin\Release中的文件,最终用户会看到我使用的自定义应用程序的标签,无论他们是否安装了该字体?

如果不是这样,那么在Labels.Text上使用自定义字体的正确方法是什么?

c# fonts label

16
推荐指数
4
解决办法
4万
查看次数

SQL电子邮件字段应该有多长时间?

我认识到电子邮件地址基本上可以无限长,所以我在varchar电子邮件地址字段上施加的任何大小都是任意的.但是,我想知道"标准"是什么?你们有多长时间制作它?(姓名字段的相同问题......)

更新:显然,电子邮件地址的最大长度为320(<= 64名称部分,<= 255域).你用这个吗?

sql convention varchar

87
推荐指数
4
解决办法
5万
查看次数

NSArray的不区分大小写的indexOfObject

是否有一种简单的方法可以在NSStrings的NSArray中进行不区分大小写的查找?NSArray的参考文献提到对案例不敏感,但没有提及查找.

我可以轻松地编写我自己的fn来做它,但想知道是否有更简单的方法.

objective-c nsarray

2
推荐指数
1
解决办法
3213
查看次数