问题标签 [black-box-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
642 浏览

android - 如何判断是否出现了新活动?

我正在做一些黑盒测试(顺便说一句,使用 UiAutomator 2.0,扩展 InstrumentationTestCase),我需要知道:

1 - 创建新活动时

2 - 知道它是否是第一次创建活动

我需要这个,因为当出现新活动时我想应用一些测试,但我希望这种检测是自动的,而不是手动的。

在 Android L 之前,有 UiDevice.getCurrentActivityName() 方法。但是,现在它已被弃用(此外,他们甚至不确保它适用于以前的版本)。这也发生在通过 PackageManager 获取活动的选项中。

因此,我想知道:

  • 是否可以以编程方式检测新活动?如果是这样,有可能知道它是否是第一次发生活动。

  • 如果不可能,我应该如何根据它的 UI 定义一个活动?我应该更改多少小部件才能得出结论它是不同的活动?

谢谢。

编辑:为了清楚起见,我不想测试创建活动时会发生什么,我希望能够确定它是否是第一次在运行中发生此活动。

0 投票
0 回答
34 浏览

java - 使用 Robotium 在列表中接收网络操作结果的问题

我正在尝试对我的 Android 应用程序进行自动黑盒测试。

发生的事情是我每 x 分钟在 asynctask 中运行一次网络操作。完成后,将结果放入列表中。如果没有运行机器人,这是完美的。但是,在运行机器人时,假设我将其设置为每 2 分钟运行一次,结果可能会在 5 分钟或另一个随机时间后返回。

我相信三件事中的一件正在发生,但是我不知道为什么或如何解决它。

  1. robotium sleep() 方法也以某种方式暂停了我的异步任务/后台线程。
  2. robotsium 方法以某种方式干扰了广播接收器,我使用它来通知新结果已添加到列表中。
  3. 其他事情正在发生...

有没有人有什么建议?我目前的方法是调用 sleep 方法的时间比预期的要长得多,但是无论是否有新数据进来,它都是随机的。如果是这样,它通常比预期的返回晚得多。(请记住,它可以工作到秒,完全不使用机器人。

干杯

0 投票
1 回答
235 浏览

testing - 基于规范或需求的测试的覆盖率指标是什么?

我们使用哪些不同的指标来确保仅基于需求和规范(黑匣子)编写的测试套件的质量?

简而言之,给定一组需求和针对这些需求的测试套件,量化基于规范/需求的测试(测试套件)质量的不同指标是什么?

我通读了以下有关基于规范的测试和指标的文章来定义它们。这些话题太抽象,无法消化。

http://link.springer.com/chapter/10.1007%2F978-3-642-21768-5_13#page-1 http://www.worldscientific.com/doi/abs/10.1142/S0218539301000530

你能用简单的话解释一下吗?

谢谢!

0 投票
1 回答
1322 浏览

android - Blackbox Espresso 测试在路径上找不到类

我正在使用 Espresso 进行黑盒测试。我按照另一个线程的指南(Android Espresso 如何使用 apk 编写测试?)。但是我的测试在 DexPathList 上找不到类。错误信息是:

引起:java.lang.ClassNotFoundException:在路径上找不到类“com.twitter.android.DispatchActivity”:DexPathList [[zip file“/system/framework/android.test.runner.jar”,zip file“/ data/app/...test-2.apk", zip 文件 "/data/app/...-2.apk"],nativeLibraryDirectories=[/data/app-lib/....test-2, /data/app-lib/...-2, /vendor/lib, /system/lib]]

我正在测试的应用程序是 Twitter,我没有源代码。所以我在 Android Studio 中创建了一个 android 项目。

清单文件如下所示:

测试类:

我没有在 DexPathList 上看到目标应用程序。我是否错误配置了我的项目?

0 投票
1 回答
553 浏览

testing - 单独的黑盒测试能否捕获白盒测试捕获的所有错误?

是否可以通过白盒测试找到无法通过黑盒测试找到的错误?

如果是,那为什么?

据我了解,这是不可能的,但我想确定。

0 投票
0 回答
1064 浏览

android - “安装失败,因为设备已经有此应用程序的较新版本” Black-box Robotium testing Android Studio

我有一个在 Eclipse 中工作的黑盒 Robotium 测试。我已将测试导入 Android Studio。在我添加的 gradle 文件中: - 对 Robotium 库的依赖:androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.5.1'

  • 属性中被测应用的包:testApplicationId "package.app.under.test"

当我运行测试时,我得到了异常:

* “安装失败,因为设备已经有此应用程序的更新版本。要继续,您必须卸载现有应用程序。” *

我试图卸载应用程序,重新安装,更改应用程序的版本,但我无法运行测试。

有谁知道如何在 Android Studio 中为没有可用源代码的应用程序运行黑盒 Robotium 测试?在testApplicationId属性中添加被测应用的包是正确的。

0 投票
1 回答
1593 浏览

java - 不同的异常报告

我只是在考虑 java 异常。有许多不同的类型,它们都各司其职。我很好奇的是他们的处理方式。例如

在 catch 块中,有多种方法可以报告异常。我找到了几个,但我认为还有更多:

  • System.err.println(e1);用于调试
  • system.println.out(e1);仅查看错误以进行本地验证
  • e1.printStackTrace();只查看错误
  • Logger.getLogger(classname.class.getName()).log(Level.SEVERE, null, e1);如果我是正确的,调试、信息和错误的级别可能会有所不同。

为什么你会选择一个而不是另一个?我能想到的只是它报告的信息吗?因此,对于简短的错误,您只需打印异常,而在寻找实际问题时,您将使用更大的错误。如果你知道会有例外,但不认为它很重要,可以直接抛出它吗?

异常处理是测试代码的好工具吗?可以代替Black-Box-testing吗?

0 投票
3 回答
734 浏览

black-box-testing - 以黑盒为例

我在 wikipedia 上阅读了有关黑盒测试的信息。
我很想尝试学习黑盒测试技术,但问题是我找不到任何提供黑盒示例的网站。有这样的网站吗?也许像(仅使用黑盒)这样的网站?
先感谢您。

0 投票
1 回答
896 浏览

android - Android APK 测试 - 黑盒

我有一个 apk 文件,我想在上面开发和运行一些测试(我只有 apk 文件,我无权访问源代码)。

我在这里找到了一个关于这个的教程,我在这里找到了一个视频但两者都是针对 Eclipse 的,我无法使用 Android Studio 进行这项工作。

有什么方法可以使用带有任何框架的 Android Studio 来做到这一点?(Robotium、Espresso、Appium、Calabash 等)。

有人对此了解更多,可以给我一些解释或一些例子吗?

0 投票
0 回答
5352 浏览

.net - 所有黑盒重新打包停止工作.. .net 框架 4.5 问题

我在设置所有具有黑盒重新打包设置的游戏时遇到问题。当我尝试打开设置文件时,它会在 0.6% 下载几秒钟后崩溃,或者在另一个游戏中以 3.5% 的速度下载所有游戏都没有完成前 10%,并且显示以下消息:

黑盒设置已停止工作 寡妇正在检查解决方案 我在网上搜索了解决方案但没有。一切都说明了.NET 框架中的问题。

我尝试安装游戏自带的dotnetfx45_full_setup。它一直在告诉我:

Microsoft .NET Framework 4.5 已经是该操作系统的一部分。您不需要安装 .NET Framework 4.5 可再发行组件。

此计算机上已安装相同或更高版本的 .NET Framework 4.5。

或者在另一个游戏中提取后有dotNetFx45_Full_x86_x64_SlimSetup 告诉我们:Microsoft .NET framework 4.5 已经是这个操作系统的一部分,但目前是关闭的。要启用 .NET Framework 4.5,请使用控制面板中的打开或关闭 Windows 功能。

所以我去功能并检查前两个,然后重新启动PC,但仍然是同样的错误。

我尝试通过 cmd 手动执行此路径:DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:C:\sxs,但没有任何反应,仍然有烦人的消息。

我尝试更新我的 Windows 版本,它卡在 23%。

我在网上搜索,最后我更新了版本,但问题仍然存在。

我也试过干净启动。我注意到在进行干净启动时,一些 Windows 服务停止并且没有运行。这是平常的还是不平常的?特别是 ASP.NET 服务状态?

我知道 .NET 框架 4.5 中的问题。