文/方姹
近年来,基于Web的各类网站层出不穷。为了减少软件故障,保证用户能够正常使用网站,对网站进行系统的功能测试显得尤为重要。
早在1983年ΙEEE就给出了软件测试的定义:“使用人工或自动手段来运行或测定某个系统的过程,目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”。软件测试方法从程序执行上分为人工测试和自动化测试。
自动化测试,即在预先设定的条件下运行被测程序并分析运行结果。对于手动测试,在设计了测试用例后,根据测试用例一步一步执行得到实际结果,并与期望结果进行比对。手动测试可以发现新的功能缺陷,自动化测试可以加快测试速度。
Web应用软件就是常说的B/S结构的软件,电子招投标交易平台就是典型的Web应用软件。多个用户可同时使用客户端,并均通过ΙE浏览器访问服务器端。图1为Web应用软件的典型结构。
电子招投标交易平台是一个基于Web的网站,其特点如下:
(1)基于无连接协议;
(2)演化频繁;
(3)并发处理能力要强
在测试过程中采取分层的策略。
表示层的测试集中在Web前端,主要关注软件的界面,测试内容包括:
(1)UΙ测试;
(2)链接测试;
(3)前端页面功能测试。
业务层的测试集中在Web后端,主要关注软件的业务逻辑,测试内容涉及到后端的包括:
(1)单个功能点测试;
(2)一组功能点测试。
数据层的测试主要技术在Web后端,主要关注后台数据库,测试内容包括:
(1)数据完整性测试;
(2)大数据性能测试。
图3:LR中200用户并发操作场景设置
电子招投标交易平台功能测试包括电子招投标交易平台会员端、管理端、投标文件制作软件、网上开标大厅、网上开评标系统、电子招投标交易云平台六个系统。涉及房建工程、水利工程、公路工程等通用范本共计24套,有公开招标和邀请招标等招标方式。
电子招投标交易平台功能测试主要依据GB/T25000.51-2016《系统与软件工程 系统与软件质量要求与评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》。
(1)制定测试计划,包括人员安排、进度安排等,测试过程中按照测试计划执行。
(2)测试开始前对每个页面的按钮菜单或每个模块功能都写出详尽的测试用例,在设计测试用例时,包含给出正确结果和错误结构的输入条件。
(3)测试过程中根据测试用例执行测试,并全面检查测试结果,产生的bug及时在管理系统中记录并跟踪。
手工测试依据需求文档来检查功能是否符合说明,很难执行所有的测试用例来发现全部的bug,那就要从测试用例管理系统中挑选出代表性的测试用例,利用这些测试用例暴露出程序存在的bug,主要利用等价类划分法和边界值法进行测试。
根据电子招投标的全流程编写的测试用例,测试人员主要通过手动触发在电子招投标交易平台上执行相关步骤。测试执行过程中,不仅要按照全流程的步骤进行操作,也要执行非法操作,看页面提示信息以及响应是否正常。
在执行过程中,发现的bug要及时上传至bug管理系统,待开发人员修改完毕后,进行回归测试,确认修复以后,关闭bug。
本系统面向全省公开使用,需重点关注当数据量达到峰值或者即将到达瓶颈的时候,电子招投标交易平台是否能正常工作。在本次测试中,采用HP Load Runner(LR)软件进行自动化测试。
4.5.1 LR简介
LR是一种适用于各种体系架构的自动负载测试工具,通过模拟实际用户的操作和进行实时性能监测,来帮助用户排查和发现问题。
4.5.2 测试场景设置
使用LR设置如下两个场景,并在场景运行时,测试电子招投标交易平台是否正常工作。
场景一:设置3000用户同时在线,其中,1000用户进行登录操作,1000用户在选择“招标代理”身份进行页面跳转,1000用户在工作台界面进行操作,持续运行30分钟。如图2所示。
场景二:设置200用户并发登录操作,集合点设置为:所有用户达到集合点时释放,持续运行5分钟。如图3所示。
当测试内容符合需求文档,并满足甲方要求可以正常上线使用时,需要整理最终版本的测试内容,包括测试点功能列表、bug数量统计及修复情况,测试相关策略等。以纸质文档形式输出报告。
本文通过对电子招投标交易平台功能测试方案的研究和分析,可以更好的执行Web功能测试。研究确保UΙ层手工功能测试覆盖了各个页面的功能点,使用LR对服务器施压来判定Web应用软件是否能正常工作,并找出服务器的瓶颈,为系统之后的升级更新做打算。