`
bmqnc
  • 浏览: 127576 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

第6章 集成测试框架:脆弱之美

阅读更多
这章主要讲了框架设计上的一些问题,框架设计的API原则:
1.控制对用户可见的部分,从而尽量减少框架公开的部分
2.使用接口
3.在期望用户能够对框架进行扩展的点上提供良好定义的“hook”
4.在不希望用户进行扩展的点上禁止用户扩展

框架实际上是通过限制一些条件,使框架的用户只能按框架的流程来走。但是FIT框架颠覆了这种理念。(PS:FIT这个名称怎么和tsinghua的FIT楼名称一样,faint!)
FIT与传统这种理念不同的地方在于它它对自己的流程充满的信心,能够确信以后他自己以后的流程不再改变,所以他做了一点:大量公开成员函数以及一些内部成员函数。



这章也挺经典的,以前自己开发主要专注于编码,从没有在系统结构方面考虑过问题,虽然也知道一些设计模式和编程技巧,但我一直认为只有在实践中才能领悟的更深一些。以前在爱立信上海研发中心实习的时候,在项目中感觉最重要的是系统的架构,虽然这篇讲的是集成测试框架,但是框架的设计与系统框架设计的原理是一样的。
  
   我觉得以后要从两方面加强架构能力:
1.研究优秀开源框架的源代码和他们的设计理念。
2.在实践中运用优秀的设计理念,并试着写自己的工具框架。
分享到:
评论

相关推荐

    代码之美(中文完整版).pdf

    第6章 集成测试框架:脆弱之美 6.1. 三个类搞定一个验收测试框架 6.2. 框架设计的挑战 6.3. 开放式框架 6.4. 一个HTML解析器可以简单到什么程度? 6.5. 结论 第7章 美丽测试 7.1 讨厌的二分查找 7.2 JUnit简介 7.3将...

    软件测试(第二版中文)

    书中会介绍自动化测试的优势、实施步骤以及如何选择合适的自动化测试框架。 5. **性能测试**:性能测试关注软件在高负载和压力下的表现,包括负载测试、压力测试、耐久测试等,以确保软件在各种环境下都能稳定运行...

    【推荐】CIASW培训课件等资料合集.zip

    第3章 安全集成的实施 第3章习题(无答案版) 第4章 案例1v3 第5章 案例2v3 信息安全保障人员(CISAW)模拟试题 OSI七层模型的安全属性 CISAW风险管理课件 1、概述 2、标准 3、风险管理原则 4、风险管理框架 5、项目...

    Osgi in Action: Creating Modular Applications in Java Jun 2010

    第六章“Moving Toward Bundles”引导读者逐步了解如何将现有的Java应用程序转换为模块化的OSGi bundles。这一过程不仅涉及到代码级别的调整,还需要重新考虑应用程序的设计和架构,以充分利用OSGi所提供的模块化...

    mock学习资料

    Mock技术在软件开发中扮演着至关重要的角色,尤其是在单元测试和集成测试中。Mocking允许开发者模拟复杂的系统组件,如数据库、网络接口或第三方服务,以便在不依赖真实环境的情况下测试代码。以下是对"mock学习资料...

    敏捷软件开发的必要技巧

    ### 第6章 处理不合适的依赖 #### 不合适的依赖的危害 不合适的依赖会导致代码耦合度过高,降低系统的可重用性和可测试性。 #### 减少依赖的方法 - **依赖注入**:通过构造函数或setter方法注入依赖,提高代码的...

    DVWA靶场,集成了owasp top 10漏洞

    4. A4:脆弱的依赖性管理(Insecure Dependencies) - 如果应用程序使用了有已知漏洞的库或框架,攻击者可能利用这些弱点。在DVWA中,这可能表现为使用过时的PHP版本或易受攻击的库。 5. A5:安全配置错误...

    OWASP_Testing_Guide_v4+OWASP_Testing_Guide_v3中文.zip

    《OWASP Testing Guide v4》是OWASP测试指南的第四版,它为安全测试提供了详细的框架和方法论。该指南旨在帮助测试人员和开发团队识别并修复Web应用程序中的安全漏洞。其主要内容包括: 1. **测试策略**:定义了...

    软件工程--第章3.pptx

    软件工程方法包括结构化方法、面向对象方法、敏捷方法等,它们提供了一套框架来指导软件开发。工具则支持不同阶段的工作,如需求管理工具、版本控制系统、自动化测试工具等。此外,软件过程模型如瀑布模型、迭代模型...

    FC测试编带产品芯片裂纹的预防.pdf

    测试编带设备由多个模块组成,包括进料模组、第一转向、测试模块、印字外观检测、引脚检测、第二转向、分类料盒和编带模块等。这些模块在与芯片接触或施加压力的过程中可能对芯片造成损伤,特别是不当的调试下压高度...

    应用密码学研究生课程讲义 v0.3

    **第一章:引言** - 历史背景与基本术语介绍。 - 解释密码学的历史发展及其在现代社会中的作用。 **第二章:加密** - 加密的基本概念及其在密码学中的应用。 - 香农密码和完美安全性的定义。 - 计算密码与语义...

    Web应用安全威胁与防治+基于OWASP+Top+10与ESAPI.pdf

    此外,书中还会讨论Web应用安全的最新趋势、安全开发生命周期(SDLC)的集成、安全测试方法以及应急响应计划。开发者、安全专业人员以及对Web安全感兴趣的读者都能从中受益,提升自己在Web应用安全方面的知识和技能...

    Cobalt Strike 4.5 中英版本一键切换,内置插件

    6. **Pivoting**: 通过Beacon的pivoting功能,渗透测试者可以在目标网络内部自由移动,发现更多潜在的脆弱点。 7. **Reporting**: 强大的报告功能让Cobalt Strike不仅可以用于攻击,还能用于编写详细的测试报告,...

    IATF v3.1 中文版

    6. **供应链安全**:考虑到供应链攻击的日益普遍,IATF 可能包含了关于供应商选择、产品验证和供应链风险管理的建议,以降低第三方引入的安全风险。 7. **应急响应与灾难恢复**:IATF 会教导组织如何建立有效的应急...

    漏洞利用工具

    这包括单元测试、集成测试、渗透测试等,通过模拟攻击来验证系统的防御能力。对于Struts032这样的漏洞,测试人员会使用类似该压缩包内的工具来检查系统是否受到影响,并评估修复措施的有效性。 五、漏洞修复 一旦...

    【计算机专业Java-毕业设计100套之】基于Java的两个通用安全模块的设计与实现

    6. 进行安全测试,模拟攻击场景以检测系统的脆弱性。 7. 优化和文档化,提高代码可读性和可维护性。 通过这个毕业设计项目,学生可以深入理解Java安全机制,并具备实际开发安全应用的能力。无论是对于初学者还是有...

    安全技术交底资料.zip

    4. **操作安全**:在开发和运维过程中,操作安全实践包括代码审查、持续集成/持续部署(CI/CD)中的安全性、自动化安全测试和日志管理。这些流程有助于在各个阶段捕获和修复安全漏洞。 5. **培训与意识**:安全技术...

    nist sp 800-53 r4

    这份文件是NIST SP 800-53系列的第四次修订版,自2013年4月发布以来,已被广泛采纳作为联邦政府信息安全实践的标准。 ### 核心知识点解析 #### 1. 安全与隐私控制框架 NIST SP 800-53 R4定义了一个综合性的安全与...

Global site tag (gtag.js) - Google Analytics