问题标签 [black-box]

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 投票
3 回答
3186 浏览

unit-testing - 单元测试应该是黑盒测试还是白盒测试?

假设我有三种方法,它们都非常相似,但输入类型不同:

这三个都使用相同的底层逻辑。例如:也许double版本是唯一比较数字的版本,而另外两个只是将它们的输入转换为double.

我们可以想象一些不同的单元测试:第一个输入更大,第二个更大,两个输入都是负数,等等。

我的问题

如果所有三种方法都有完整的测试集(黑盒,因为我们不假设核心实现是相同的)

或者

是否应该只对double版本进行大量测试而对其他两个版本进行轻微测试以验证参数转换(白盒测试,因为我们知道它们共享相同的实现并且已经在测试中进行了double测试)?

0 投票
3 回答
1415 浏览

php - 在 $a == md5($b . $secret) 中找到 $secret

一个函数是:

  • 您可以选择 $a 和 $b
  • 你不知道 $secret
  • 您将获得 $a 和 $b 的函数值,您选择 true 或 false。

一般来说,有没有比蛮力更好的攻击来找到 $secret?使用PHP 的 md5 函数找到 $secret 是否有比蛮力更好的攻击?

从我在网上找到的内容来看,我认为没有,尽管 md5 在其他一些用例中已被弃用。所以只是为了确定......

亲切的问候

0 投票
0 回答
54 浏览

proxy - 通过代理稳定脆弱的 Web 应用程序

我有一个不稳定的动态 Web 应用程序,我想通过在此设置下运行来稳定它:

  1. 给定一个对 url 的 GET 请求,U我会
    1. 在缓存中查找U- 如果它已经存在 - 从缓存中获取它
    2. 如果不是,请从 Web 应用程序生成缓存。
  2. 管理员将能够直接访问 Web 应用程序。每当他将访问网页时 - 生成的网页将用于更新缓存。

这样,我确信即使 Web 应用程序关闭,大部分页面仍然可以访问。并且管理员很容易更新缓存(每当他在那里编辑某些内容时 - 它会自动更新,因为他通常会在之后访问此页面)。

是否有具有类似行为的通用缓存?在不更改其源代码的情况下稳定现有 Web 应用程序的任何更好的想法?

0 投票
1 回答
247 浏览

design-patterns - 你能装饰一个黑盒子吗?

我有一个关于装饰器模式的快速、非常不了解的问题。如果我有一个名为 BlackBox 的类,我不能以任何方式编辑它——不能添加接口,不能使任何方法成为虚拟方法等——可以使用装饰器模式装饰这个对象吗?如果是这样,怎么做?

0 投票
2 回答
198 浏览

unit-testing - 方法的单元测试“结构”?

抱歉发了这么长的帖子...

在被介绍给一个棕地项目时,我对某些单元测试集和思考什么有疑问。假设您有一个存储库类,包装了一个存储过程,并且在开发人员指南中,有一套特定的指导方针(规则),描述了应该如何构造这个类。该类可能如下所示:

现在,我当然会编写一些集成测试,测试 SP 是否可以被调用,以及行为是否符合预期。但是,我会编写单元测试来断言:

  • 调用带有输入参数“someKey”的 SomeProfiler 的构造函数
  • PersonStoredProcedure 的构造函数被称为
  • 存储过程上的 addNameArgument 方法是用参数 personName 调用的
  • 存储过程上的 addCityArgument 方法使用参数 cityName 调用
  • 在存储过程上调用调用方法 -

如果是这样,除了行为之外,我可能会测试方法的整个结构。我最初的想法是它是矫枉过正的。然而,关于团队强制执行的编码实践,这些测试确保了统一且“正确”的结构,并且下一层被正确调用(从 DAL 到 DB,从 BLL 到 DAL 等)。

在我的例子中,这些类型的测试是针对应用程序的每一层执行的。

后续问题 - SomeProfiler 类的使用对我来说有点像约定 - 相反为此创建显式测试,是否可以通过使用静态代码分析或 unittest + 反射来创建约定样式的测试?

提前致谢。

0 投票
1 回答
1014 浏览

.net - 实体框架 SaveChanges - 自定义行为?

因此,您实例化一个 EF 上下文,将对象推入或拉出,它会跟踪对象更改的完整状态(如果更改跟踪打开)。到目前为止,开发人员一直负责进行这些修改。但是一旦调用 SaveChanges,所有这些记录都会被批量提交,开发人员被剥夺了最终结果的权利,在错误时保存错误消息或在完成时成功调用。

有没有办法自定义 SaveChanges 过程,使其不是这样的黑匣子?理想情况下,能够自定义流程真的会为我打开很多东西,尤其是对于我的应用程序架构。

谢谢。

0 投票
2 回答
2276 浏览

optimization - Mathematica:黑盒函数数值优化期间的评估顺序

我正在尝试对 Mathematica 中的“黑匣子”函数进行数值优化。示意图是这样的:

其中 comb[x,y,z] 的定义与此类似:

但是,我尝试过的所有最小化函数似乎都没有立即为 comb[x,y,z] 提供数值,它最终尝试使用 x,y,z 的符号值来评估 FindMaximum(这很容易验证因为 Print[x,y,z] 也象征性地计算)。Findmaximum 因此失败(FindMaximum::nrnum:函数值 blah blah 不是实数),因此最小化失败。

如何确定评估顺序,以便用数值评估 comb 的子功能?

0 投票
1 回答
93 浏览

dll - DLL 是“黑盒”代码的唯一方法吗?

我的 DAL 和 BLL 将用作类似 Web 表单的基类。但是,我希望这些基类被“隐藏”起来,只是继承自。如果需要进行更改,请从一个地方完成,然后重新分发 dll(或其他解决方案)。我知道你可以用 DLL 做这样的事情,但我想知道 .NET 3.5 是否有其他方法来做同样的事情。

0 投票
2 回答
238 浏览

testing - 对于基于桌面的应用程序的安全测试,我应该在哪些方面更加重视?

我正在测试一个基于桌面的客户端服务器应用程序。我想对该应用程序执行安全测试。

谁能解释我在执行桌面应用程序的安全测试时可以考虑哪些要点?

0 投票
1 回答
2162 浏览

ios - 在 initWithCoder 中:NSCoder(UINibDecoder)中的键是什么?(对于 UIImageView)

具体来说,我正在尝试查找图像路径。这将是一件非常有用的事情,据我所知,没有人知道如何获得。我查看了生成的 nib 文件中的密钥,并且可以在其中看到图像 URL (test.jpg),但找不到获取它的密钥。键“UIImage”返回实际已经构造的图像(通过调用上述初始化调用initWithCGImageStored:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation的神秘 UIKit 函数调用构造),所以这没有帮助。GetImageAtPath

我还尝试使用 NSKeyedArchiver 将 UIImageView 写入磁盘,但这些值似乎都不正确,test.jpg 值也不存在那里。

如果没有人能弄清楚 - 任何人都知道如何将二进制文件作为文本读取?我可以通读笔尖并解析出 URL,这总比没有好,但是无论我尝试什么格式,NSString 的构造函数都会失败。