我有一个使用.net技术创建的应用程序/产品.该产品具有GUI,使用Web API(应用程序服务器上的SOAP)连接到数据库.大多数测试都是针对DB中的值执行的,而其他测试可能属于可用性,性能等.因此,要执行的测试中有60-70%要验证数据库中的值是否正确显示在GUI上,其他人测试GUI是否在需求规范中按预期工作.
测试的另一个方面还将是使用DB和GUI测试后端应用服务器接口.因为这将使我们能够确定,如果App Server正在向GUI发送错误值,或者它是具有错误值的DB!
除了以附加下拉菜单项和这些菜单项的附加页面的形式添加新功能外,产品UI的变化不大.
考虑到上述情况,哪种框架更合适?QTP或Selenium或其他商业/开源工具?
(成本不是主要问题,浏览器兼容性或操作系统也不是.系统安装在Windows Server上,并且DB兼容.)
我的一些UnitTests有一个在循环中定义的Sleep.我想不仅要描述测试的每次迭代,而且要描述所有迭代的总时间,以便显示任何非线性缩放.例如,如果我描述"整体",它包括睡眠时间.我可以使用StopwatchStart/Stop以便它只包含doAction().但是,我无法将Stopwatch结果写入TestContext结果.
[TestMethod]
public void TestMethod1()
{
TestContext.BeginTimer("Overall");
for (int i = 0; i < 5; i++)
{
TestContext.BeginTimer("Per");
doAction();
TestContext.EndTimer("Per");
Sleep(1000);
}
TestContext.EndTimer("Overall");
}
Run Code Online (Sandbox Code Playgroud)
看起来TestContext可以继承并重新定义.但是,我没有看到任何关于如何将其写回事务存储的示例.
是否有我可以参考的实现,或其他想法.我希望在Visual Studio为LoadTest提供的报告中看到它.否则我必须写自己的报告.
此外,我试图嗅探将这些写入LoadTest数据库的SQL,但是没有成功地弄清楚如何.应该有一个SPROC来调用,但我认为它是测试结束时的所有数据.
如果您熟悉TopCoder,您就会知道您的源代码获得最终的"等级/分数",这取决于时间,编号等等,这是性能最高的一个.但是他们如何测试呢,是否有某种简单的代码(java或c ++)可以分享给我评估并希望自己编写我自己来测试我为大学写的程序?
对于这个问题,这是一个后续问题,我会问更短的代码是否会带来最佳性能.
PS:我对topcoders如何知道性能以及编写代码以测试性能感兴趣.
Rspec ruby/rails是否具体?是否可以将它用作C/C++程序的测试框架?
在我的UnitTest中,我正在创建需要在将来的UnitTests中引用的数据.例如:
[TestMethod]
public void CreateOrder()
{
Order order = new Order();
int orderNumber = order.Create();
// return orderNumber;
}
[TestMethod]
public void ProcessOrder()
{
int orderNumber = (int)TestContext.Properties["OrderNumber"];
ProcessOrder(orderNumber);
}
Run Code Online (Sandbox Code Playgroud)
我需要保存'orderNumber',以便另一个UnitTest(可能在另一个代理上)可以使用这个生成的顺序.我已经决定我可以使用数据库了,但是我必须像删除项目中的队列那样操作它,并且不想去那条路.
是否有任何方法可以将orderNumber"返回"到LoadTest并将其作为Context参数传递给另一个UnitTest?
我最近加入了这个我目前正在工作的组织,该组织要求我管理一个项目,以重新考虑,扩展和维护用java编写的现有自动化测试框架,该框架使用关键字驱动框架和RFT.尽管我已经转向敏捷管理,但我一生都是开发人员.根据习惯,我在编写源代码之前编写单元测试来测试行为.该框架没有一个单元测试.我的第一直觉是"单元测试在哪里?" 我知道我可以为测试框架类编写单元测试.在这里讨论时,提出编写测试框架或脚本的单元测试可能是浪费时间.我外交上不同意.
问题1:我的直觉可能是错的吗?你有任何建议可以帮助我打击我的情况.
问题2:这可能会递归吗?编写测试和测试等测试.什么时候停止编写单元测试?有测试测试器递归的概念吗?
我再次全部用于单元测试,但之前从未遇到过这种情况.我从研究中找不到这个主题.
编辑
谢谢大家的有趣回应!毫无疑问,单元测试肯定会写完!最优先考虑的是我们自己编写的框架类和方法,这些类和方法最常使用,并且具有较高的ROI和较高的失败惩罚.计划是逐步和逐步实现整个项目的高级代码覆盖率(java)
我正按照以下说明测试Android应用:http: //www.jetbrains.com/idea/webhelp/testing-android-applications.html
和这里
http://developer.android.com/guide/topics/testing/index.html
当我运行测试时它会说"实例化测试"一段时间,然后它说"无法将测试报告器连接到测试框架或测试框架意外退出".
模拟器启动正常,但屏幕上没有显示任何内容.
控制台说:
Testing started at 11:41 AM ...
Waiting for device.
C:\Android\tools\emulator.exe -avd GoogleAPI_2_3_3 -netspeed full -netdelay none
Device connected: emulator-5554
Device is online: emulator-5554
Target device: emulator-5554 (GoogleAPI_2_3_3)
Uploading file
local path: C:\Users\<omitted details>.apk
remote path: /data/local/tmp/com.mycompany
Installing com.mycompany
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.mycompany"
pkg: /data/local/tmp/com.mycompany
Success
Running testsTest running startedFinish
Run Code Online (Sandbox Code Playgroud)
Logcat似乎没有任何帮助.特别是它没有显示我在测试中输入的Log.d消息.
有趣的是,有人在Intellij开发者社区论坛上询问了这个问题:
http://devnet.jetbrains.net/message/5363961#5363961
但问题几个月来一直没有得到回答.
有人有任何诊断问题的想法吗?
在Selenium2中编写测试用例时,采用PageFactory方式是一个好习惯吗?如果是,为什么?
坦率地说,我在编写测试用例时从未使用它们,也没有错过它.但我想知道使用PageFactory而不是使用它有什么好处.
selenium browser-automation test-framework selenium-webdriver
我有很多内部定义的方法,如下所示:
internal static string GetAJobShaNaNaNaShaNaNaNaNaNa(string Silhouettes)
Run Code Online (Sandbox Code Playgroud)
但是,为了从添加到解决方案的测试项目中调用它们,我需要将其访问修饰符从内部更改为公共.
是否有一种非常繁琐的方法可以将这些方法公开用于测试,但仍然是内部的?
test-framework ×10
unit-testing ×4
c# ×3
load-testing ×2
selenium ×2
android ×1
c++ ×1
compare ×1
internal ×1
java ×1
javascript ×1
junit ×1
performance ×1
qtp ×1
rspec ×1
ruby ×1
test-project ×1
testing ×1