王文东
摘要:软件测试在软件开发全部过程中是关键性环节,它对软件的治疗产生着决定性作用。文章对软件各个开发阶段中需要进行软件测试进行了阐述。针对以B/S结构为基础的软件测试技术展开了深入的分析和详细的介绍。
关键词:B/S结构;软件测试;软件结构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)11-0096-03
B/S结构全名为Browser/Server,即浏览器和服务器结构。两种结构的联合形式是在互联网技术的兴起下对C/S技术进行改造的重要技术。利用该种结构可以通过WWW浏览器实现,少量的实现是在事物逻辑前端(Browser)中,服务器端(Server)中实现的主要是事务逻辑,以上三者之间相互综合,形成三层3-Tier结构,对客户端电脑载荷进行了充分简化,同时对系统进行了维护和升级,降低了系统的复杂性,通过降低升级,可以有效减少成本并减少工作量,实现用户总成本的降低。该结构的软件系统自身的特征,促使其成为软件系统测试中采用的特殊技术。
本文的主要内容是以Web为基础,以B/结构软件系统为对象,分析该技术在软件测试中的应用。比较以Web为基础的测试和传统软件测试之间的相同和不同之处,针对软件测试提出了全新挑战。将Web作为基础的系统测试不但需要对设计的要求运行进行检查和验证,同时还要对系统在不同用户中的浏览端的显示进行评价,更重要的是,还要在最终的客户角度实行安全性和易用性测试。
1 B/S结构软件的特点
B/S结构软件系统具有一定的特殊性,因而使得测试和其运用的测试技术同样存在特殊性。B/S结构软件系统的特征主要有以下几点:
后台服务的访问需要借助客户端浏览器;界面的展示方式为网页表单;运用了B/S结构的软件系统客户端通常情况下只能完成浏览、查询和数据输入等较为简单的步骤,多数工作的承担着是服务器;用户信息的保存主要采用的方式为Cookies;信息传送网站为万维网。
Web应用软件的基础是HTTP协议以及HTML进行构建的,这样会使得Web应用软件需要完全遵循统一的结构,Web应用软件在运行中较为典型的结构应如下图1所示:
2 B/S 结构中 ERP 系统
2.1 B/S 结构中 ERP 系统特点与难点介绍
B/S 结构 Web 应用系统的早期使用技术应用不多,在网络技术发展下,B/S结构越来越复杂,较多的框架和设计模式在不断出现。实现了技术的持续更新,以及ASP、JSP、XML、CSS等技术的相继出现以及Struts的广泛性使用。B/S结构系统规模的不断扩大,其安全性能逐渐变成了B/S结构的重点。[1]
ERP管理软件不同于其他如见。管理会计是它的核心信息系统,目的是为了规划和识别企业的资源,获取订单、加工订单、订单交付等,最后是等待客户付款。其中涉及了多种敏感信息例如企业财务、人力资源和采购途径等,因此,ERP必须要具备较高的安全性和精确性。
基于B/S结构管理软件ERP的特征,需要以B/S结构为基础,对ERP提出更高要求。但是互联网具有不安全性,这同ERP系统的高度要求是严重背离的,对此在B/S结构基础上的ERP要符合安全超文本传输协议(HTTPS)。SSL是利用40位关键字并采取RC4流加密算法,实现商业信息的加密。B/S结构系统要保证程序具备高度健壮性,并且要实现互联网爬虫软件调数据或修改数据情况进行截获,一般会要求程序针对变化做出快速反应。
2.2 软件测试
软件开发需要在不同的阶段接受测试,依据行业的需要确定测试的开端。针对ERP行业的软件来讲,测试越早则对实际开发帮助性就越大。实施学习与概念阶段自我测试,此时并不具有确切的测试标准,主要是为了对行业的具体情况进行了解,同时掌握专业术语和熟悉基本业务流程。在多方面的考察和验证中提高自身的行业了解程度。
需求分析阶段测试要比学习和概念测试更重要,阶段知识学习中对该领域知识实现有效的学习,该过程在获取知识中具有主动性。需求阶段中主要是要和客户共同讨论,依据客户的具体需求,将符合公司业务的内容嵌入其中,这一阶段十分特殊,其中会将浪费资源的功能进行删除,对此同客户进行交流很重要。该阶段要进行反复测试,多沟通,有效实现客户所提出的所有功能,帮助客户将其需求理解进行功能文档化,再向客户进行提交,并对文档结合客户意见进行修正。针对需求量化与结构,要详细给出相应数据[2]在几次的反复修正和测试后,就会达到客户的预期了。
系统设计阶段和系统实现阶段两者是开发期的主要内容,该阶段在测试中有着重要作用,它同软件产品设计的成功和失败之间存在直接性联系。所以项目的设计必须有带领者,清楚的了解系统的功能和结构,完成客户要求的每一个功能,并且协调部分功能。这部分需要反复对照和分析客户的需求,若问题不够清楚,则需要想客户进行再次确认,着同样是一个测试过程。在经过系统编码阶段后,验证客户的各种要求。测试的主要方式是黑盒和白盒测试。
3 Web软件测试技术
Web应用软件测试技术主要指人们通常所说的B/S结构软件。全部软件主要集中在服务
器端,用户端主要在标准浏览器下对服务器端进行访问。一般情况下,Web应用软件是可以被多个用户在相同时间使用的,有的甚至可以每天为千千万万和用户同时人提供访问。
和普通的软件系统比较,Web应用软件具备一定的特殊结构,Web应用软件的开发主要在固定结构中对相应的部分进行填充,而不是依据相应的需求通过开发人员对结构进行设定。对此Web应用软件的测试和运行会严重受到环境的制约,尤其在单元和集成测试中。[3]Web应用润阿金系统测试中可能和其他软件在以下几方面存在不同。
3.1 链接测试上的差异
链接主要是在Web软件基础上的主要特征,其是页面切换与用户引导不同功能页面的重要途径。链接测试主要针对的是整个Web应用软件,不是单方面的页面。此外,需要在面对服务器端中生成页面及链接,并不是形成单一的页面。要对页面上可能出现的所有链接进行测试。对每个链接进行测试,测试其是否和页面以及服务器端程序之间是相互联系的,若是相互联系的是服务器端程序,则需要对页面进行测试后,将用户输入符合的对应程序进行输入并提交。保证Web应用系统中不会出现孤立性页面,也就是不应出现没有链接指向的页面,只有得知了正确URL地址,才能实现访问。链接测试需要在集成测试阶段中完成,也就是说,要在完整的Web应用系统中对全部的页面实现开发后才能进行链接测试。
3.2 Cookie测试
Web中应用软件的特殊机制之一就是Cookie测试,它可以对信息进行存储并实现在Web软件上实行过的一些操作作为序列,在用户使用Cookie信息对某些页面进行访问时,Web会发送一些和用户相关的信息,并且将该信息通过Cookie形式在客户端计算机中进行储存,并创建动态和自定义界面,或是对登录信息进行储存等,这些会保证客户端和服务器的连接。在测试Web应用软件中,必须对Cookie是否可以正常工作进行测试,是否可以起到相应的作用,并按照预定时间来保存,并且刷新Cookie产生的影响。
3.3 兼容性
系统有时会出现异常情况,这主要和他的系统不兼容造成的。兼容性测试就是要检验被测试的应用系统和其他系统之间的兼容性。[4]对于B/S结构下的Web应用软件的测试,兼容性测试过程主要是在对不同浏览器检查或是在相同浏览器中的不同版本或是浏览器的不同设置对应的系统影响。保证可以对主流浏览器和一般设置进行兼容。
3.3.1 测试平台
市场上有很多不同的操作系统,其中最常见的就是Windows、Linux、Unix等。Web应用系统中最终的用户会采取哪一种操作系统,主要取决于用户的系统配置。这样,极易出现兼容性问题,相同的应用在某些操作系统中依然可以保持正常运行,但是在其他的操作系统中就很有可能会出现失败。对此,在发布Web系统前,需要在不同的操作系统中针对Web来实行兼容性测试。[5]
3.3.2 测试浏览器
在Web客户端中,浏览器是最关键的构建,不同厂商出产的浏览器对于Java、ActiveX、javascript和HTMl规格实行不同的支持。如:ActiveX的生产者是微软公司,是专门为Internet Explorer设计的,Java是Sun设计的产品等。此外,框架和层次结构风格在不同的浏览器中也会出现不同的显示,或是无法显示情况。在不同浏览器中,安全性和Java设置是存在一定差异的。浏览器的兼容性测试方法还有一种是先创建一个兼容性矩阵。在该矩阵中,对不同厂商、版本所生产的浏览器在某些构建和设置中的适用性进行测试。
3.4 并发访问测试
由于Web软件中一般不存在服务器端程序的直接性通信,服务器端程序的并发主要是受到Web服务器的控制,对此,服务器的并发测试很重要。若面向公众将Web网站的应用系统作为基础,连接速度的测试会十分重要,这是因为多数用户在5s以上的时间未获得页面响应情况就会离开。[6]Web应用软件中常见的问题是,服务器端程序若利用的是某种方式对客户端的连接状态进行记录时,在多个用户向同一服务器端程序访问的过程中,可能会存在冲突,因而在对整个系统进行测试中要特别针对该种情况进行测试。
3.5 安全性测试
Web应用软件一般会对公众进行开放,因此其安全性对于整个系统是非常重要的。Web应用软件的安全性不但和Web自身的额开发存在联系,还和Web应用软件的运行主体系统的安全检测和防护存在联系。严格意义上,系统的安全漏洞也就是指系统的缺陷,这是系统测试的范畴之一。
Web安全性测试的区域主要为:当前Web应用系统主要采取的是先注册后登陆方式。对此,需要测试其有效和无效的用户名与密码,同时注意大小写等情况,限制尝试的次数,以及可以进行登陆直接对某个页面进行浏览等。
Web应用系统中的时间是否存在限制,指的是用户在登陆后一段时间内,如10分钟内,没有点击任何页面,则是否重新进行登陆才能保证对其的正常使用。
为了实现Web系统应用的安全性,日志文件的保密性是最关键的。需要对相关信息是否在日志文件中涉及,是否可以追踪进行测试,
在使用了安全套接字过程中,要对加密的正确性以及信息检查的完整性进行测试。
服务器端脚本经常会出现安全漏洞,因而恰好可以被黑客所利用。对此还要对是否经过授权进行测试,若没有经过授权则不能在服务器端在脚本中放置和编辑。[7]
4 小结
以B/S为基础的Web应用软件测试是十分复杂的系统任务,该结构的软件测试方法和传统软件测试之间存在一定的差异,且具有一定的特点。文章对两种软件的测试进行了论述,分析了不同软件测试方法中会产生的测试结果。未来针对B/S结构的研究还会继续深入,测试方法和手段还会进一步加强,只有这样才会保证B/S的软件质量和应用效果。
参考文献:
[1] 宋俊雅,王鹏彪,黄俊爽,郭凌云.B/S结构软件的系统测试技术[J].科技信息,2010(10):247-248.
[2] 侯召成,刘伟,翟宜峰,熊璋,蒲菊华.基于B/S结构的南水北调建管系统测试研究[J].水资源与水工程学报,2010(6):67-71.
[3] 李志峥,杨社堂.基于B/S结构下的软件系统测试研究[J].科技情报开发与经济,2006(7):232-234+251.
[4] 查修齐,吴荣泉,高元钧.C/S到B/S模式转换的技术研究[J].计算机工程,2014(1):263-267.
[5] 庄元东.基于B/S结构下软件系统的测试研究[J].计算机光盘软件与应用,2014(14):90-91.
[6] 王海龙,乔军,徐新国.B/S结构ERP管理软件的测试方法研究[J].物联网技术,2013(3):48-50.
[7] 魏建军.基于B/S结构的银行业务系统测试方法[J].中国金融电脑,2004(7):53-54.