IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者
首页 / 生生不息
IT 2012-09-30 15:34:18 / 累计浏览 3,440

【译】无附加模块实现Drupal的多子域名下的单点登录

这篇讲的是,很多Drupal站点都在用第三方模块实现单点登录,但作者指出,其实Drupal本身内建了这个能力,完全不需要额外的模块和配置。 要应用这个方法,你的站点需要满足几个硬条件:它们必须在同一主域名下(如 `www`、`forums`、`subsite` 这种子域名形式),全部使用MySQL,并且这些站点的服务器在物理上能够互相访问数据库。如果符合要求,核心方案其实非常精简,只需要在两个站点的 `settings.php` 文件里添加约20行代码。 其原理在于巧妙地结合了两个特性:一是Drupal原生支持通过“表前缀”让多个站点共享一个数据库;二是MySQL支持跨数据库查询。通过配置,可以让不同站点的用户会话表实现数据共享。最后,只需正确设置 `cookie domain`,确保浏览器在主域名及其子域名下共享会话cookie,单点登录就宣告完成。对于符合架构要求的站点,这是一个既轻量又高效的原生解决方案。

本机暂存
IT 2012-09-18 23:43:39 / 累计浏览 2,060

用白盒的思想黑盒地测试

这篇讲的是如何将白盒测试的思维,巧妙地运用到黑盒测试的实践中。作者从传统的测试方法论入手,对比了白盒测试(关注代码内部逻辑与结构)与黑盒测试(仅关注输入输出与功能)的核心差异。他指出,在实际项目里,纯粹的黑盒测试有时难以触及深层逻辑缺陷,而完全依赖白盒又受限于实现细节。 文章的核心观点在于:测试人员可以在黑盒的层面——即不直接接触源码的前提下——去推演和设计测试用例。例如,通过分析接口文档、系统架构图或数据流,借鉴白盒测试中“逻辑覆盖”和“路径分析”的思想,去预测代码中可能存在的分支、循环和异常处理点,从而设计出更具穿透力的测试场景。作者结合了一个支付模块的测试案例,展示了如何通过推测内部状态机来设计状态转换的黑盒用例,最终发现了因并发导致的隐蔽状态错误。 这种“思想借鉴”而非“工具复用”的方法,旨在提升黑盒测试的系统性和深度,同时保持测试的独立性和客观性。它为测试资源有限、但又对质量有较高要求的团队,提供了一种可操作的进阶思路。

本机暂存
IT 2012-09-18 23:34:10 / 累计浏览 1,780

一个简单的例子让你认识测试驱动

这篇讲的是用一个非常具体的例子,带你理解“测试驱动开发”(TDD)到底是什么。 文章没有从理论开始,而是直接模拟了一个开发“用户登录”模块的场景。作者先展示了传统“先写功能代码,再补测试”的思路,并指出了它可能带来的测试遗漏和设计问题。接着,演示了TDD核心的“红-绿-重构”循环:第一步,先写一个最简单的失败测试(红灯),明确一个微小的功能点;第二步,写最少的代码让测试通过(绿灯);第三步,重构代码以提升设计。通过这个小例子,TDD“测试先行”、“小步前进”、“持续设计”的特点变得非常直观。 文章最巧妙的地方在于,它让读者看到,TDD不仅仅是一种测试技术,更是一种引导你写出高内聚、低耦合、可测试代码的设计工具。当你看到最后那个结构清晰、易于维护的登录模块时,就自然明白了这种开发方式的价值所在。

本机暂存