【测试之道】第七篇:非功能性测试 —— 性能、安全与兼容性:构建软件的“硬核”防御

专栏进度:07 / 10 (测试理论专题)

非功能性测试(Non-functional Testing)关注的是系统如何运行,而不是系统运行什么。在 CSDN 的实战场景中,这是区分高级测试工程师与初级点点点的分水岭。

一、 性能测试模型:压力与容量的博弈

性能测试不是简单地开几个线程,它有一套严密的指标体系。

负载测试 (Load Testing):在标准压力下,系统能跑多久?验证系统的稳定性。

压力测试 (Stress Testing):不断增加用户,直到系统崩溃。寻找系统的极限拐点。

容量测试 (Capacity Testing):在保证响应时间的前提下,系统最多能撑住多少并发用户?

核心指标 (KPIs):

Throughput (吞吐量):每秒处理的请求数(QPS/TPS)。

Response Time (RT):从点击到看结果经过了多少毫秒。

Resource Utilization:CPU、内存、IO 是否被吃光了?

二、 安全测试理论:寻找"阿喀琉斯之踵"

安全测试不仅是渗透测试,它是对**攻击面(Attack Surface)**的全面梳理。

OWASP Top 10:这是每一位测试员的必修课。包括 SQL 注入、XSS 跨站脚本、失效的身份认证等。

最小权限原则:验证普通用户是否能通过修改 URL 访问管理员页面(越权漏洞)。

数据加密:敏感数据(密码、手机号)在传输和存储时是否是明文?

静态分析 (SAST):利用工具在不运行代码的情况下发现漏洞。

三、 兼容性理论:碎片化世界的生存法则

你的 App 在你的 iPhone 15 上很完美,但在用户的 500 元安卓机上可能直接闪退。

硬件兼容性:不同的 CPU 架构(ARM vs x86)、屏幕分辨率、内存大小。

软件兼容性:操作系统版本(iOS 14 vs 17)、浏览器内核(Chromium vs Webkit)。

网络兼容性:4G、5G、弱网(丢包率 10%)、高延迟环境下的表现。

四、 专家级深度:稳定性与可靠性(MTBF)

在金融或医疗领域,我们需要引入 MTBF (平均故障间隔时间)。

策略:进行 7×24 小时持久性测试。

目的:发现那些隐藏得很深的内存泄漏(Memory Leak)。如果系统运行 3 天后内存占用从 20% 涨到 90%,说明代码里有"只吃不排"的坏毛病。

五、 避坑指南:非功能性测试的误区

性能测试环境不纯净:在开发环境测性能是毫无意义的。必须使用 1:1 镜像环境,否则测试结果不具备参考价值。

只看平均值:响应时间 200ms 可能是假象。要看 99 线(P99),即 99% 的请求都在 200ms 内。剩下的 1% 极慢请求才是用户投诉的根源。

安全测试太晚:安全应该从架构设计阶段就开始评审(测试左移),而不是上线前一天才扫漏洞。

相关推荐
EasyGBS5 小时前
终结训推割裂!EasyGBS×EasyAIS×DLTM,实现AI算法训推一体闭环落地!
服务器·深度学习·安全
云杂项5 小时前
现代密码学(杨波)【第五版】(个人笔记)
安全·密码学
程序员JerrySUN6 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
2601_962364978 小时前
红外活体模组,Windows 设备安全身份入口解析
windows·安全·电脑
域智盾系统来啦11 小时前
电脑远程监控软件具备哪些核心能力?电脑远程监控软件企业落地核心知识点汇总
安全·远程工作·电脑远程监控软件
hz5678911 小时前
手术室视频示教系统解决方案:让临床教学突破空间限制
安全·音视频·实时音视频·信息与通信·智能硬件
安全指北针12 小时前
数据安全产品 POC 验证怎么做?一套可落地的评估方法
大数据·安全
Linux运维技术栈12 小时前
如何避免绕过CDN的攻击?基于 CDN 回源请求头鉴权的防御实操与安全性剖析
nginx·安全·cdn
梁辰兴13 小时前
软件工程:McCall软件质量因素
软件工程·梁辰兴·mccall软件质量因素·mccall模型·产品运行·产品修正·产品转移