电子商务网站测试

2019-05-17 13:15

第5 章 电子商务网站测试

5.1 实训项目一 程序及数据库测试 5.1.1 实训目的与要求

通过学习与实训,要求学生理解网站测试的重要性,掌握程序及数据库测试的内容与 方法,学会对具体的电子商务网站进行分析与测试。 5.1.2 实训预备知识

网站发布前要进行细致周密的测试,以保证正常浏览和使用。主要测试内容有以下几 个方面。

(1) 服务器稳定性、安全性。

(2) 程序、数据库测试以及网页兼容性测试,如浏览器、显示器。 (3) 文字、图片、链接是否有错误。

网页制作完成之后,对网页内容和网站整体性能进行有效的测试是十分必要的。如今, 网页的更新速度越来越快,更新的内容也越来越多,网页设计制作过程中难免会出现一些 错误,但关键是要采取有效的方法和措施对网站进行测试,及时发现错误并更正。 在网站开发、设计、制作过程中,对网站系统的测试、确定和验收是一项重要而富有 挑战性的工作。网站系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设 计的要求运行,而且还要测试系统在不同用户端的显示是否正常。最重要的是,还要从最 终用户的角度进行安全性和可用性测试。然而,Internet 和Web 网站的不可预见性使网站 系统的测试变得很困难,因此需要为网站系统的测试研究新的方法和技术。 1. 服务器稳定性测试

假设一个企业准备发布新的电子商务网站,其软硬件的设备与设施都已就绪。这个网

站看上去非常漂亮,所有的链接和图片都正确无误,但真正的问题是:它的后台服务在访 问高峰时能否顶得住。这需要做严格的负荷测试。 1) 网站的负荷测试目的

为了能预测和防止系统瘫痪以及不可接受的服务迟缓,Intel 开发了严格的负荷测试程 序,它针对以下5项关键目标。

(1) 确定一个应用能够支持的并发用户数和交易数的上限。

(2) 证明一个应用能够承受期望的每小时或每天的并发用户数和交易数。 (3) 证明一个应用和设施能够不停机地运行(24×7 模式)。 (4) 证明后台服务器能够承受期望的连接数。

(5) 证明单个的业务交易能够在合理的时间内完成。 电子商务网站设计与管理 ·154· ·154·

2) 网站负荷测试的6 大测试程序

为了有效地评估上述5 个目标,Intel 开发了包含6 个关键测试的负荷测试程序,它们 分别是:

?? 脚本验证/数据完整性测试。 ?? 单步测试。

?? 性能空间测试。 ?? 持续测试。

?? 数据库连接测试。 ?? 时间测试/业务实例。

每个测试可看做是对相互关联的系统和服务的行为与性能的深入观察。

(1) 脚本验证/数据完整性测试。

脚本验证测试的主要目的是保证测试是否按照设计的要求进行的。除了证实所记录的 测试步骤可以无错误地重复外,还要进行手工检验数据并在后台进行数据完整性测试。 一旦设计完成,将负荷测试计划记入一个脚本,先运行这个脚本并确认它是按要求运 行的,然后检查后台服务器上记录的日志。要查看互联网服务器日志、性能监督日志以及 所有用来运行脚本的工具日志。当脚本在某个表中输入了一些东西,为了确认已经正确地 输入数据库中,需要对数据库进行查询,还要注意检查是否有请求失败、超时或通信出 错。除了检验脚本是被正确地执行外,该测试对确定运行脚本时产生的瓶颈和错误位置非 常有用。 (2) 单步测试。

单步测试用来确定服务器允许的最大并发用户数和交易数。该测试模拟不断增加并发 用户数和交易数直至系统崩溃。一旦脚本设计好以后,第一次运行脚本应该反映未来6 个 月内的期望的负载情况。这是所谓的“1X负荷”。 从1X负荷开始,增加到2X、4X,以此类推。随着这种指数的增长,到达某一点时, 后台服务器的记录会显示系统已经不能承受了。其症状是:互联网服务器的缓存命中率大 增,互联网服务器的处理器占用率达到峰值,ASP日志记录的错误和连接中断数不断增加。 (3) 性能空间测试。

因为一周内对服务器的访问是不可能均匀分布的,还需利用性能空间测试来确定一个 应用和系统在不同寻常的大访问量时能够维持期望的交易量。

该测试让公司确定在长时间的高访问量下服务器的负荷、性能、内存的使用情况和应用 软件的稳定性,还可以确定是否具有满足未来客户需求的合适的应用软件架构和基础设施。 (4) 持续测试。

运行持续测试将证明应用在实际环境下能够持续工作。

持续测试的结果可看出应用和设施在短期及长期的支持能力。它还有助于预示客户在 公司网站上的感受。通过长时间的运行,该测试有助于发现小的、逐渐积累的问题,使公 司能够在它们变成大问题之前将问题解决。

(5) 数据库连接测试。

数据库连接测试确定数据库服务器是否能够支持期望的连接数。通过模拟期望的用户 第5 章 电子商务网站测试 ·155· ·155·

并发连接数和交易量,测量服务器的负荷、性能、内存使用情况和应用软件的稳定性。该 测试的结果将确定数据库服务器能够持续处理的负荷的上限、ASP 连接池是否正确工作以 及还有什么措施来优化数据库的性能。

数据库连接是非常困难的。因为各种数据库的格式都不一样,开发者必须对他们所开 发的数据库产品的底层API 有深刻的了解。因此,能处理多种数据库的通用的API 就应运 而生了——ODBC(Open Database Connectivity)。ODBC是人们创建通用API的早期产物,在

程序中可以使用相同的代码访问不同的数据产品。因此有许多种数据库(如Access、MSSQL Server、Oracle、Informix 等)都遵从了这种标准,被称为ODBC 兼容的数据库。ODBC 的 具体作用如图5.1 所示。 图5.1 ODBC 的具体作用

一般来说,ODBC是由一套扩展的DLL(Dynamic Link Library,动态链接库)组成,DLL

提供了标准的数据库应用程序设计接口。而ODBC 是建立在标准化的SQL(Structured Query Language,结构化查询语言)之上。所以,通过ODBC 和SQL 就可以编写独立于任何数据 库产品的数据访问程序。

① 用ODBC连接数据库。ODBC中提供三种DSN,它们的区别很简单。用户DSN 只 能用于本用户。系统DSN 和文件DSN的区别只在于连接信息的存放位置不同:系统DSN 存放在ODBC 储存区里,而文件DSN 则放在一个文本文件中。 在ASP 中使用它们时,写法如下。 A.链接SQL Server 用系统DSN:

connstr=\TABASE=dbname\用文件DSN:

connstr=\TABASE=dbname\还可以用连接字符串(从而不用再建立DSN):

connstr=\B.链接Access 用系统DSN

connstr=\

(或者为:connstr=\电子商务网站设计与管理 ·156· ·156· 用文件DSN:

connstr=\

还可以用连接字符串(从而不用再建立DSN):

connstr=\

② 缺陷。ODBC 含有大量的低级的调用,因此开发ODBC 应用程序还比较困难。开 发者不得不将大量的精力花在底层的数据库通信中,而不能专注于他们所要处理的数据。 ③ OLE DB。多年以来,ODBC已成为访问客户端/服务器数据库的标准。ODBC 提供 了基于标准的接口,接口要求SQL 处理功能,并被优化用于基于SQL 的方法。然而,如 果要访问不使用SQL 的非关系数据源(例如,不按照关系存储数据的Microsoft Exchange Server)中的数据,情况会如何呢?

OLE DB建立在ODBC之上,并将此技术扩展为能提供更高级数据访问接口的组件结 构。此结构对企业中及Internet 上的SQL、非SQL 和非结构化数据源提供一致的访问(实 际上,在访问基于SQL 的数据时,OLE DB 仍使用ODBC,因为对于SQL 来说,它是最 优结构。)。

OLE DB 由3个组件构成:数据使用者(例如,一个应用程序)、包含并公开数据的数据 提供程序以及处理并传输数据的服务组件(例如,查询处理器、游标引擎)。OLE DB 是一个 针对SQL 数据源和非SQL 数据源(例如,邮件和目录)进行操作的API。

OLE DB 为C 和C++程序员及使用其他包含C样式函数调用语言的程序员提供绑定。 有一些语言(例如,VB 和VBScript)不提供指针数据类型(地址变量)。因此,这些语言不能 使用C 样式绑定,而且不能直接调用 OLE DB。

在此基础上,Microsoft 推出了另一个数据访问对象模型:ADO(第一个是DAO)。ADO 采用基于DAO 和RDO 的对象,并提供比DAO 和RDO 更简单的对象模型(尽管会产生一 些冗余的功能,如现在进行一项操作时可以用不止一种方法)。ADO 中的对象层次结构比

DAO中的更平缓。ADO 包含一些简化对数据存储区数据的访问任务的内置对象。 而DAO 是第一个面向对象的接口,DAO 模型是设计关系数据库系统结构的对象类的 集合。它们提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,这其中 包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。 ④ 数据库链接实例。 dim conn

set conn = server.createobject(\

conn.open = \& server.mappath(\

其中../db/bbs.mdb 是数据库存放的相对路径。如果数据库和ASP 文件在同一目录下, 你只要这样写就可以了: dim conn

set conn = server.createobject(\

conn.open = \& server.mappath(\第5 章 电子商务网站测试

·157· ·157·

有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序,只要数 据库路径正确就不会出问题了。

(a) 建立MdbRecordset 对象。MDB数据库是一个完整的数据库,内部可能含有若干个 数据表,在此函数中,Connection 的作用是连接数据库,Recordset 的作用是打开数据表。 Function CreateMdbRecordset(数据库文件名, 数据表名或Select语句) Dim conn,Provider,DBPath '建立Connection 对象

Set conn = Server.CreateObject(\Provider=\

DBPath = \& Server.MapPath(\数据库文件名\'打开数据库

conn.Open Provider & DBPath

Set CreateMdbRecordset = Server.CreateObject(\'打开数据表

CreateMdbRecordset.Open \数据表名\End Function

(b) 建立带密码的MDB 数据库的Recordset 对象。它的建立方式与建立不带密码的

MDB 数据库的Recordset 对象类似,只是多了一个密码参数,即在与数据库连接时,必须 给出密码信息。

Function CreateSecuredMdbRecordset( 数据库文件名, 数据表名或Select 语句, password )

Dim conn,Provider,DBPath '建立Connection 对象

Set conn = Server.CreateObject(\Provider = \

DBPath = \& Server.MapPath(\数据库文件名\

'连接数据库,注意要带有密码参数

conn.Open Provider & DBPath&\:Database Password=\&password Set CreateSecuredMdbRecordset = Server. CreateObject(\'打开数据表

CreateSecuredMdbRecordset.Open \数据表名\

End Function

(6) 时间测试/业务实例。

时间测试/业务实例测试用来确定单个业务交易能够在合理的时间内完成。这是个需要 企业其他部门和IT 合作测试的例子,它是连接IT 和业务的桥梁。运行这个测试将记录下 平均完成每个交易所需的时间,从零负荷、平均负荷到突发重负荷和重负荷。 3) 网站负荷测试的两点局限

负荷测试方法和工具在过去的一年取得了很大的进步,然而,仍然存在一些需要指出

的局限。因为当进行负荷测试时,已经建立了一个代表将来对服务器的要求的模型,它是 根据公司对用户在网站上的行为估计而定。 电子商务网站设计与管理

·158· ·158·

虽然与互联网的连接因调制解调器的速度、局域网连接和网络延迟而不同,但在测试 模型中,所有虚拟用户都与互联网完美地连接:很高的带宽和最低的网络延迟。因此,除 非这些变化能够在测试中进行模拟,否则这些模型对最终用户的感受的预测是有局限的。 要实现真实世界的测试条件的最佳方法是建立与访问者有效的反馈机制。这样可以收集到 用户的看法而不是测得的因特网性能,从而改进设施来满足用户的要求。 2. 安全性测试

Web 应用系统的安全性测试主要有以下几个方面。

(1) 现在的Web 应用系统基本采用先注册后登录的方式。因此,必须测试有效和无效 的用户名和密码,要注意到是否区分大小写、可以尝试多少次的限制、是否可以不登录而 直接浏览某个页面等。

(2) Web 应用系统是否有超时的限制,也就是说,用户登录后如果一定时间内没有操 作任何页面,是否需要重新登录才能正常使用。

(3) 为了保证Web 应用系统的安全性,日志文件是至关重要的。需要测试相关信息是 否写进了日志文件、是否可追踪。

(4) 当使用了加密算法时,还要测试加密是否正确,同时要检查信息的完整性。

(5) 服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以要测试没 有经过授权就不能在服务器端放置和编辑脚本的问题。

基于Web 的系统测试与传统的软件测试既有相同之处,也有不同的地方,这对软件测 试提出了新的挑战。基于Web 的系统测试不但需要检查和验证是否按照设计的要求运行, 而且还要评价系统在不同用户的浏览器端显示是否正常,还要从最终用户的角度进行安全 性和可用性测试。 3. 程序及数据库测试 1) 程序测试

在网页制作软件Dreamweaver 中,“Check Target Browser”可以自动检测该网页在多

种不同版本的浏览器Internet Explorer 2.0~6.0 和Netscape 2.0~5.0 中的支持情况,并会自动 生成一个报告详细检查结果的HTML 文件,并且调用默认浏览器。此检查报告十分详细,


电子商务网站测试.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广告学专业课程体系的创新与重构

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: