摘要:介绍了当前电子商务应用领域的主要结构,以及基于此结构的软件测试技术,采用局部分层测试和系统整体测试相结合的方法是目前最值得介绍堵塞新做法,它既从局部出发,按照软件的三层结构分别对应用系统的每一个层面进行测试,又从整体出发,系统地对整个应用软件进行完整测试,保证了软件开发后的性能要求和用户的可用性。
关键词:电子商务;软件测试
国际互联网的快速增长,使WEB技术对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在移植到互联网上,电子商务迅速增长。因此,电子商务应用系统的测试也变得十分重要,它对软件测试提出了新的挑战,要求采用新的测试方法展开软件测试工作。这种对应用系统的测试不但能检查是否满足设计的要求,还需要能测试系统每个层面是否正常,确保系统的整体性能、安全性和可用性满足需要。
一、典型系统结构
随着电子商务的兴起,Web方式的应用系统发展迅速,它将成为电子商务技术领域的主流。在电子商务应用系统中,目前普遍采用的是三层C/S结构,即表示层、业务层和数据层。这种结构使软件测试人员能采用“局部分层测试”和“系统整体测试”想结合的方法,对应用系统进行测试。即先对每一层进行独立的测试,再开展系统整体测试,这样更容易发现应用系统缺陷和错误。如果仅仅依赖系统测试,要确定存在问题的特定部件十分困难。
二、局部分层测试
1、表示层。测试表示层就是检查并应用程序的前端是否存在错误。本层次是应用系统的外表,因此,表示工作对建立一个健壮的、高质量的应用系统至关重要。
(1)内容测试。内容测试用来检验Web应用系统提供信息的正确性、准确性、相关型等人机界面元素,信息的正确性是指信息是可靠的还是误传的,例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确型是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsft Word的“拼音与语法检查”功能;信息的相关性是指是否在当前也面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中所谓“相关文章列表”。此外,还要检查字体类型、屏幕布局、色彩、图形分辨率及其他直接会影响最终用户体验的特性。
(2)Web站点结构。测试Web站点的结构是检查结构上存在的错误,发现无效的连接。链接测试可分为三个方面。首先,测试所有链接是否按指示的安阳确实链接到了该链接的也面;其次,测试所连接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
(3)用户环境。测试用户平台和浏览器。市场上有很多不同的操作系统平台,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容型问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能在会运行失败。此外,要测试浏览器。浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java、JavaScript、ActiveX、plug-ins或不同的HTML规格有不同的支持。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。操作系统(OS)和浏览器的组合非常多,不仅要测试每一个浏览器的配置,还要测试同一个浏览器的不同版本。
2、业务层。业务层测试的重点是发现应用系统的业务逻辑中的问题。测试业务逻辑层与测试单机程序非常类似,通过测试去检查应用系统是否满足系统性能方面的需求。
(1)性能测试。主要负载测试,即带负载情况下的响应时间和吞吐率。负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。此外,还要进行夜里测试。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。
(2)数据验证。测试从用户采集到的数据,通常是以表单形式。当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果表单只能接受指定的某些字符,测试时可以跳过这些字符,看系统是否会报错。如果Web应用系统使用Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上。
(3)业务测试。测试系统的业务处理过程的正确性,其中包括信用卡处理、电子邮件验证以及消费税计算等。电子商务系统必须在全部的时间里正确处理业务,无一例外。因此,要通过测试确保业务处理的正确性。
3、数据层。数据层的测试,主要是指对应系统用于储存和获取信息的数据库管理系统的测试。在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在使用了数据库的Web应用系统中,一般情况下,注重数据库操作的响应时间、数据存储的完整和数据库系统的容错。
(1)响应时间。应量化数据操作语言(DML,包括结构化查询语言SQL中INSERT、UPDATE和DELETE)、查询(SELECT)及事物的完成时间。电子商务系统运行速度缓慢会引起客户不满。因此,我们应该积极确保网站能够及时响应用户的请求和操作。在测试数据层的响应时间时,我们要确保单个的数据操作能够快速完成,不至于阻塞其他操作。
(2)数据完整性。验证数据存储适当且正确。所谓数据完整性测试,即在数据库表中发现不准确数据的过程。这项测试与数据确认有所不同,后者在测试业务层时进行。数据确认测试试图发现数据收集中的错误,而数据完整性测试是尽力要在数据存储的方式中发现问题。
(3)容错性和可恢复性。最大化平均故障间隔时间(MTBF),最小平均故障恢复时间(MTTR)。一般来说,数据库操作的一个目标是最大化MTBF,最小化MTTR。
数据库的恢复具有重要意义。可恢复性测试的目标是设计出数据库无法恢复的场景出来。在某些时间,数据库会崩溃,因此须制订一些规程以便快速恢复。恢复计划开始于获得有效的备份,在进行可恢复性测试时,如果无法恢复数据库,那么需要修改备份策略。
三、系统整体测试
1、整体界面。整体界面是整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,能否找到信息所在地方,整个Web应用系统的设计风格的总体效果。
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
2、安全性。安全性测试区域主要有:
(1)现在的Web应用系统基本采用先注册,后登录的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录而直接浏览某个页面等。
(2)Web应用系统是否有超时的限制,也就是说,用户登录后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登录才能正常使用。
(3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
(4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
3、导航。导航描述了用户在一个页面内操作的方式。在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
导航测试就是检查应用系统的页面结构、导航、菜单、连接的正确性。确保用户知道Web应用系统里面的内容,以及内容所在位置。
四、结束语
在未来电子商务领域,Web软件的测试是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器的显示是否合适。因此,我们必须为测试复杂的基于Web的系统不断研究新的方法,满足软件开发人员的需要。