资讯专栏INFORMATION COLUMN

软件测试基础——非功能测试入门

Zachary / 1440人阅读

摘要:可靠性测试或称稳定性测试,健壮性测试。分析诊断和调节阶段主要测量系统性能并使负载测试进入下一级别,重点查找问题原因以帮助开发工程师迅速解决问题,并实时调节系统参数以提高性能。

一、 界面测试

1、窗体界面测
2、控件界面测试
3、菜单界面测试
4、特殊属性的界面测试

二、 易用性测试

易用性测试要点
 业务符合性
 功能定制性
 业务模块的集成度
 数据共享能力
 约束性
 交互性

1、控件易用性测试

2、菜单易用性测试


3、快捷方式易用性测


4、联机帮助易用性测试

5、辅助系统易用性测试

  • 向导测试
  • 信息提示是否用具有可以理解性的语言进行描述
  • 对重要的、有破坏性的命令是否提示
  • 信息提示是否统一

三、兼容性测试

1 兼容性测试的含义
兼容性测试验证软件与其所在的环境的依赖程度,包括对硬件的依赖程度,对平台的依 赖程度、其他软件的依赖程度等。
3 兼容性测试的前提

  • 标准和规范是软件兼容性的保证
    • 高级标准
       产品遵守的规则
    • 低级标准
       文件格式和网络通信协议

4 兼容性测试的测试点

四、文档测试

1 哪些文档需要测试

  • 用户手册
  • 联机帮助
  • Readme 文件(自述文件)
  • 授权/注册登记表/用户许可协议
  • 指南及向导
  • 包装文字和图形
  • 市场宣传材料
  • 标签
    2 文档测试检查单

    文档测试需要注意的问题
  • 对于软件用户来说,程序之外的内容也是软件的一部分;
  • 文档常常得不到足够的重视,缺乏资金和技术支持以及测试;
  • 编写文档的人可能并不是软件特性方面的专家,对软件不了解;
  • 由于文档的印刷需要花费时间,所以之间产生的问题得不到修复;
  • 文档测试不仅仅是文字校对,还涉及程序本身的错误。

三、 安装测试
1 安装测试的分类

  • 安装测试
  • 运行测试
  • 卸载测试
  • 加密测试
    2 安装测试注意事项
  • 安装手册评估
  • 安装的自动化程度测试
  • 安装选项和设置的测试
  • 安装过程的中断测试
  • 安装顺序测试
  • 多环境安装测试
  • 安装的正确性测试
  • 修复安装测试
  • 卸载测试

3 安装测试的测试用例

4 运行测试的测试用例

5 卸载测试的测试用例

6 加密测试
6.1 加密测试的内容

  • 软件加密
     序列号的测试
     解密程序的测试
  • 硬件加密
     加密狗的测试
    6.2 加密测试的测试用例

四、性能测试

(一)性能测试的含义

(二)性能测试术语

1 请求
客户端向服务器发出的请求获得数据或文件、图片等资源。
2 响应
服务器向客户端发送数据或文件、图片等资源。
3 协议

  • 传输层协议
     tcp、udp
  • 应用层协议
     ftp、http、dns、dhcp、smtp、pop
    4 响应时间
  • 应用系统从用户发出请求开始,到客户端接收到所有数据所消耗的时间。
  • 网页响应时间细分
     网络传输时间:N1+N2+N3+N4。
     应用服务器处理数据:A1+A3。
     数据库处理时间:A2。

    5 在线用户
    正在使用软件的用户。
    6 并发用户
  • 指同一时刻与服务器进行数据交互的所有用户数量。
     在线用户未必是并发用户。
  • 计算并发用户数
    • 一般都根据以往经验和行业标准进行估算。
       如电信业并发用户数常为在线用户的万分之一;
       OA 软件并发用户数一般在在线用户数的 5%-20%。
    • 参考其他同类产品。
    • 分析历史数据(一年或半年内的每天需要处理的交易业务量)。
    • 试上线运行。
      7 虚拟用户
      性能测试工具使用虚拟用户模拟真实用户的行为。
      8 吞吐量与吞吐率
  • 吞吐量
     指一段时间内服务器处理的字节数,直接体现服务器的承载能力。

 从吞吐量和 VU 关联图可看出,吞吐量在 VU 增长到一定数量时,软件系统出现性 能瓶颈,此时吞吐量不再随 VU 增多而增大,而是趋于平衡。
 实际测试时,吞吐量在测试前是不知道的,必须通过不断添加虚拟用户来测试,以 找到吞吐量的拐点,即吞吐量的最大值。

  • 吞吐率(Throughout)
     指单位时间内从服务器返回的字节数,即吞吐量/测试时间,也可以是单位时间内 处理的客户请求数。
     它是衡量网络性能一个重要指标。通常情况下吞吐量越大,吞吐率的值也越大,吞 吐率越大表示系统的负载能力越强。
    9 每秒事务数(TPS,TransactionPerSecond)
  • 表示每秒系统处理的事务数,是衡量系统处理能力的重要指标。
  • 如果每个事务对应一笔业务,那么 TPS 即表示服务器每秒处理的业务笔数。
    10 点击率(HitPerSecond)
  • 指每秒钟用户向服务器提交的 HTTP 请求的数量。
  • 点击一次可能会向服务器发出多个 HTTP 请求。
     通常服务器都具有防刷新机制,以防刷新导致的巨大压力。
  • 点击率仅仅反映客户端提交的请求数,不能表现服务器当前承受的压力,因为服务器不 能处理全部请求时可以拒绝客户端的部分请求。
  • 若把每次点击作为一次提交事务来对待,则点击率与 TPS 同义。
    11 思考时间(ThinkTime)
  • 也称"休眠时间"、等待时间。
  • 指用户在进行操作时,每个请求之间的时间间隔。
  • 负载测试一般忽略思考时间,压力或可靠性测试根基实际情况设置一个思考时间。通常 思考时间设置为 3-5s。
    12 资源利用率
  • 资源利用率
    指服务器系统中不同硬件资源被占用的程度,主要包括 CPU 利用率、内存利用率、 磁盘利用率、网络等。
     性能测试中常用资源利用率进行横向对比,如 CPU 使用率很高,而其他资源较低, 可知 CPU 是系统瓶颈。
     配置调优测试中,通过比较配置调优前后的系统资源利用率来判断调优效果。
  • 性能计数器(Counter)
     是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统 资源的使用情况。
     计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是分析系统可扩展性 和定位性能瓶颈时。
     性能测试中分析测试结果时,必须基于多个不同的计数器进行分析。

(三) 性能测试分类
1 负载测试(LoadTesting)

  • 通过对被测试系统不断的加压,直到超过预定的指标或者部分资源已经达到了一种饱和 状态不能再加压为止。
  • 此方法主要是为了寻找系统最大的负载能力,为性能调优提供依据。
    2 压力测试(StressTesting)
  • 当系统已经达到一定的饱和程度(如 CPU、磁盘等已经处于一种饱和状态)时,测试 系统处理业务的能力,测试系统是否会出现崩溃等。
  • 一般通过模拟负载等方法,使系统资源达到一个较高水平。
  • 此方法一般用于系统稳定性测试。
    3 并发测试(ConcurrencyTesting)
  • 通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存 在死锁、系统处理速度明显下降等性能问题。
    4 容量测试(VolumeTesting)
  • 寻找软件系统某项指标的极限值(如最大并发用户数、数据库记录数、最大负载、工作 量等)的测试,是一种测试目标。
    5 可靠性测试(ReliabilityTesting)
  • 或称稳定性测试,健壮性测试。
  • 当系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定 性。
  • 可靠性测试一般必须给出一个明确的要求,如系统能够持续无故障运行多少天。
  • 是一种测试目标。
    6 配置测试(ConfigurationTesting)
  • 配置测试
    通过调整系统软/硬件环境,了解不同环境对系统性能的影响,从而找到系统的最 优配置。
     此方法一般用于系统调优和规划。
  • 基准测试
     在一定的软硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将 测试结果作为基线数据,在系统调优或系统评测过程中,通过运行相同的业务场景 来比较测试结果确定调优是否达到效果或为系统的选择提供决策依据。

(四) 性能测试流程
性能测试过程分为四个阶段:测试设计、构建、执行、分析。
1 设计阶段
定义待测试的业务流程、业务的平均处理量、业务处理量的最高峰值、组合业务流程、 系统的整体用户和响应时间目标。
2 构建阶段

  • 设计设置和配置测试系统及基础设施、使用自动化性能测试解决方案构建测试脚本和负 载方案。
  • 具体包括:编写脚本、增强脚本、设计场景。
    3 执行阶段
    包括运行负载方案和测量系统性能,对系统资源进行监控。
    4 分析、诊断和调节阶段
    主要测量系统性能并使负载测试进入下一级别,重点查找问题原因以帮助开发工程师迅 速解决问题,并实时调节系统参数以提高性能。

五、 主流性能测试工具

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/120918.html

相关文章

  • Python所有方向的学习路线,你们要的知识体系在这,千万别做了无用功!

    摘要:适用人群爬虫方向数据分析方向非程序员加薪四开发前后端开发是程序员职业中的热门,目前来讲,人才缺口依然很大。寄语上面就是所有方向的学习路线了,把你感兴趣的方向掌握了之后,你去找工作不是什么问题的。 ...

    opengps 评论0 收藏0
  • TRY REGEX:正则表达式交互式入门教程 翻译&解答

    摘要:写一个正则表达式来测试变量中是否包含字符串。用函数给出不使用字符,但和等价的正则表达式。第十四课标志全局匹配标志第二个常用的标志是全局匹配标志,用字母表示。写出一个正则表达式来检验合法性。非捕获组的主要用途是给一个组赋予量词。 TRY REGEX 是一个交互式的正则表达式学习项目项目地址:https://github.com/callumacra...在线地址:http://tryre...

    李义 评论0 收藏0
  • React 可视化开发工具 Shadow Widget 正经入门(之一:React 三宗罪)

    摘要:前言非正经入门是相对正经入门而言的。不过不要紧,正式学习仍需回到正经入门的方式。快速入门建议先学会用拼文写文档注册一个账号,把库到自己名下,然后用这个库写自己的博客,参见这份介绍。会用拼文写文章,相当于开发已入门三分之一了。 本系列博文从 Shadow Widget 作者的视角,解释该框架的设计要点,既作为用户手册的补充,也从更本质角度帮助大家理解 Shadow Widget 为什么这...

    dongxiawu 评论0 收藏0
  • 编程零基础应当如何开始学习 Python?

    摘要:首先,在学习之前一定会考虑一个问题版本选择对于编程零基础的人来说,选择。建议从下面课程开始教程标准库官方文档非常贴心地提供中文翻译首先需要学习的基础知识,下载安装导入库字符串处理函数使用等等。 提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦。 本篇通过以下四块展开,提供大量资源对应。 showImg(https://segmen...

    JackJiang 评论0 收藏0

发表评论

0条评论

Zachary

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<