Appium自动化测试基础--补充:C/S架构和B/S架构说明
1、C/S架构和B/S架构概念
(1)C/S架构
C/S架构即Client/Server
(客户机/服务器)结构,是大家熟知的软件系统体系结构。
通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
早期的软件系统多以此作为首选设计标准。
(2)B/S架构
B/S架构即Browser/Server
(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S架构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓三层架构结构。
B/S架构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
B/S架构成为当今应用软件的首选体系结构。
2、C/S结构与 B/S架构的区别:
Client/Server
是建立在局域网的基础上的。
Browser/Server
是建立在广域网的基础上的。
- 硬件环境不同::
C/S架构一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。
B/S架构是建立在广域网之上的,,不必是专门的网络硬件环境,而且信息自己管理。比C/S架构有更强的适应范围, 一般只要有操作系统和浏览器就行 。 - 对安全要求不同:
C/S架构一般面向相对固定的用户群,对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S架构适宜,可以通过B/S架构发布部分可公开信息。
B/S架构建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。 - 对程序架构不同:
C/S架构的程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S架构的程序侧重对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S架构有更高的要求。
B/S架构的程序是发展的趋势,一些新技术的推出,使B/S架构更加成熟。 - 软件重用不同:
C/S架构的程序可以不为整体性考虑,,程序的重用性不如在B/S架构的程序要求高。
B/S架构的程序侧重多重结构,要求构件具有相对独立的功能模块,能够相对较好的重用。 - 系统维护不同:
系统维护是软件生存周期中重要的组成部分,并且开销很大。
C/S架构程序的升级维护必须整体考察,处理出现的问题以及系统升级会非常困难,有时候可能是再做一个全新的系统。而且还需要用户从网上自己下载安装实现升级。
B/S架构程序基本上是由不同功能的模块组成,如果某个模块出现问题或者需要升级,单独维护该模块就可以,系统维护升级的开销可以减到最小。 - 处理问题不同:
C/S架构的程序面向人群比较固定,并且处理的问题在相同区域,安全要求高,与操作系统版本有一定关联。
B/S架构的程序建立在广域网上,面向不同的用户群,这是C/S架构的程序无法做到的,与操作系统平台关联最小。 - 用户接口不同:
C/S架构的程序多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。
B/S架构的软件建立在浏览器上,,有更加丰富和生动的表现方式,与用户交流。并且大部分开发难度降低,减低开发成本。 - 信息流不同:
C/S架构的程序一般是典型的中央集权的机械式处理,,交互性相对低。
B/S架构的程序信息流向可变化,如:企业与企业间的电子商务(B-B模式),企业与消费者之间的电子商务(B-C模式) ,企业与政府间的电子商务(B-G模式)等,信息流向的变化更象交易中心。
3、C/S架构和B/S架构优点和缺点
(1)B/S模式的优点和缺点:
B/S结构的优点:
- 具有分布性特点,可以随时随地进行查询、浏览等业务处理。
- 业务扩展简单方便,通过增加页面即可增加服务器功能。
- 升级维护简单方便,只需要改变页面,即可实现所有用户的同步更新。
B/S 模式的缺点:
- 响应速度不及C/S架构,随着AJAX技术的发展,相比传统B/S架构软件提升一倍速度。
- 不同浏览器之间的界面和刷新机制略有不同,有的时候需要根据不同的浏览器单独设计界面。但随着技术的发展,B/S架构软件用户体验效果与C/S架构的软件相差不多。
(2)C/S 模式的优点和缺点
C/S 模式的优点:
- 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度较快。
- C/S结构的管理信息系统具有较强的事务处理能力。
- 系统具有稳定性和安全性高。
C/S 模式的缺点:
- 只适用于局域网。
而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。
远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 - 客户端需要安装专用的客户端软件。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
还有系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。、 - 对客户端的操作系统一般也会有限制。
可能适应于Win7系统,但不能用于win8系统或Windows10系统,
或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下
Appium自动化测试基础--补充:C/S架构和B/S架构说明相关推荐
- Appium自动化测试基础 — 补充:Desired Capabilities参数介绍
下面介绍一下Desired capabilities的参数: 提示: Desired capabilities的参数非常的多,但是在我们实际的工作用,常用的也就是其中的几个,我们没有必要全部都记下来, ...
- Appium自动化测试基础 — APPium基本原理
1.APPium自动化测试架构 APPium是一个C/S架构的自动化测试框架,APPium的核心其实是一个暴露了一系列REST API的server.(也就是Appium的核心是一个提供了一组REST ...
- Appium自动化测试基础 — APPium安装(一)
三.APPium安装 我们要使用APPium测试框架,首先就需要安装APPium服务,Devices代表我们要链接的手机,Appium Client为我们写代码的客户端(也就是测试脚本,需要用哪个脚本 ...
- 史上最全 Appium 自动化测试从基础到框架实战精华学习笔记(一)
本文为霍格沃兹测试学院学员学习笔记,进阶学习文末加群. 对测试人来说,Appium 是非常重要的一个开源跨平台自动化测试工具,它允许测试人员在不同的平台(iOS.Android 等)使用同一套 API ...
- 虫师python appium自动化测试书_Selenium3自动化测试实战(基于Python语言)
导语 内容提要 本书共分14章,第1章介绍了自动化测试相关的基础知识.第2章到第10章是本书的重点,从环境搭建,到WebDriver API介绍,再到单元测试框架的使用,循序渐进地介绍了自动化测试所用 ...
- android课堂小测试,[小薇班]APPIUM自动化测试 优酷APP测试脚本编写实例
本课程主要包含: Appium入门基础 以优酷APP为例,介绍如何编写自动化脚本. Appium概述 appium 是一个自动化测试开源工具,支持 iOS, Android, Windows, Fir ...
- 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1 初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...
- 虫师python appium自动化测试书_Appium移动自动化测试(一)--安装Appium
这套教程年久失修,问题的人也比较多,于是,我重新整理了一套appium入门教程. ---------2017.11.16 更新----------------------- Appium 自动化测试是 ...
- python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...
- appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...
资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...
最新文章
- Python——with语句、context manager类型和contextlib库
- github php面试题,GitHub - johnsong261510/php_interviews: PHP 面试题汇总、剑指 Offer PHP 代码实现版本...
- pip install -r requirement.txt 后 提示No such file or directory: ‘requirements.txt‘
- django链接mysql网页显示数据_使用Django连接mysql数据库并显示在网页上
- Hibernate Collection乐观锁定
- python字符串重复_【python】判断一个字符串是否包含重复字符?
- 机器学习基础:支持向量机(Machine Learning Fundamentals: Support Vector Machine, SVM)
- iOS底层探索之类的加载(一):read_images分析
- 夜曲编程Python入门课程Pro
- android实现按键找图功能,从零学起之安卓篇《按键精灵安卓版找图找色应用汇总介绍》更新20140603 _ 教程中心 - 按键精灵论坛...
- Java毕业设计——>SpringBoot+VUE实现的前后端分离小米手机商城系统
- android 侧滑栏教程,Android控件开发——DrawerLayout侧滑菜单的实现
- PHP自学教程之PHP语法基础
- andorid xmlns:tools=“http://schemas.android.com/tools“是用来做什么的?
- cisco VoIP软电话配置实验
- Mac 下有哪些能极大地提高工作效率的软件?
- redis安装+客户端
- Element ui 组件中用键盘事件
- 大数据应用分析解决方案----图书出版
- 知道这些,seo操作精华也就懂了