1.应用软件逻辑结构 “C/S” 模式
-
用户界面层 UI
作用:为终端用户提供人机界面
-
业务逻辑层 BLL
作用:将数据库抽象出来的对象进行拼接成具体的业务逻辑对象,并对之进行流程组织
-
数据访问层 DAL
作用:对DB层做的ORM,让上层应用程序以对象的方式操控数据库
-
数据持久层 DB
作用:存储数据,对数据进行持久化,不同的客户端进行数据共享
在传统的 C/S 架构下应用程序(如,Windows下客户端应用程序),一般是一台中央数据库服务器( DB ),然后对应N台客户端(DAL-BLL-UI )。
2. 互联网软件架构 “ABC/S” 模式
-
APP/Server
-
Browser/Server
-
Client/Server
本质上就把UI这一层放在客户端,把UI以下放在Server端。
客户端在不同的平台下面有不同的表现形式,就形成了现在流行的所谓的 “ABC/S” 模式的架构,这个基本上已经成为目前的互联网产品的标配了。
3. 软件测试方法变化
基于以上模式之后,软件测试的方法论就发生了一些变化:
- 有了 性价比 最高的“基于于通讯编码格式的接口测试”,属于花20%就能解决80%的工作
- 接口测试完全可以进行自动化,而且不必强制和开发项目使用相同的语言,可以统一使用效率较高的脚本语言
- 接口 天然就具有稳定性的需求,所以自动化测试项目不会存在反复折腾的现象
- 接口测试人员成为了众多平台之间的 裁判员
- 接口规范来自设计文档,可以实行 设计产生测试,测试驱动开发 的规范模式
注:服务器端和客户端之间采用 Http/Https 的通讯协议,数据交换的格式为 Xml/Json 格式。
想在软件测试中深入发展的几个建议:
- 软件的本质不是界面而是数据
- 要了解软件的本质,必须必须要有良好的计算机基础
- 从事互联网行业的人可以熟悉linux,尽早建立这种 软件即数据 的世界观
- 接口做自动化测试是最投入回报比最高的(来自Google的工程师的观点)
- 要想做好自动化测试,必须有软件开发能力和系统的设计能力
参考文献:https://blog.csdn.net/zoulonglong/article/details/78775832