APP下载

基于电商平台的Web应用系统测试方法

2023-08-01陆佳曹南岚刘宝阳

现代信息科技 2023年11期
关键词:软件测试电子商务

陆佳 曹南岚 刘宝阳

摘  要:随着计算机技术的飞速发展,Web应用系统已深入到各行各业,走进人们生产生活的方方面面。为保证软件质量,提高对客户的服务品质,需要对软件进行全面、严格的测试。文章以电商类Web应用系统为例,结合实践操作,提出功能测试、界面测试、性能测试、兼容性测试、接口测试、安全性测试等方面的测试路线,所提测试路线具有普适性和可借鉴性的特点,可以应用到其他领域的测试。

关键词:Web应用系统;电子商务;软件测试

中图分类号:TP311.5;TP393 文献标识码:A 文章编号:2096-4706(2023)11-0073-04

Web Application System Test Methods Based on E-commerce Platform

LU Jia1, CAO Nanlan1, LIU Baoyang2

(1.Suzhou Chien-Shiung Institute of Technology, Suzhou  215400, China;

2.Aiyouzhi Information Technology (Suzhou) Co., Ltd., Suzhou  215400, China)

Abstract: With the rapid development of computer technology, Web application systems have penetrated into various industries and entered every aspect of people's production and life. In order to ensure the software quality and improve the service quality to customers, it is necessary to conduct comprehensive and strict testing of software. The paper takes E-commerce Web application systems as an example and combines practical operations to propose testing routes for functional testing, interface testing, performance testing, compatibility testing, interface testing, security testing, etc. The proposed testing route has the characteristics of universality and reference, and can be grafted into testing in other fields.

Keywords: Web application system; E-commerce; software testing

0  引  言

随着互联网行业的迅猛发展,各种为人们工作和生活提供便利的计算机软件应运而生,以B/S架构为主要模式的Web应用系统影响着人们生产生活的方方面面。为满足不同用户个性化的网络购物需求,也为满足商家在各类节日期间丰富促销活动的功能需求,电商类Web應用在建设之初便包含了丰富而复杂的功能。为保证应用上线后的用户使用体验,切实维护平台、用户和商家三方的利益,上线前对Web应用的全面测试就显得尤为重要[1]。

电子商务类Web应用不仅具有用户数量多、用户与软件交互数据量大、短时访问量高的特点,还具有分布、异构、跨平台等特性,测试人员面对的是一个大规模、高复杂性的软件测试工作,手工测试与自动化测试兼而有之。本文结合A公司的一款跨境电商Web应用,提出一种可行性很高的Web应用系统测试方法。

1  系统测试目标

Web应用系统因具有分布式、易部署、跨平台的特点而得以广泛使用,而电商类Web应用只要是商家产品质量有保证,价格有优势,便很容易抢占部分市场份额。所以针对电商类Web应用,系统稳定可靠是第一要义,测试目标应当是在系统上线前尽可能发现其潜在缺陷,优化用户购物体验,为用户提供安全、流畅和满意的购物服务。

2  电商类Web应用系统的测试方法

为实现上述目标,测试人员需要在以下几个方面开展软件测试,如图1所示。

2.1  功能测试

功能测试是指测试人员站在用户的角度,根据产品设计人员设计的功能,在使用Web应用系统过程中,覆盖用户所有的操作。功能测试通常采用黑盒测试,无须了解程序的结构与运行逻辑,只需关注软件产品的实际功能是否符合需求设计师的预期,并且尽可能找到潜在的缺陷即可。

2.1.1  链接测试

一个Web应用系统带给用户最直观的感受就是有序排列的各种链接,而一个电商Web应用系统则展示了各种商品链接、分类链接、促销活动链接等。用户点击相应的链接便能实现页面的跳转,直达其想购买的商品、想了解的促销活动。对于一个Web的链接测试,通常包含以下三方面内容:

1)点击链接后是否按照程序的正确逻辑,跳转到了预期的界面。

2)该链接所指向的页面是否真实存在(即不是一个死链接)。

3)保证系统中没有单独存在的页面(即无法到达的页面)。

为保证页面上各类链接的准确性和可靠性,通常采用手动测试与软件工具自动测试相结合的方法。手动测试应当从用户的角度出发,主要测试用户常用功能的链接,保证功能完整的基础上,辅以工具进行全面测试。本场景下,可以采用“Xenu Link Sleuth”软件进行链接测试,主要针对上文第二个方面,测试有无死链接。

如图2所示,该软件具有简洁明了的用户界面,易上手的功能设计,轻量化的大小,可以测试全类型的链接(图片、框架、插件等),并生成报表发送邮件。Web应用系统出现以下问题时,“Xenu Link Sleuth”可以快速定位找到问题:Web应用系统的服务器设置错误;动态链接在数据库不再支持的条件下变成死链接;某个文件或网页移动了位置,导致指向它的链接变成死链接;网页内容所指向的链接被修改,原来的链接变成死链接。

2.1.2  表单测试

电商类Web应用系统中,用户和平台时刻都在进行大量的数据交互,这就要求在各个页面嵌入满足不同业务场景的表单控件。如用户注册页面中,平台应当针对电子邮箱检查其格式是否正确,重复键入密码时不支持复制粘贴。为保证前后台数据交互准确,需要对各类表单数据进行全面的测试验证[2]。测试点包含但不限于表1。

2.1.3  Cookies测试

Cookies是一种用于用户访问Web应用系统时读取数据,服务器向用户本地发送数据进行存储的技术,旨在提高访问时的服务器响应速度,缓解数据交互时的压力。

Cookies主要存储小块数据,当用户访问站点时,服务器在发给用户所请求数据的同时,还会向用户发送一个包含时间、访问身份的Cookies。在电商Web应用系统的场景下,Cookies能够帮助用户与网站快速连接,网站可根据其掌握的信息进行个性化商品推荐。

Cookies测试应当包含具体场景下Cookies是否有必要、Cookies的作用范围、Cookies的安全性、Cookies是否被过度使用等。

2.1.4  数据库交互测试

电商类Web应用系统本质上是商品数据的存储与展示,以及对商品数据、交易数据的增删改查,不论是C/S架构还是B/S架构,都摆脱不了数据库。一个具有规模的电商购物网站[3]必然包含覆盖人们生活方方面面的商品,呈现商品数量大、种类多的特点。同时,以我们目前的人口规模来看,一旦平台成功打开市场,面临的用户数量也将是亿级的。此时,Web应用系统与后台数据交互环节的可靠性,毋庸置疑是极其重要的。一方面,用户通过Web应用系统访问并获取商品数据,应当又快又准,比如当平台开展促销活动时,商品组合购买可以享受优惠是一种常见的促销方式,如果后台计算的商品价格与展示给用户的优惠价格不一致,毫无疑问将会失去用户的信任。另一方面,用户提交的数据不做校验或未校验出错误,出现数据类型不匹配、数据分割有误等情况,轻者造成操作失败影响用户购物体验,重者引起系统宕机。因此数据交互测试也是必不可少的环节。

2.2  界面测试

界面测试是指检查网站首页、商家主页以及商品详情页的布局是否合理,控件摆放位置是否符合用户习惯,界面是否具有易用性特点等。

2.2.1  导航页面测试

导航页面通常位于电商网站首页的头部区域,是面向用户的第一个功能,起到展示商品分类以及跳转的功能。针对导航部分,通常需要检查测试其是否直观、是否易于导航,平台提供的商品是否全部纳入导航的分类、是否可以轻松跳转至用户想要的商品门类,页面结构、导航、菜单、链接的风格是否一致,是否需要站点地图、导航帮助等。

2.2.2  图形测试

通常,电商网站上的图形分为带链接的图形与不带链接的图形。针对不带链接的图形,在测试过程中应当关注其像素大小(如像素过小则显得模糊,像素过大则影响加载速度),图形中的字体风格与整体页面是否一致,图形的颜色与整体页面是否协调,图形的比例拉伸是否正常等。而针对带链接的图形,应当在做好前文所述测试的基础上,确认链接有效,跳转页面无误。

2.2.3  内容测试

内容测试通常用于验证Web应用系统提供信息的准确性。以电商类应用为例,平台商家的商品信息展示必须准确无误,如果商家设置的商品信息与页面展示的信息不一致,则会同时造成商家与顾客的损失,用户也会因此产生对平台的质疑。

2.2.4  整体界面测试

整体界面测试是指由测试人员对整个页面的布局、结构、色调进行一个主观的判定,同时广泛邀请第三方进行实测与点评,目的是测试用户是否能够依据自身的上网习惯快速找到想要的信息、想用的功能。

2.3  性能测试

软件的性能测试[4]是保证软件质量的重要环节,对于一个软件产品,用户除了关注其有哪些功能之外,最在意的便是其是否“好用”。而在性能测试中,“好用”可以用几个指标来描述,如“响应时间”“吞吐量”“资源利用率”“并发数”等。要了解软件在各种场景下的具体指标,可以借用自动化测试工具来测试。要让软件“好用”,可借助如图3所示的JMeter工具,进行以下几个方面的测试。

2.3.1  负载测试

负载测试是指模拟软件在实际运行过程中,在负荷比较大的情况下逐步增加负载量,观察软件的运行指标是否处于正常状态。本文所述的电商类Web应用,针对其进行负载测试,通常采取逐步增加访问用户数,模拟用户登录、商品关键字搜索、商品收藏、商品购买等操作,观察不同负载情况下的系统响应时间、消耗资源,找到最大可接受用户并发数。

2.3.2  压力测试

压力测试是指模拟软件在高负载的情况下,测试系统能否稳定运行。与负载测试的侧重点不同,压力测试所关注的是一段時间内,持续的大流量访问行为是否会导致系统响应过慢,系统出错,甚至是系统崩溃。本文所述的电商类Web应用,商家进行促销活动时,往往能吸引到平时几倍的用户,促销期间的系统稳定性至关重要,软件开发者需要预估平台活动时间内的最大用户数,保证活动期间系统的平稳运行。

2.3.3  并发测试

并发测试是指模拟一定数量的用户在某个时刻同时向服务器发起请求,等待服务器响应的测试行为,目的是观察系统在高并发情况下,是否会发生内存泄漏、资源竞争、线程锁等问题。电商类网站最常见的促销活动是“整点秒杀”类活动,商家通常会提前预告在某个时刻放出少量的低价商品吸引用户抢购,接近抢购时间时用户数会瞬间达到峰值,此时订单提交与支付功能的正常与否便是并发测试的主要任务。

2.4  兼容性测试

兼容性测试是指针对该Web应用在特定的硬件平台上不同的操作系统、浏览器进行的软件测试,目的是保证Web应用能在不同的软件平台上流畅运行。

目前主流的操作系统有微软公司的Windows、苹果公司的macOS以及开源维护的Linux。考虑到当前用户群体的个人喜好,结合产品的市场占有率,应当主要考虑Windows和macOS的兼容性测试。针对Windows,至少覆盖Windows 11、Windows 10、Windows 7,而针对macOS,则至少应覆盖近5年以上版本的操作系统。

相比于操作系统的兼容性测试,由于Web应用需借助浏览器访问,针对浏览器的兼容性测试要复杂得多。一方面,应当考虑浏览器的内核,如Windows自带的IE浏览器采用的是Trident内核,Chrome浏览器采用的是Blink内核,苹果的macOS与IOS以及Android默认的浏览器采用的是Webkit内核,此外,还有一部分主流国产浏览器也采用了上述内核。针对不同内核的浏览器,以及相同内核不同厂商的浏览器,应当进行广泛的测试。另一方面,由于浏览器不可能毫无缺陷,厂商也会持续不断地对浏览器进行更新迭代,所以测试时应当把浏览器的版本情况考虑在内。综上,鉴于无法完成百分百覆盖面的测试,所以我们应当结合市场调研,基于绝大部分用户的使用习惯完成兼容性测试。

2.5  接口测试

Web应用的正常运行离不开前端与后台的数据交互,交互数据通过接口实现传递,接口设计的准确性影响着数据传递的准确性[5],测试人员需要对接口进行严格全面的测试。

以电商类Web应用系统为例,商家对于商品的储备应当是确定的值,当用户购买商品时,需要向服务器发起请求并等待响应,待服务器确认商品尚有库存,则会执行商品购买流程,更新服务器数据并将购物成功的结果反馈到前端,告知用户确认下单成功,以上是简化的业务流程,实际步骤要复杂得多。

本文所述的测试场景,宜采用Postman工具与基于Python的requests类接口测试相结合的方法,对网站进行全面的接口测试。

2.6  安全性测试

Web应用的安全性测试也十分重要,尤其是电商类Web应用系统。测试人员需要在系统上线发布前找到潜在的漏洞,并对这些漏洞进行修复,减少被黑客利用的可能性。然而,黑客的攻击技术日新月异,而绝大多数网站或多或少都需要开放一些接口给用户,这就必然有产生漏洞的风险,此时就需要测试人员针对系统做一个全面的安全性测试。通常需要包含SQL注入、XSS注入、CSRF注入、文件上传漏洞、命令行漏洞、XXE漏洞、DDOS攻击、加密与认证漏洞、钓鱼与网页跳转等方面的测试。针对以上安全性问题,可以借助包括但不止于表2所列的工具进行扫描定位,从而发现并修复漏洞。

3  结  论

在Web应用蓬勃发展的当今,软件测试作为保证应用实用性与可靠性的重要手段。本文基于电商类Web应用系统的测试实践,结合当前主流的测试工具,总结了一套普适性的测试方法,读者可结合实际选取其中的测试思路与方法。

参考文献:

[1] 李天翼.12306互联网售票系统测试的实现 [J].铁路计算机应用,2016,25(10):27-30.

[2] 万玲娜.基于Web的社区销售平台设计与实现 [J].现代计算机,2022,28(22):103-108.

[3] 王晨.基于微服务架构的电商平台的设计与实现 [D].西安:西安电子科技大学,2021.

[4] 张彦.Web应用软件测试方法的研究 [J].电子世界,2017,526(16):92.

[5] 杨清玉,李金丽,陈吉兰,等.HTTP接口自动化测试方法研究 [J].微型机与应用,2016,35(18):22-25.

作者简介:陆佳(1992—),男,汉族,江苏太仓人,助教,硕士,研究方向:软件技术、就业指导;曹南岚(1993—),女,漢族,安徽安庆人,思想政治辅导员,硕士,研究方向:软件技术;刘宝阳(1991—),男,汉族,浙江温岭人,开发工程师,学士学位,研究方向:计算机应用与软件。

收稿日期:2023-01-30

猜你喜欢

软件测试电子商务
2025年我国农村电子商务交易额达到2.8万亿元
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
《电子商务法》如何助力直销
EXCEL和VBA实现软件测试记录管理
电子商务
关于软件测试技术应用与发展趋势研究
关于加快制定电子商务法的议案
电子商务人的核心能力
期刊订阅电子商务平台