Articles of testing

寻找一种准确的方法来微观testing用C ++编写的并在Linux / OSX上运行的小代码path

我正在寻找一些非常基本的微型基准testing,例如我用C ++编写的小型代码path,比如紧密循环。 我在Linux和OSX上运行,并使用GCC。 什么设施有亚毫秒的精度? 我正在考虑多次运行代码path的简单testing(几千万?)会给我足够的一致性,以获得良好的阅读。 如果有人知道更好的方法,请随时提出build议。

C / asm程序在由非特权用户运行时对Linux有什么危害?

我一直在想一个场景,让用户(可以是任何人,可能是坏的意图)提交在Linux PC上运行的代码(我们称之为基准节点)。 目标是为单线程例程创build一种自动化的基准testing环境。 假设一个网站向代理发布一些代码。 这个代理把这个代码交给基准节点,基准节点只有一个到代理的以太网连接,而不是互联网本身。 如果让一个用户在C / ASM代码上运行基准节点,会面临什么样的安全挑战? 做出以下假设: 该程序作为非特权用户运行 代理将有机会杀死基准节点上的进程(例如以无限循环为例) 代理能够重新启动基准节点(如果它回复…) 那么,这个用户空间程序实际上可能会使操作系统崩溃,还是使代理不可用? 通过汇编,程序员可以基本上做他想做的任何事情(例如操纵堆栈指针),我想知道Linux在这方面的限制/强大。 我也知道进程可能需要与其他进程(shm)共享内存区域,这也可能在这里起作用。 任何有关这个问题的文献或文章都非常受欢迎。 沙盒解决scheme也可能是有趣的,但重要的是,CPU必须执行它在基准testing期间的100%的能力(至less在基准testing的核心上)。

由于套接字失败,围困中止

我遇到这个问题,同时试图从Mac OS X 10.8.3围攻下面的cmd。 siege -d1 -c 20 -t2m -i -f -r10 urls.txt Siege的输出如下: ** SIEGE 2.74 ** Preparing 20 concurrent users for battle. The server is now under siege… done. siege aborted due to excessive socket failure; you can change the failure threshold in $HOME/.siegerc Transactions: 0 hits Availability: 0.00 % Elapsed time: 27.04 […]

Linux基准testing工具

我被要求评估一个新的供应商的计算系统,pipe理层要求我不使用我们现有的任何软件来评估平台(不pipe你信不信,有一些合理的理由)。 无论如何,我已经开始尝试阅读服务器级计算机的有意义的基准testing程序,但是并没有给我们留下深刻的印象。 我试图展示原始计算能力和内存I / O吞吐量。 任何build议,我应该运行有意义的testing? – 我将可以访问现有系统和系统,以评估所有这些testing。

如何在Python中进行“基于性能”(基准)的unit testing

假设我已经获得了我的代码基础,使得unit testing覆盖率达到了很高的程度。 (超出某一特定时期,覆盖范围越来越大,投资回报率就越低。) 接下来我要testing性能。 要对代码进行基准testing,以确保新的提交不会不必要地减慢速度。 我对Safari对零售承诺放缓的零容忍政策非常感兴趣。 我不确定对于速度的承诺水平对于大多数项目来说都具有很好的投资回报率,但是我至less希望得到一个提示:速度回归已经发生,并且能够对此做出判断。 环境是Linux上的Python,一个对BASH脚本也可行的build议会让我很开心。 (但是Python是主要的焦点。)

WebDriver for Firefox:浏览器启动/空页面,挂起2分钟,重新启动,然后testing运行。 为什么?

我正在尝试更新我的Javatesting套件以使用Selenium 3和geckodriver。 但是,我在执行testing命令时看到了这个非常奇怪的行为: Firefox打开了一个空白页面。 它停留约2分钟。 它closures,然后立即重新启动。 testing运行并通过。 我使用Selenium 3.0.1,Geckodriver 0.11.1,64位Linux上的Firefox 50.0。 我得到这样的FirefoxDriver: DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette", true); return new FirefoxDriver(capabilities); 我在我的Maven conf中设置系统属性webdriver.gecko.driver : <webdriver.gecko.driver> ${basedir}/src/test/resources/geckodriver </webdriver.gecko.driver> 我可以错过什么? 非常感谢您的帮助! 我的testing的控制台日志(有三个不同的计时组): 下午3点54分左右 完整日志: https : //justpaste.it/10qn9 主要片段: Configuring TestNG with: TestNG652Configurator [VerboseTestNG] RUNNING: Suite: "Surefire test" containing "1" Tests (config: null) [VerboseTestNG] INVOKING CONFIGURATION: "Surefire test" […]

如何在testing期间模拟出现故障的磁盘?

在Linux VM(Vmware工作站或类似的)中,如何模拟以前工作的光盘上的故障? 生产中出现光盘故障(可能是控制器,电缆或固件问题)的情况。 显然这是不可预测或可重复的,我想testing我的监测,以确保它正确警报。 理想情况下,我希望能够模拟写入失败但成功读取的情况,以及完全失败的情况,即scsi接口将错误报告给内核。

自动化的Linux / ncursestesting工具

我已经select了一个在Linux上用C / C ++开发的遗留应用程序,使用ncurses进行UI。 这个环境有什么自动化testing工具? 编辑:我以前使用过AutomatedQA TestComplete,这是我正在寻找的工具types – 除了在Linux上运行,并且能够testing文本UI应用程序。

为什么这个延迟循环在几次迭代之后开始运行得更快而没有睡眠?

考虑: #include <time.h> #include <unistd.h> #include <iostream> using namespace std; const int times = 1000; const int N = 100000; void run() { for (int j = 0; j < N; j++) { } } int main() { clock_t main_start = clock(); for (int i = 0; i < times; i++) { clock_t start = […]

有什么像Windows xvfb或xnest?

在使用驱动GUI的端到端testing的项目上,由于GUI自动化驱动程序干扰桌面,因此在开发人员工作站上运行testing很尴尬。 它移动鼠标,将焦点从我们想要使用的应用程序中移开,如果我们在testing运行期间切换到另一个应用程序,就可以开始在错误的应用程序中input文本。 在Linux上,我们通过在虚拟X服务器(xvfb或xnest)上运行被测应用程序来解决这个问题。 使用xnest,我们可以看到正在运行的testing,但仍然使用真实的桌面而不受干扰。 有什么等效的Windows?