标签: qa

忽略测试用例中的断言失败(JUnit)

目前,我正在使用java和selenium rc编写自动化测试.

我想验证用户界面上的所有内容,功能如下:

public String UITest() throws IOException {

    String result="Test Start<br />";

    try {
        openfile(1);
        for (String url : uiMaps.keySet()) {
            selenium.open(url);
            for (String item : uiMaps.get(url)) {                   
                assertEquals(url+" check: " + item, true,selenium.isTextPresent(item));
                result+=url+" check: " + item+" : OK<br />";
            }
        }
    } catch (AssertionError e) {
        result+=e.getMessage();
    }
    result+="Test finished<br />";
    return result;
}
Run Code Online (Sandbox Code Playgroud)

函数假设返回一个String包含有关测试的信息.但是,一旦发生断言错误,该函数就会停止.

所以,我想知道是否有办法忽略失败并继续执行所有断言验证.

谢谢你的帮助

java junit qa

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

QA应该向开发报告吗?

这是我在许多公司遇到的一个问题:质量保证团队应该向开发组织报告,还是等同于公司层次结构中的开发?

qa project-organization

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

haskell - 使用QuickCheck的平均浮点错误

我使用QuickCheck-2.5.1.1进行QA.我测试两个纯函数gold :: a -> Floatf :: a -> Float,其中a实例随心所欲.

gold是参考计算,f是我正在优化的变体.

到目前为止,我使用quickcheck的大多数测试都使用了类似的测试\a -> abs (gold a - f a) < 0.0001.

但是,我想收集统计数据并检查阈值,因为知道平均误差和标准偏差对指导我的设计很有用.

有没有办法使用QuickCheck来收集这样的统计数据?


具体例子

为了给出我正在寻找的那种东西的具体例子,假设我有以下两个函数来近似平方根:

-- Heron's method
heron :: Float -> Float
heron x = heron' 5 1
    where
      heron' n est
          | n > 0 = heron' (n-1) $ (est + (x/est)) / 2
          | otherwise = est

-- Fifth order Maclaurin series expansion
maclaurin :: Float …
Run Code Online (Sandbox Code Playgroud)

haskell qa mean quickcheck standard-deviation

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

如何触发(不要避免!)HttpClient死锁

关于如何避免HttpClient从同步代码调用的异步代码(例如,方法)中的死锁,有很多问题,如下所示.我知道避免这些死锁的各种方法.

相反,我想了解在测试期间加剧触发错误代码中的这些死锁的策略.

在此输入图像描述

这是最近给我们带来问题的坏代码示例:

public static string DeadlockingGet(Uri uri)
{
    using (var http = new HttpClient())
    {
        var response = http.GetAsync(uri).Result;
        response.EnsureSuccessStatusCode();
        return response.Content.ReadAsStringAsync().Result;
    }
}
Run Code Online (Sandbox Code Playgroud)

它是从一个ASP.NET应用程序调用的,因此具有非nullSynchronizationContext.Current,它为潜在的僵局火灾提供了燃料.

除了公然滥用HttpClient之外,这个代码在我们公司的一个服务器中陷入僵局......但只是零星地.

我试图重新陷入僵局

我在QA工作,所以我尝试通过一个单元测试重新编写死锁,该单元测试命中Fiddler的侦听器端口的本地实例:

public class DeadlockTest
{
    [Test]
    [TestCase("http://localhost:8888")]
    public void GetTests(string uri)
    {
        SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
        var context = SynchronizationContext.Current;
        var thread = Thread.CurrentThread.ManagedThreadId;
        var result = DeadlockingGet(new Uri(uri));
        var thread2 = Thread.CurrentThread.ManagedThreadId;
    }
}
Run Code Online (Sandbox Code Playgroud)

有几点需要注意:

  • 默认情况下,单元测试具有null SynchronizationContext.Current, …

c# deadlock qa async-await dotnet-httpclient

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

您从QA收到的最可疑的错误报告是什么?

有一段时间你会得到一个错误报告,通常来自质量保证的新人,他们可能还没有完全理解该产品,这会让你挑起眉毛.

我会从一个我的团队(发展和QA)在它发生几年后仍然笑的开始.

我正在处理的产品有一个带有一组按钮的工具栏,可以切换应用程序状态的某些方面.我收到了一个错误报告,其中说"当你按下按钮[x]时,它会卡住.你必须再次推它才能让它脱落."

qa bug-reporting

12
推荐指数
3
解决办法
1335
查看次数

如何在apache基准测试工具中限制每秒请求数

我正在尝试强调测试我的Spring Boot应用程序,但是当我运行以下命令时,ab正在做的是试图给出结果我的应用程序可以保持的最大值.但我需要检查我的应用程序是否可以按每秒特定请求保留.

ab -p req.json -T application/json -k -c 1000 -n 500000 http://myapp.com/customerTrack/v1/send
Run Code Online (Sandbox Code Playgroud)

从上面的命令给出的每秒请求数是4000,但实际上,我的应用程序中缓存了很多记录,这意味着它无法容纳那么多的rps.谁能告诉我如何在 ab 工具中设置每秒的特定请求?谢谢!

spring qa stress-testing

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

开源问题回答框架

有谁知道任何机器学习问答框架?我目前唯一知道的是EphyraQanus,但它们看起来都像学术玩具,没有太多的发展,并且已经死了.我甚至无法让Qanus运行,因为它似乎有几个非常好的记录依赖.

请注意,我不是在谈论类似OpenQA/StackOverflow的社交网络QA框架,或者像Wolfram AlphaTrue Knowledge这样的专有黑盒网络服务.

qa machine-learning

11
推荐指数
0
解决办法
6489
查看次数

测量JVM中GC的时间

假设我正在测试Java服务器应用程序.我知道完成测试需要多长时间.现在,我想知道在测试期间在GC上花了多少钱.我该怎么做?

java performance garbage-collection jvm qa

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

阳性测试用例和阴性测试用例

什么是阳性测试用例阴性测试用例

谷歌上搜索它,我发现的答案非常令人困惑.有人可以用例子来解释吗?

testing qa testcase

11
推荐指数
1
解决办法
5万
查看次数

如何为每个拉取请求托管Android APK文件,以便QA可以在合并之前测试它们?

为了改进我们的QA工作流程,我们希望为Github上的每个pull-request自动构建一个APK文件,以便我们可以在合并分支之前对其进行测试.我们已经想出了如何构建文件,但我们现在想知道如何将它集成到我们的工作流程中.

似乎大多数可用的Beta程序(例如Crashlytics Beta,Google Play)主要关注在发布前不久创建一个测试版,但不允许并行托管多个APK.

以下是我们理想工作流程的示例:

  1. 开发人员完成编码并创建拉取请求
  2. 测试运行
  3. 如果测试成功,APK会自动构建并上传到某个地方(这是我们想要弄清楚的部分)
  4. QA会查看pull-request,并且应该可以在他们的测试设备上轻松下载正确的APK
  5. 如果在QA期间没有问题,则合并拉取请求
  6. APK文件会自动删除

我们特别不想在pull-request合并之后测试APK,而是测试之前在我们的开发分支中弹出更少的bug.

continuous-integration android qa github

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