乐于分享
好东西不私藏

软件质量的最佳实践

软件质量的最佳实践

软件质量的最佳实践 - 深度分析报告

主题:软件质量的最佳实践日期:2026-05-07分析日期:2026-05-07 13:10


1. 大纲结构

1.1 背景与定义

  • • 软件质量概念起源与发展
  • • ISO 25010质量模型定义
  • • 质量保证的重要性与价值

1.2 核心技术/方法

  • • 质量左移(Shift-Left)
  • • 测试驱动开发(TDD/BDD)
  • • 静态代码分析
  • • 持续集成/持续交付(CI/CD)

1.3 应用场景与案例

  • • 敏捷开发环境
  • • 传统瀑布模型
  • • 中小团队实践

1.4 挑战与限制

  • • 技术挑战
  • • 组织文化限制
  • • 成本效益平衡

1.5 未来趋势

  • • AI赋能质量
  • • DevSecOps融合
  • • 质量体系构建

2. 信息结构

2.1 概念框架

软件质量

定义

ISO 25010

三层模型

质量特性

功能性

可靠性

易用性

效率

可维护性

可移植性

兼容性

安全性

质量保证

技术支柱

流程支柱

文化支柱

实践方法

质量左移

TDD/BDD

静态分析

CI/CD

挑战

成本

文化

工具

2.2 质量保证流程

需求阶段
设计阶段
开发阶段
测试阶段
部署阶段
运维阶段
需求评审
架构评审
TDD/BDD
自动化测试
CI/CD
监控反馈


3. 深度分析

3.1 核心概念解析

软件质量

  • • 定义:软件产品满足明确和隐含需求的能力(ISO/IEC 25010)
  • • 本质:多维度的综合属性,不仅是无Bug,更是用户满意度
  • • 三层模型
    • • 内部质量:代码层面的属性(可读性、可维护性、模块化)
    • • 外部质量:运行时表现(性能、可靠性、功能性)
    • • 使用质量:用户实际体验(满意度、有效性、效率)

质量保证(SQA)

  • • 定义:确保软件产品和过程符合预定标准和需求的一系列活动
  • • 核心思想:质量内建,而非事后补救
  • • 三大支柱:技术(工具)、流程(规范)、文化(意识)

质量左移(Shift-Left)

  • • 定义:将质量保障活动尽可能前移到软件开发生命周期的早期阶段
  • • 核心价值:问题在最早阶段被发现,修复成本最低
  • • 关键实践:需求评审、设计评审、TDD、静态分析前置

3.2 技术深度剖析

质量左移技术原理

传统模式的问题

开发完成 → 测试介入 → 发现缺陷 → 开发修复 → 返工   (100小时)    (50小时)    (10小时)    (20小时)   (30小时)

总周期:210小时,缺陷发现成本高,修复成本高

质量左移模式

需求评审(含测试) → 架构设计 → 编码(TDD) → CI/CD → 快速反馈   (20小时)         (15小时)    (30小时)    (10小时)   (即时)

总周期:75小时,缺陷提前发现,成本大幅降低

质量成本对比

阶段
修复成本
相对倍数
需求阶段
$100
1x
开发阶段
$500
5x
测试阶段
$2,000
20x
生产环境
$10,000+
100x+

TDD/BDD技术原理

TDD(测试驱动开发)

  • • 核心循环:红灯(写失败测试)→ 绿灯(写代码通过)→ 重构(优化代码)
  • • 价值主张
    • • 提高代码覆盖率(目标:80%+)
    • • 降低回归缺陷率(约减少40-60%)
    • • 提升代码设计质量(可测试性、解耦)
  • • 适用场景:复杂业务逻辑、核心算法、公共API

BDD(行为驱动开发)

  • • 核心语法:Given-When-Then
  • • 价值主张
    • • 业务、开发、测试三方协作
    • • 需求到代码的双向验证
    • • 自然语言测试用例,易于理解
  • • 适用场景:需求驱动开发、跨团队协作、产品验证

静态代码分析

技术原理

  • • 在不执行代码的情况下,通过分析源代码或编译产物发现问题
  • • 基于预定义规则集(600+条规则,如SonarQube for Java)

检测能力

  • • 代码规范:命名规范、格式、注释覆盖率
  • • 代码异味:复杂度过高、重复代码、设计问题
  • • 潜在Bug:空指针、资源泄漏、边界问题
  • • 安全漏洞:SQL注入、XSS、不安全的函数调用
  • • 性能问题:低效算法、不必要的对象创建

工具对比

工具
语言支持
集成方式
适用场景
SonarQube
30+
CI/CD
企业级质量管理
SonarLint
15+
IDE
实时反馈
ESLint
JavaScript/TS
IDE/CI
前端代码规范
PC-lint
C/C++
IDE
系统级开发
Checkstyle
Java
IDE/Maven
Java规范检查

3.3 应用场景分析

场景1:敏捷开发环境

  • • 需求背景:2-4周迭代周期,快速响应需求变更
  • • 解决方案
    • • 需求评审:BA、开发、测试三方参与,共同梳理测试用例
    • • TDD实践:开发前编写单元测试,确保代码质量
    • • 持续集成:每次提交触发自动化构建和测试
    • • 代码审查:采用Pull Request机制,强制审查
  • • 效果评估
    • • 缺陷发现提前到开发阶段:70-90%
    • • 代码覆盖率:单元测试80%+,集成测试60%+
    • • 交付周期:从传统3个月缩短到2-4周
  • • 代表性案例:Google、Facebook、Netflix等互联网公司

场景2:传统瀑布模型转型

  • • 需求背景:长周期开发(6-12个月),后期测试发现大量缺陷
  • • 解决方案
    • • 分阶段转型:先引入代码审查和静态分析
    • • 持续集成建设:建立CI流水线,逐步增加自动化测试
    • • 团队培训:TDD/BDD工作坊,质量意识提升
    • • 质量度量:建立质量指标体系,跟踪改进效果
  • • 效果评估
    • • 转型周期:6-12个月
    • • 缺陷密度:降低30-50%
    • • 测试周期:从2个月缩短到2周
  • • 关键成功因素
    • • 管理层支持
    • • 技术逐步升级
    • • 团队技能培养
    • • 持续度量改进

场景3:中小团队实践

  • • 需求背景:资源有限(5-20人),无法承担复杂工具链
  • • 解决方案
    • • 轻量级工具:ESLint + GitHub Actions + 简单的单元测试框架
    • • 代码审查:结对编程或定期代码评审会议
    • • 持续集成:使用免费CI平台(GitHub Actions, GitLab CI)
    • • 质量左移:需求评审、设计评审(不增加额外时间成本)
  • • 效果评估
    • • 初始投入:1-2周搭建工具链
    • • 维护成本:每周1-2小时
    • • 质量提升:代码质量提升30-40%
  • • 可复制性:高,适用于大多数中小团队

3.4 数据分析

质量左移效果数据

指标
传统模式
质量左移
提升
缺陷发现时机
测试阶段70%
开发阶段70-90%
提前
修复成本
$10,000/缺陷
$1,000/缺陷
降低90%
交付周期
6个月
2-4周
缩短60%+
代码覆盖率
30-40%
70-80%
提升2倍

工具效果对比

实践
缺陷捕获率
人力成本
实施难度
投资回报
代码审查
60%
6个月回本
单元测试
40%
3个月回本
集成测试
30%
12个月回本
静态分析
30-40%
1个月回本
TDD
50%+
12个月回本

3.5 挑战与限制

技术挑战

  1. 1. 工具链复杂性
    • • 多种工具集成困难(SonarQube + Jenkins + Jira + Git)
    • • 配置复杂度高,需要专业知识
    • • 维护成本高,需要专人负责
  2. 2. 测试用例维护
    • • 自动化测试维护成本随业务增长快速上升
    • • UI测试"维护地狱":需求变更导致大量测试用例失效
    • • 测试数据管理复杂
  3. 3. 性能瓶颈
    • • 大型项目静态分析耗时长(小时级)
    • • 自动化测试执行时间长,影响开发效率
    • • 资源消耗大(CI服务器、测试环境)

实践限制

  1. 1. 组织文化阻力
    • • 传统团队对质量左移接受度低
    • • "质量是QA的事"的观念根深蒂固
    • • 转型需要6-12个月,管理层缺乏耐心
  2. 2. 技能缺口
    • • 团队缺乏TDD/BDD实践经验
    • • 静态分析规则解读能力不足
    • • DevOps工具链使用不熟练
  3. 3. 成本效益平衡
    • • 前期投入高(工具、培训、人力)
    • • 短期内效率下降(学习曲线)
    • • 中小团队难以承担复杂工具链

应对策略

挑战
应对策略
预期效果
工具链复杂
采用云服务(SaaS),降低部署难度
减少80%运维成本
文化阻力
分阶段转型,管理层支持+培训
12个月内完成转变
技能缺口
工作坊培训+结对编程+导师制
6个月提升技能
成本高
开源工具+逐步投入
ROI 6-12个月

3.6 未来趋势

短期趋势(1-2年)

  1. 1. AI赋能质量
    • • AI代码审查:SonarQube支持AI代码分析,提升检测准确率
    • • 智能测试用例生成:基于需求和代码自动生成测试
    • • 缺陷预测分析:通过历史数据预测潜在缺陷
  2. 2. 质量体系构建
    • • 从"找Bug"到"构建质量体系"
    • • 可度量、可进化的质量保障体系
    • • 质量成为产品基因
  3. 3. DevSecOps融合
    • • 安全左移
    • • 安全测试自动化
    • • 持续安全合规检查

中期展望(3-5年)

  1. 1. 质量度量智能化
    • • 实时质量监控面板
    • • AI驱动的质量趋势预测
    • • 自动化质量评估报告
  2. 2. 测试即代码(Testing as Code)
    • • 测试用例版本化管理
    • • 测试数据自动生成
    • • 测试环境自动配置
  3. 3. 跨平台质量统一
    • • 云原生、移动端、前端质量标准统一
    • • 跨语言代码质量统一管理
    • • 统一的质量门禁标准

长期愿景(5年+)

  1. 1. 自愈合系统
    • • 系统自动检测和修复缺陷
    • • 预测性维护
    • • 零停机部署
  2. 2. 质量即服务
    • • 云端质量平台,开箱即用
    • • AI驱动的质量建议
    • • 实时质量优化
  3. 3. 质量认知普及
    • • 质量意识成为开发者的基本素养
    • • 质量教育进入高校课程
    • • 行业质量标准统一

4. 核心洞察

4.1 质量成本悖论

洞察:前期质量投入看似增加成本,实则大幅降低总成本

  • • 误解:"质量保证会增加成本,降低效率"
  • • 真相:质量投入是最划算的投资
    • • 前期投入1小时 = 后期节省10小时
    • • 缺陷修复成本:需求阶段(10,000)
    • • ROI:质量投入通常在3-12个月内回本

4.2 质量左移的核心价值

洞察:质量左移不仅是技术实践,更是思维转变

  • • 技术层面:TDD、静态分析、CI/CD
  • • 流程层面:需求评审、设计评审前置
  • • 文化层面:"质量是每个人的事"

关键结论

  • • 70-90%的缺陷应该在开发阶段被捕获
  • • 质量内建,而非事后补救
  • • 从"守门员"到"加速器"的角色转变

4.3 质量实践的普适性

洞察:质量实践适用于所有规模和类型的团队

  • • 大公司:复杂工具链、专职QA团队
  • • 小团队:轻量级工具、简化流程
  • • 传统行业:分阶段转型、持续改进
  • • 互联网公司:敏捷实践、快速迭代

共性原则

  1. 1. 质量内建
  2. 2. 持续改进
  3. 3. 数据驱动
  4. 4. 全员参与

5. 实践建议

5.1 对于学习者

  1. 1. 掌握基础理论
    • • 学习ISO 25010质量模型
    • • 理解质量三层模型(内部、外部、使用)
    • • 掌握TDD/BDD原理
  2. 2. 实践工具使用
    • • 学习静态分析工具(SonarQube、ESLint)
    • • 掌握测试框架(JUnit、PyTest)
    • • 熟悉CI/CD平台(GitHub Actions、Jenkins)
  3. 3. 参与开源项目
    • • 通过开源项目了解实际质量实践
    • • 学习行业最佳实践
    • • 积累代码审查经验

5.2 对于实践者

  1. 1. 分阶段引入质量实践
    • • 第一阶段:代码审查 + 静态分析
    • • 第二阶段:单元测试 + 持续集成
    • • 第三阶段:TDD/BDD + 自动化测试
  2. 2. 建立质量度量体系
    • • 代码覆盖率
    • • 缺陷密度
    • • 代码复杂度
    • • 技术债务指数
  3. 3. 培养质量文化
    • • 定期质量培训
    • • 质量分享会
    • • 质量奖惩机制

5.3 对于管理者

  1. 1. 提供管理层支持
    • • 认可质量投入的价值
    • • 给予转型时间和资源
    • • 建立质量KPI
  2. 2. 投资团队培训
    • • TDD/BDD工作坊
    • • 工具链使用培训
    • • 质量意识培养
  3. 3. 选择合适的工具
    • • 考虑团队能力和项目规模
    • • 优先选择开源工具
    • • 考虑云服务降低部署难度

6. 后续行动

短期行动(1-3个月)

  • 选择合适的静态分析工具并集成到CI流程
  • 建立代码审查流程
  • 制定代码规范文档
  • 开展TDD/BDD培训

中长期规划(3-12个月)

  • 建立完整的质量度量体系
  • 实现自动化测试覆盖率80%+
  • 完成团队质量文化转型
  • 建立质量改进闭环

7. 参考资料

学术/标准

  • • ISO/IEC 25010:2023 软件产品质量模型
  • • ISO/IEC 33020:2019 质量度量方法

行业报告

  • • Google Testing Blog
  • • Microsoft DevOps文档
  • • 腾讯云开发者社区:质量左移系列

工具文档

  • • SonarQube官方文档
  • • GitHub Actions文档
  • • ESLint文档

报告生成时间:2026-05-07 13:10版本:v1.0

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-13 08:18:54 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/615988.html
  2. 运行时间 : 0.188154s [ 吞吐率:5.31req/s ] 内存消耗:4,924.61kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=66756c99b040c9a571b46d72739ee754
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000879s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000782s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000375s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000284s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000472s ]
  6. SELECT * FROM `set` [ RunTime:0.000193s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000524s ]
  8. SELECT * FROM `article` WHERE `id` = 615988 LIMIT 1 [ RunTime:0.000473s ]
  9. UPDATE `article` SET `lasttime` = 1778631534 WHERE `id` = 615988 [ RunTime:0.012689s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000294s ]
  11. SELECT * FROM `article` WHERE `id` < 615988 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000490s ]
  12. SELECT * FROM `article` WHERE `id` > 615988 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001123s ]
  13. SELECT * FROM `article` WHERE `id` < 615988 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000859s ]
  14. SELECT * FROM `article` WHERE `id` < 615988 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001307s ]
  15. SELECT * FROM `article` WHERE `id` < 615988 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000968s ]
0.194031s