`

重视B/S架构系统的发展和开发设计理念-引用

阅读更多

引用说明:原文来自于 http://125584192.iteye.com/blog/149917,为了方便本人阅读,文本格式略有调整。


    随着网络技术的快速发展,b/s架构的系统也更加流行和突出。很多从c/s架构或者没有涉及B/S开发的程序员都普遍认为Web开发只是小菜一碟,而往往带着这种思想去开发B/S架构的系统会带来很多麻烦,造成系统框架不合理、系统界面丑陋无比、系统运行效率低下、系统安全性低下等一系列后遗症,对商业系统更是一种糟蹋……
    因此Web系统的观念需要正确对待,他已经不是单纯的一个技术系统,它涉及了html、美工(web设计)、框架设计等
    诚然国外有很多软件公司是数据库、系统代码、美工、网页设计等都是分工合作的,而作为目前大陆不成熟的软件作坊来说,一个程序员的能力是来自多方面的,我想更多的武装才能有更好的成就和竞争力度!
    以下附上一篇网友的佳作,从一个“测试”面来说明Web系统的重要性和相关知识,与大家共享。

基于Web的系统测试方法
    摘要
  随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布 式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。
  Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它" 使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。
  在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
  在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。
  一般软件的发布周期以月或以年计算,而Web应用的发布周期以天计算甚至以小时计算。Web测试人员必须处理更短的发布周期,测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。
一、功能测试
  1、链接测试
  链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。
  链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web应用系统的所有页面开发完成之后进行链接测试。
  2、表单测试
  当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
  3、Cookies测试
  Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
  如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。
  4、设计语言测试
  Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的HTML等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、JavaScript、 ActiveX、VBScript或Perl等也要进行验证。
  5、数据库测试
  在Web应用技术中,数据库起着重要的作用,数据库为Web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在Web应用中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理。
  在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。


二、性能测试
  1、连接速度测试
  用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
  另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
  2、负载测试
  负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?
  3、压力测试
  负载测试应该安排在Web系统发布以后,在实际的网络环境中进行测试。因为一个企业内部员工,特别是项目组人员总是有限的,而一个Web系统能同时处理的请求数量将远远超出这个限度,所以,只有放在Internet上,接受负载测试,其结果才是正确可信的。
  进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
  压力测试的区域包括表单、登陆和其他信息传输页面等。

 

三、可用性测试
  1、导航测试
  导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个Web应用系统是否易于导航:导航是否直观?Web系统的主要部分是否可通过主页存取?Web系统是否需要站点地图、搜索引擎或其他的导航帮助?
  在一个页面上放太多的信息往往起到与预期相反的效果。Web应用系统的用户趋向于目的驱动,很快地扫描一个Web应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。
  导航的另一个重要方面是Web应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道Web应用系统里面是否还有内容,内容在什么地方。
  Web应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。
  2、图形测试
  在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:
  (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。
  (2)验证所有页面字体的风格是否一致。
  (3)背景颜色应该与字体颜色和前景颜色相搭配。
  (4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。
  3、内容测试
  内容测试用来检验Web应用系统提供信息的正确性、准确性和相关性。
  信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。
  4、整体界面测试
  整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致?
对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。
  对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。

 

四、客户端兼容性测试
  1、平台测试
  市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。
  因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。
  2、浏览器测试
  浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、JavaScript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,JavaScript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。
  测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。

五、安全性测试
  Web应用系统的安全性测试区域主要有:
  (1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。
  (2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
  (3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。
  (4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。
  (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。

 

六、总结
  本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于Web的系统测试方法。
  基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。
来自:http://bietile.bokee.com/2762880.html

分享到:
评论

相关推荐

    b/s架构系统通用客户端

    【描述】中提到的“B/S架构系统通用客户端”是一个专为运行在Windows操作系统上的应用设计的工具,它的主要功能是为用户提供一个无需安装、不依赖任何插件的便捷方式来连接基于B/S(Browser/Server,浏览器/服务器)...

    B/S架构和C/S架构的区别和优缺点

    随着互联网的发展,B/S架构因其灵活性和易用性,成为了现代企业信息系统开发的主流选择。然而,随着技术的进步,C/S架构也在不断进化,例如引入微服务、云原生等理念,以提高其可扩展性和灵活性。总的来说,C/S和B/S...

    毕业设计 基于B/S架构 购物网站的设计与实现

    ”表明这个项目具有高度的价值和实用性,可能包含了一整套完整的开发过程,包括需求分析、系统设计、编程实现、测试及文档编写,对于学生进行毕业设计或者理解实际项目开发流程具有极大的帮助。 【标签】:“软件...

    基于b/s的图书管理系统毕业设计源码

    【基于B/S的图书管理系统毕业设计源码】是一款采用Java技术构建的Web应用程序,它以Maven项目的形式提供,能够方便地导入开发环境进行运行。系统的核心目标是实现图书馆日常管理功能,包括书籍的录入、借阅、归还、...

    C#开发的,物流系统,基于b/s架构

    这个名为“C#开发的,物流系统,基于b/s架构”的项目,是利用C#编程语言构建的一个基于浏览器/服务器(B/S)架构的物流管理系统。下面将详细介绍这个系统的关键知识点。 首先,C#是一种由微软开发的面向对象的编程...

    仓储系统管理平台(B/S架构)

    本套仓库管理系统系统采用B/S架构,使用方便,无需在客户端安装软件,大大简化了电脑负荷,降低用户成本,而且能够有效保护数据和管理访问权限。采用最稳定的主从式SQL数据库,在多人同时存取资料时可保持最佳的同步...

    ERP的C/S与B/S架构对比分析

    :B/S结构的大型管理软件有着c/s结构软件无法比拟的优势。而从国外的发展趋势来 ...从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大 型管理软件势必在将来的几年内占据管理软件领域的主导地位。

    基于Java的B/S结构的人力资源管理系统实现+java源码+Sql数据+页面

    在信息技术飞速发展的今天,企业对人力资源管理的需求日益增强,而基于B/S(Browser/Server)架构的人力资源管理系统因其便捷性、高效性和可扩展性,成为了企业管理的重要工具。本系统是利用Java技术栈,结合Servlet...

    基于B_S架构网上商城系统的设计与实现+文档+源码.rar

    综上所述,基于B/S架构的网上商城系统设计与实现是一个涵盖多方面技术的综合性工程,从需求分析、系统设计到实际开发,都需要扎实的技术基础和丰富的实践经验。通过深入学习和实践,我们可以构建出高效、安全且用户...

    银行系统 B/S架构 SSH框架

    银行系统采用B/S(Browser/Server,浏览器/服务器)架构是一种常见的软件开发模式,它将应用程序的客户端部分放在Web浏览器上,而服务器端则负责处理业务逻辑和数据管理。这样的设计使得用户可以通过互联网访问系统...

    员工信息管理系统(B/S结构)

    在实际开发过程中,开发者需要根据业务需求进行系统设计,包括数据库表结构的设计、前后端接口的定义、业务流程的梳理等。同时,为了保证系统的稳定性和安全性,还需要进行性能优化、异常处理、数据备份和恢复等措施...

    用java编写给予B/S架构的指纹识别系统

    在本项目中,我们关注的是一个基于B/S(Browser/Server,浏览器/服务器)架构的指纹识别系统,该系统使用Java编程语言进行开发。这样的设计允许用户通过Web浏览器进行操作,而无需安装特定的客户端软件,提高了系统...

    医院管理系统( c/s架构 c#)

    总之,这个C/S架构的C#医院管理系统,通过合理的设计和高效的实现,为医院提供了全面的信息化解决方案,提升了医疗服务的效率和质量。未来,随着技术的进步,这样的系统有望实现更多智能化、个性化的服务,进一步...

    本科毕业论文 基于B/S的ERP人力资源管理子系统的设计与开发

    ### 本科毕业论文:基于B/S的ERP人力资源管理子系统的设计与开发 #### 摘要及关键词解析 本论文围绕“基于B/S的ERP人力资源管理子系统的设计与开发”这一主题展开研究,旨在探讨如何利用现代信息技术手段,特别是...

    基于B/S架构的毕业设计选题系统的设计与实现

    B/S架构是一种常见的互联网应用模式,用户通过浏览器访问服务器上的应用程序,无需在本地安装任何软件,方便用户和管理员使用。 【描述分析】 描述中提到,这个项目包括完整的本科毕业论文和全部开发代码。这表明,...

    B/S架构的聊天系统

    - 详细的文档:系统设计文档、开发日志、用户手册等,帮助理解系统的整体架构和使用方法。 - 源代码:包括前端的HTML、CSS、JavaScript,后端的Java代码,以及数据库相关的SQL脚本,供开发者学习和参考。 - 数据库:...

    C# B/S架构的房屋中介管理系统

    总的来说,“C# B/S架构的房屋中介管理系统”是一个很好的学习项目,可以帮助初学者提升编程技能和理解企业级应用的开发流程。然而,由于其设计较为简单,可能不适合直接用于大规模的商业运营。在实际应用中,可能...

    网页模板(B/S管理框架模板)--新模式设计

    【网页模板(B/S管理框架模板)--新模式设计】是一种专门用于构建Web应用程序的预先设计的界面布局,它基于浏览器-服务器(B/S)架构,旨在快速搭建高效、美观且功能丰富的管理平台。这种模板通常包括一系列预定义的...

Global site tag (gtag.js) - Google Analytics