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

专栏进度: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% 极慢请求才是用户投诉的根源。

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

相关推荐
天天爱吃肉821814 小时前
# 商用车多体动力学整车仿真学习笔记(开篇总览)
人工智能·笔记·python·功能测试·学习·汽车
hz5678914 小时前
手术示教及远程会诊系统一体化方案:赋能医院教学与精准诊疗
安全·音视频·实时音视频·信息与通信
运维大师15 小时前
【Linux运维极简教程】11-防火墙与安全加固
运维·安全
国科安芯15 小时前
抗辐射微控制器在卫星电源管理分系统中的控制架构与可靠性研究——基于AS32S601型MCU的星载能源系统智能化管理技术分析
网络·单片机·嵌入式硬件·安全·架构·系统架构·能源
Fnetlink115 小时前
Fnet 云网安 260717
网络·安全·网络安全
杨运交16 小时前
[049][Crypto模块]前后端混合加密API实战:基于Spring Boot的AES+RSA安全传输方案
spring boot·后端·安全
其实防守也摸鱼17 小时前
运维--ip单日获取去重数据量超过500条
运维·学习·tcp/ip·安全·web安全·安全威胁分析·工具
txg66618 小时前
Agent 攻击 Agent:自动检测 LLM Agent 中的污点式漏洞
人工智能·深度学习·安全·网络安全
慧都小项18 小时前
C/C++ 静态分析为什么要前移?Parasoft C/C++test 在 IDE 与 CI/CD 中的应用
c语言·c++·ide·功能测试·ai
解局易否结局20 小时前
鸿蒙人脸检测与活体识别实战:基于 @ohos.visionKit 构建安全身份验证
安全·华为·harmonyos