如何测试网站各个组件,并快速修复故障?

在任何网站上,在测试前端时都必需模仿真适用户在网站上履行真实功效的情况。这就是所谓的真实阅读器测试,它分歧于应用对象( Apache-Bench或Jmeter)履行的合成测试,后者只是模仿网站前端的流量负载。真实阅读器须要必定的时光能力结构出文档对象模子( DOM),这个中包含解析JavaScript, 然后再衬着网页。Apache-Bench和Jmeter等对象无法测试真实阅读器在这些方面的加载进程。

有很多对象可以经由过程编程方法设置装备摆设并履行网站的真实阅读器测试,它们可以主动化运行,并能与QA和连续集成进程相整合。我在前面提到过的Selenium就是一个Web运用测试体系,年夜多半主流阅读器都支撑。而Watir ( htp:p:/watir.com则是一个Ruby gem库,它也可以主动履行Web阅读器测试操作。它的名称Watir是“应用Ruby履行Web运用测试( Web application testing in Ruby)”的缩写。

对Web层的直接测试年夜多属于合成测试,它可以或许测试出运用法式支撑若干会话,但对于运用法式在最终用户应用进程中的行动表示而言,这种测试的感化不年夜。应用Apache-Bench和Jmeter的合成测试可用于履行抽样测试、烟雾测试和机能测试,它们异常合适履行一些简 单测试,如优化Apache Web办事器的KeepAlive变量,也合适履行其他一些 Web办事器的优化操作,然则无法测试Selenium 或Watir 所支撑的最终用户机能指标。这里必定要记住一点,在模仿某种用户运动(如加载一个照片集)的可控情况中履行的测试无法完整表现临盆情况的运行方法。即使在一个分段情况中履行测试,也能发明很多关于运用履行或响应的信息,然则只有把运用法式安排到临盆情况中,我们能力够真正测试出它的机能和表示。

Selenium是一个应用真实阅读器的主动化Web运用功效测试框架。它许可我们设置装备摆设网站的工作流程和交互方法,模仿真适用户的操作方法。Selenium还会将这些交互记载在视频中,便于我们在测试完成之后检讨测试是否经由过程。因为须要启动一个真实阅读器、记载交互进程和重放操作,所以测试进程会有一些开销,这个进程须要成百上千个虚拟机能力模仿出年夜量用户应用真实阅读器拜访网站的后果。即使是一些年夜型组织,履行这种测试也会有一些难度。如今有一些办事可以履行这些运动,如Keynote Systems、Gomez和BrowserMob (应用Selenium),它们有散布活着界各地的节点,这些办事都应用真实阅读器来履行地区疏散的负载测试和机能监控。

无论采取何种方法,网站扶植测试Web运用的所有组件都异常主要,并且最好可以或许记载Web运用法式的各个部门,以及各个层在一段时光的履行情形,如许就可以或许与Web运用法式的分歧版本或修正进行比拟。

相關文章: