我应该如何强调测试我的web应用程序?

问题描述:

我有一个有点复杂的Web应用程序,其中包含客户端和PHP功能服务器端的Flash和JavaScript。 PHP功能包含系统调用(exec()),用于通过gnu软件(* nix环境)合并/编辑/创建文件,以及用于上传这些文件的REST服务的api调用(但这将使用cron作业完成)。我应该如何强调测试我的web应用程序?

我们尚未准备好上线,我们预计在发布时会直接承受大量服务器负载,所以我们需要对环境进行压力测试。我查阅了一些库,如JMeter,但afaik这些库不能处理Flash - 合并/编辑/创建取决于来自Flash应用程序的输入。我怎样才能以最好的方式来压力测试我的环境?

最好的问候,

Selenium可能是一个好方法;它非常好地处理AJAX/JavaScript,Adobe专门为Flash测试提供Selenium extension。 Selenium有一点学习曲线,但这是值得的。

+0

硒是否用于压力测试? – svirk 2012-09-05 14:34:57

+1

Selenium并非专门用于压力测试,但是因为您可以从命令行执行它,所以设置多个同时测试运行相当容易。 – 2012-09-05 16:58:41

如果您运行的是Apache,你可以使用ab进行压力测试您的应用程序的服务器端。

Apache HTTP server benchmarking tool

不知道,如果它可以处理Flash和/或Javascript虽然。

ab是用于基准测试您的Apache超文本传输​​协议(HTTP)服务器的工具。它旨在为您提供一个当前Apache安装执行方式的印象。这特别显示了您的Apache安装每秒可以处理多少个请求。

对于后端PHP,我只是在每个方法上使用计时器,并尝试在这里和那里刮几毫秒。我不会太担心PHP。

对于前端压力测试,我会使用类似iMacros的东西来锤击它。

More info here

Web测试

网页专业人员可以使用iMacros都为 功能,性能,以及网络应用 回归测试。内置的STOPWATCH 命令捕获精确的网页 响应时间。 iMacros还包括支持许多AJAX元素的 。

希望这会有所帮助。

+0

imacro不再与'Firefox Quantum'兼容 – 2018-02-16 15:28:49

另一位人士建议,Selenium在这里可能会很好。唯一的问题是,如果你想要进行压力测试,一个Selenium浏览器不会为你带来足够的并发性。

我的公司BrowserMob提供基于硒的load testing services,其中您可以生成100多个并发的Selenium脚本,它们会触发您的站点。我们还使用本地点击支持Flash,这意味着您甚至不会执行Gareth链接的技巧(尽管如果可以的话,建议您这么做)。

这就是说,仅仅因为你的网站使用10闪存,并不意味着它必然需要真正的浏览器来进行性能测试。如果Flash组件使用原始HTTP,那么像JMeter或我公司的“虚拟用户”服务(即:不使用Selenium)的工具可能会工作。如果它通过HTTP讲AMF,你仍然可以做到,但通常有点困难。但是如果你真的想测试视频流等东西,你可能需要更高级一些。