安全测试 Security Testing
安全测试会按照清楚计划,检查安全规则并找出攻击者可能利用的漏洞。范围包括设计、代码、设置和系统运行。
↗认识构建网站会用到的技术,以及确认网站能正常运行的测试。
打开一个术语,就能看简单解释、示例、使用时机、正式程度和代码名称。
安全测试会按照清楚计划,检查安全规则并找出攻击者可能利用的漏洞。范围包括设计、代码、设置和系统运行。
↗包管理器会查找、安装、记录、更新和发布软件包,也会管理软件包所需要的其他包。
↗本地优先同步会在设备上保留一份可用数据。用户可以离线读写,连接后再和其他设备的数据合并。
↗不稳定测试会在代码没变时忽好忽坏。常见原因有时间、顺序、共享状态、随机值或外部系统。
↗测试覆盖率显示测试检查了哪些代码、需求、状态或风险。百分比只是粗略信号。
↗测试驱动开发(TDD)会重复三个步骤:先写一个会失败的小测试,再写最少的代码让它通过,最后在不改变行为的情况下整理代码。
↗测试数据和 Fixture 是已知输入与设置步骤。它们让每次测试都从相同状态开始。
↗测试替身会代替真实系统部件。Stub、Fake、Spy 和 Mock 可提供控制或观察。
↗测试用例会检查一个行为或风险。它要写明初始设置、动作和预期结果。
↗查询失效会把符合条件的缓存标成已过期。界面正在使用的相关数据接着可在后台更新。
↗错误边界会接住组件树中一小部分的界面错误。它只在出错位置显示安全替代内容。
↗这组教学比较三种测试范围。Unit Test 会单独检查逻辑;Integration Test 检查各部分之间的边界;End-to-End Test 则实际操作用户会接触的系统。这个组合本身不是单个标准测试层级。
↗单元测试会单独检查一小段程序,不让缓慢或不稳定的外部系统影响结果。
↗定时轮询会按照计时器重复读取,检查数据有没有变化。等待时间可以调整、暂停,也能在完成后停止。
↗端到端测试(E2E)会走过完整流程。它会使用已组装、已部署的系统。流程可以是用户任务或业务流程。
↗服务端渲染(SSR)会在每次收到请求时,由服务端生成 HTML,再把完成的页面传给浏览器。之后可以再接上客户端交互。
↗服务器状态是由服务器管理的远程数据。界面只保留副本,也要及时更新。
↗负载测试先规划用户、请求或任务数量。也要规划流量方式,再检查系统速度和可靠性。
↗构建会把源文件和列出的依赖包转成经过检查的输出。输出可运行、测试或部署。
↗回归测试会检查后来的代码更改,是否破坏原本正常的行为。
↗集成测试会检查系统中的两个以上部分,能不能通过真实接口一起正常运行。
↗Lint 不运行程序就能检查代码。它会找出可能错误、不安全写法、格式问题和违规内容。
↗静态网站生成(SSG)通常会在构建时,先为每个网址生成 HTML。访客打开页面时,服务器只要发送做好的文件。
↗可观测性信号是系统为了说明自身行为而发出的证据。常见信号包括跟踪、指标、日志,以及在服务间传递少量上下文信息的 `Baggage`(上下文数据)。
↗客户端渲染(CSR)是等 JavaScript 和所需数据加载后,再由浏览器建立大部分应用页面。
↗乐观界面会先显示预期结果,再等待服务器确认。失败时要恢复原来的结果,并说明发生了什么。
↗冒烟测试是一小组快速检查。它确认构建是否能继续接受深入测试或使用。
↗模块打包工具会沿着代码模块之间的链接,生成可部署的文件,也常会拆分、转换和优化这些文件。
↗契约测试会检查两个可分开部署的系统,是否仍按照双方约定的格式交换消息。
↗这组教学连接三种浏览器端技术。HTML 提供文档语义,CSS 控制外观,JavaScript 或 TypeScript 则加入行为。这是一种系统整理方式,不是单个标准技术。
↗前端状态管理会决定界面要记住什么、数据放在哪里,以及谁能改动它。
↗请求取消会告诉尚未完成的客户端任务:结果已经不需要了。支持的 API 会收到中止信号。
↗请求去重会让匹配的调用共用一个正在执行的请求。每个调用都会收到同一份结果。
↗视觉回归测试会在相同浏览器条件下,比较当前页面和已批准的参考图片。
↗数据变更会新增、修改或删除服务器数据。界面要跟踪等待中和最终结果。
↗数据获取生命周期会跟踪一次读取请求。它会经过等待,再到成功或错误。成功结果可能有数据,也可能为空。
↗数据预取会在界面打开前,先加载很可能需要的数据。缓存仍是最新时,下一个界面会更快出现。
↗SEO 帮助用户和搜索引擎找到并看懂公共页面。它也让页面容易抓取和收录。
↗文档对象模型(DOM)会把文档变成由节点组成的树状对象。程序可以用它提供的标准功能读取和修改文档。
↗这组教学放在一起说明三个质量领域。无障碍检查不同用户能否使用产品。性能检查响应速度和资源成本。可观测性则帮助了解运行中系统的行为。这个组合本身不是单个标准质量指标。
↗无障碍测试会用工具和人工方式,检查内容与控件是否符合无障碍要求,也包括键盘和辅助技术测试。
↗先用旧缓存再更新,会立刻显示允许使用的旧缓存,同时在后台检查最新响应。
↗性能预算是在开始工作前,先为文件大小、时间或使用体验定出上限,让设计和代码选择有清楚限制。
↗异步竞态会在多个任务重叠,而且完成顺序不符合预期时发生。较旧的结果可能覆盖较新的结果。
↗语义化版本(SemVer)用“主版本号.次版本号.修订号”(MAJOR.MINOR.PATCH)表示公开 API 如何改变,也规定预发布和构建标记的写法。
↗源码转译器(transpiler)是一种编译器,会把某种语言版本或语法的代码,转成另一种源码。
↗终端是运行命令行和工具的文本窗口。它可查看文件、运行命令和自动化任务。
↗组件测试会把一个用户界面组件放进真实渲染环境,提供可控制的输入和数据,再检查它的行为。
↗Core Web Vitals 是 Google 的网页体验指标。它用真实用户数据,衡量加载速度、交互响应和页面稳定性。目前包含 LCP、INP 和 CLS。
↗CSS 是一组控制网页元素外观和排列方式的规则。它可以设置颜色、间距、布局、不同屏幕的变化和视觉状态。
↗HTML 是用来建立网页内容和结构的标准标记语言。它会告诉浏览器哪些内容是标题、链接、图片、表单等。
↗Hydration 是把浏览器端的行为和状态,接到服务端或构建流程已做好的 HTML 上,让指定的页面区块可以交互。
↗JavaScript 是按照 ECMAScript 标准建立的编程语言。它常用来让网站和其他程序响应操作,并随状态改变。
↗Markdown 用少量符号排版纯文本。这些符号可创建标题、列表、链接和代码块。
↗Next.js 是构建在 React 上的框架。它加入路由、服务器和浏览器渲染、数据加载、资源优化和部署规则。
↗npm 是 JavaScript 包仓库和命令行工具。它可安装、列出、发布包,也可运行项目脚本。
↗Python 是用途广泛且易读的编程语言。它可用于网络服务、自动化、数据和机器学习。
↗React 是用组件构建界面的 JavaScript 库。数据、Props 或 State 更改时,页面可更新。它不是 ReAct。
↗shadcn/ui 提供可编辑的界面组件源码。它常把无障碍基础控件和 Tailwind CSS 结合。
↗Tailwind CSS 是工具类优先的 CSS 框架。HTML 中的小型 Class 会应用共享设计值和变体。
↗Vue 是用组件构建界面的 JavaScript 框架。Template 描述页面,响应式数据负责更新。
↗