第21章 分层架构软件测试

目录

一、主要内容

二、分层架构概念

三、分层架构的层次

1、表示层

(1)概念

(2)采用的方式

2、服务层

3、业务逻辑层

4、数据层

四、分层架构优缺点

1、优点

2、缺点

五、表示层质量特性

1、常规测试项

(1)内容显示和必输项检查

(2)按钮/链接正确性检查

(3)通用检查

2、基于web端的表示层测试

(1)浏览器可移植性测试(重要考点)

(2)页面性能测试

(3)Web端涉及的质量特性

3、基于PC端的表示层测试

(1)安装/卸载测试

(2)在线升级测试

(3)网络切换测试

(4)可移植性测试

(5)PC端涉及的质量特性

4、基于移动端的表示层测试

(1)安装/卸载测试

(2)切换测试(网络切换、前后台切换)

(3)在线升级测试

(4)安全测试(软件权限、应用安全)

(5)性能测试(启动耗时、CPU、内存、耗电量、流量、功耗、流畅度)

(6)可移植性测试

(7)移动端涉及的质量特性

五、表示层测试策略

1、需特别关注软件易用性

2、表示层测试设计和实施的原则

六、服务层质量特性

1、功能性测试

2、信息安全性

3、性能测试

七、服务层测试策略

1、服务接口层测试设计和实施原则

2、接口测试质量评估的原则

八、业务逻辑层质量特性

1、功能性

(1)针对功能点

(2)针对业务流

2、信息安全性

(1)通过源代码审计的测试方法进行检测

(2)常见的代码问题

九、业务逻辑层测试策略

1、业务功能测试策略

(1)测试需求分析

(2)测试用例设计

(3)用例评审

(4)测试实施执行

2、代码审计测试策略

十、数据层质量特性

十一、数据层测试策略

1、数据库安全性策略

(1)一般用基于规格说明的测试技术,以人工功能检查为主要形式

(2)检查内容

2、性能效率策略

(1)采用TCP的性能测试标准和规范

(2)目前常用的性能测试规范

3、数据库的可靠性策略

(1)联机备份

(2)故障恢复

4、数据正确性与完整性策略

(1)采用基于规格规格说明测试方法,以手工测试为主

(2)测试内容

5、数据功能性策略

(1)测试点

6、数据迁移策略

(1)数据迁移测试的原则

(2)数据迁移涉及的用例

(3)数据迁移的测试方法


一、主要内容

下午题重要考点
1、分层架构介绍
2、质量特性
3、测试策略

二、分层架构概念

  • 分层架构是软件架构的一种范式,也是标准架构中的一种;
  • 它将架构分为若干个层次,每一层有各自的职责,层和层之间通过接口来交互和传递信息;
  • 本层不需要了解其它层的实现细节,只需要考虑与本层相关的两层之间的接口和调用的情况。

三、分层架构的层次

1、表示层

(1)概念

  • 也称为用户界面层,负责业务和视图的展开。

(2)采用的方式

  • 基于web端的表示层
  • 基于PC端的表示层
  • 基于移动端的表示层

2、服务层

  • 也称为应用层,为表示层提供各种服务的支持, 例如用户登录等。

3、业务逻辑层

  • 也称为领域层,负责业务的规则、业务的流程方面逻辑的实现。

4、数据层

  • 负责数据的访问、数据的管理服务,例如数据库,存储文件等。

四、分层架构优缺点

1、优点

  • 复用性强
  • 利于合作开发
  • 分层独立
  • 维护方便
    • 分层架构利于分层部署,利于扩展和维护。

2、缺点

  • 性能下降
    • 数据在层和层之间分层的传递,传递多了会带来性能的下降。
  • 成本增加
    • 需将软件先抽象出来,然后分层,然后再开发,所以开发成本可能会增加。

五、表示层质量特性

1、常规测试项

常规测试项中包含的是web端、PC端、移动端表示层的共同测试项。

(1)内容显示和必输项检查

  • 名称是否显示正确
  • 是否是必输项
  • 初始值及状态检查
  • 元素关联性检查
  • 信息内容正确性检查
  • 控件类型是否显示正确
    • 输入、输出、可视

(2)按钮/链接正确性检查

  • 按钮/链接点击后在没有得到返回前按钮需不可用
  • 点击按钮/链接后可正常跳转到相应界面或窗口执行

(3)通用检查

  • 风格一致(与同类界面视觉风格、字体、图标一致)
  • 标题显示(界面标题和任务栏显示的标题正确)
  • 元素位置(元素水平、垂直对齐)
  • 元素尺寸(元素尺寸合理,行列间距一致)
  • 窗口特性(切换、移动、改变大小、刷新时界面正常)

2、基于web端的表示层测试

(1)浏览器可移植性测试(重要考点)

主要基于不同类型的浏览器、不同的浏览器版本及分辨率构建浏览器的兼容矩阵,进行测试。
  • 浏览器矩阵

(2)页面性能测试

  • 响应时间的可接受度

(3)Web端涉及的质量特性

  • 可移植性
  • 易用性
  • 性能效率

3、基于PC端的表示层测试

PC端是指网络世界里可以连接到电脑主机的那个端口,是基于电脑的界面体系,它有别于移动端的手机界面体系。

(1)安装/卸载测试

(2)在线升级测试

(3)网络切换测试

(4)可移植性测试

(5)PC端涉及的质量特性

  • 可移植性
  • 易用性
  • 功能性

4、基于移动端的表示层测试

(1)安装/卸载测试

(2)切换测试(网络切换、前后台切换)

(3)在线升级测试

(4)安全测试(软件权限、应用安全)

(5)性能测试(启动耗时、CPU、内存、耗电量、流量、功耗、流畅度)

(6)可移植性测试

  • APP对不同机型的适用情况

(7)移动端涉及的质量特性

  • 可移植性
  • 易用性
  • 性能效率
  • 功能性
  • 安全性

五、表示层测试策略

1、需特别关注软件易用性

2、表示层测试设计和实施的原则

  • 在软件需求分析和用户界面设计阶段,测试人员职责是参入同行评审,了解软件需求和用户界面要求,以及使用场景和用户特点,根据经验,从测试角度提出建议
  • 测试人员在用户界面设计阶段结束后,可以提出对易用性问题的主观看法
  • 在测试设计阶段,测试人员职责是根据软件需求规格说明书、用户界面设计以及软件人机交互友好性、易用性的测试准则设计测试用例
  • 在测试实施阶段,测试人员职责是执行测试用例
  • 由于版本的更新,需求的变动,可能涉及用户界面的回归测试
  • 在上线之前,用户界面测试与功能测试同步确认一次,保证与最终版本的一致性
  • 一般情况下表示层测试不作为专项测试内容,可与其他质量特性的测试混合进行

六、服务层质量特性

1、功能性测试

  • 业务功能性测试(场景、异常场景)
  • 边界测试(基于输入输出的边界测试)
  • 单接口的不同参数组合测试
  • 多接口的不同业务组合(业务流)测试

2、信息安全性

  • 敏感信息是否加密
  • 身份认证
  • 注入
  • 信息泄露等

3、性能测试

  • 响应时间
  • 吞吐量
  • 并发数
  • 服务器资源(CPU、IO、内存、网络)

七、服务层测试策略

1、服务接口层测试设计和实施原则

  • 越早越好,越早发现BUG,修复成本越低
  • 检查接口的功能、性能
  • 对于前后端架构分离的系统,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求,需要后端从接口层进行验证;前后端传输数据等信息是否加密传输需要验证
  • 接口测试比较容易实现自动化测试

2、接口测试质量评估的原则

  • 业务功能覆盖是否完整
  • 业务规则覆盖是否完整
  • 参数验证是否达到要求(边界、业务规则)
  • 接口异常场景覆盖是否完整
  • 性能指标是否满足要求
  • 安全指标是否满足要求

八、业务逻辑层质量特性

1、功能性

(1)针对功能点

  • 对功能模块中所有存在输入条件的功能进行测试
  • 对功能模块中所有存在输出结果的功能进行验证测试
  • 对功能模块中所有存在业务规则的功能进行测试
  • 对功能模块中存在异常情况或错误数据处理的功能进行测试
  • 验证是否满足需求要求的所有功能,强调业务功能的完整性
  • 验证功能实现是否满足用户需求和系统设计的隐藏需求,强调业务功能的适合性

(2)针对业务流

  • 对流程中调用的对外接口进行测试
  • 对流程中的入口条件进行测试,验证其处理逻辑、错误控制等
  • 对主要的流程进行逻辑正确性验证,再覆盖多个流程分支的全流程测试

2、信息安全性

(1)通过源代码审计的测试方法进行检测

(2)常见的代码问题

  • 编码错误
  • 编码规范
  • 重复
  • 复杂度
  • 注释解释

九、业务逻辑层测试策略

1、业务功能测试策略

(1)测试需求分析

测试需求分析的三种技术
  • 基于需求的测试分析
    • 根据业务需求和系统设置明确的测试目标、测试条件以及功能点进行的测试
  • 基于流程的测试分析
    • 基于用户的连续操作行为(第一步做什么第二步做什么)实现业务的流程、系统的处理流程相关的测试
  • 基于经验的测试分析
    • 基于测试人员的技术和经验技术来分析系统可能出错的地方、找出系统最容易出错的功能点或场景进行测试

(2)测试用例设计

  • 业务逻辑测试用例设计的原则
    • 正反比原则
      • 正常的和异常的测试用例的比例
    • 检测当输入或输出为最大、最小、临界值时交易能否正确处理
    • 用例质量要求
    • 用例粒度要求
      • 主要根据不用的测试项目,测试负责人会制定对应的测试粒度要求
    • 测试用例分级
      • 基于业务逻辑的重要程度对测试用例级别进行划分
  • 业务流程测试用例设计测试执行的原则
    • 检测系统正常的业务处理、流程是否能够正确执行
    • 检测关联系统在正常情况下的协调运作情况
    • 检测系统异常的业务处理、容错处理是否能够正常执行
    • 检测关联系统存在异常时,本系统是否能够正确判断

(3)用例评审

  • 详细
  • 全面
  • 一致

(4)测试实施执行

  • 测试执行的原则
    • 先测功能后测流程
    • 先测主流程后侧分支流程
    • 先测系统内的流程,后测系统间的流程
    • 按优先级执行测试,并保存执行记录

2、代码审计测试策略

  • 源代码审计服务四个阶段
    • 代码审计前期准备阶段
      • 技术人员和客户代表对代码服务相关的技术进行详细的交流,由此确定代码审计的方案(哪些代码要审计、用什么方式审计、审计的时间、审计的要求等)
    • 代码审计实施阶段
      • 一般会用专门的代码审计工具扫描获取初步信息;
      • 然后对客户要求的功能点进行人工的代码审查,对源代码的扫描结果进行人工的分析和确认;
      • 结合自动化扫描的结果和人工审查的结果生成测试对象的代码审查报告,最后提交给客户;
    • 复测实施阶段
      • 代码审计报告提交和沟通之后,跟开发人员针对代码审查发现的问题进行修改,然后代码审查人员进行回归的检查,然后提交复查的报告;
    • 成果汇报阶段
      • 根据审查和复查的结果,整理审查输出的成果,最后生成代码审查报告。

十、数据层质量特性

  • 数据库可靠性
  • 数据库性能效率
  • 数据库安全性
  • 数据正确性与完整性
  • 数据库功能性
  • 数据可移植性

十一、数据层测试策略

1、数据库安全性策略

(1)一般用基于规格说明的测试技术,以人工功能检查为主要形式

(2)检查内容

  • 用户及口令管理
  • 授权和审计管理
  • 数据加密

2、性能效率策略

(1)采用TCP的性能测试标准和规范

(2)目前常用的性能测试规范

  • 针对OLTP系统的性能测试规范TCP-C
  • 针对电子商务应用的性能测试规范TCP-W
  • 针对大数据基准测试(OLAP)的性能测试规范TCP-DS

3、数据库的可靠性策略

(1)联机备份

(2)故障恢复

4、数据正确性与完整性策略

(1)采用基于规格规格说明测试方法,以手工测试为主

(2)测试内容

  • 数据库存储数据的方式
  • 数据类型和长度
  • 数据日期和时间字段
  • 国际化
  • 字符集编码

5、数据功能性策略

(1)测试点

  • 安装与配置
  • 数据库存储管理
  • 模式对象管理
  • 非模式对象管理
  • 交互查询工具
  • 性能检测与调优
  • 数据迁移工具
  • 作业管理

6、数据迁移策略

(1)数据迁移测试的原则

  • 完整性原则
    • 验证数据一条都没有少
  • 正确性原则
    • 验证数据绝对都是正确的
  • 适用性原则
    • 数据层旧系统迁移到新系统里面符合新系统的规范和要求
  • 有效性原则
    • 需要对老系统中不符合规范的数据进行清洗,必要时补充符合规范的数据内容
  • 安全性原则
    • 对敏感数据安全和保密方面的情况

(2)数据迁移涉及的用例

  • 老到新的记录条数对比
  • 老到新的字段的映射关系确认
  • 老到新的字段计算方法对比
  • 老到新的字段长度与精度是否一致
  • 老到新的字符串转移容易产生脏数据
  • 老到新的空值与NULL处理
  • 老到新的日期格式变化
  • 老到新的新增字段默认值问题
  • 老到新的清洗与规范处理,where条件
  • 老到新的系统中,雷同字段的差异
  • 数据对比
  • 从业务上来判断,在应用程序中做一个流程,验证数据是否正常

(3)数据迁移的测试方法

  • 技术核验
    • 由迁移验证程序来验证对比迁移前后的数据
  • 静态对比
    • 根据业务的需求,对关键的业务数据进行源和目的地之间的直接比较
  • 动态对比
    • 选择关键的业务功能,在新旧系统之间同时进行操作,验证新旧系统之间的运算结果是不是相同
  • 业务连续性验证测试
    • 使用存在的数据进行业务的测试

猜你喜欢

转载自blog.csdn.net/qq_46071165/article/details/127307390