测试对象取决于Web应用程序当前所处的软件开发生命周期。在开发早期,我们可能需要直接测试软件的各个独立组件,从而更好地理解各个组件的运行方式。这是因为,在一款Web应用程序中,实际上会有多个Web层参与到页面的显示与最终用户请求的响应中。
前端,即浏览器中呈现的HTML、CSS和 Javascript
Web层,一般管理通过HTTP协议访问Web应用管理的Web服务器。
应用层,主要由多个负责执行各种业务逻辑功能的应用层组成。
数据层(数据库层),负责提供实际数据的数据源,其中包括:
关系数据库;键值存储
面向文档的数据库
数据处理平台,如 Apache Hadoop;
在项目开始阶段,单独测试这些层会更好一些,特别是在对组件执行重大修改时。这样做也利于将来更容易地发现一些由于性能差异造成的问题,这些问题甚至有可能发生在最终用户使用场景中(如用户发起的浏览器请求)。如果没有为每一个组件确定基准,那么故障修复过程也更耗费时间,因为我们需要搜索各个Web层,才能找到造成性能问题和功能问题的根源。