Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 2|回復: 0
打印 上一主題 下一主題

使用 ArchUnit 屏蔽软件架构

[複製鏈接]

1

主題

1

帖子

5

積分

新手上路

Rank: 1

積分
5
跳轉到指定樓層
樓主
發表於 2024-3-21 11:33:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

它是什么? 软件架构测试是通过源代码的静态分析自动运行的测试,例如单元测试或集成测试。 换句话说,应用程序不必运行即可运行测试。 为什么要为软件架构创建自动化测试? 建筑学 自动化测试为您的项目提供更高的安全性 想象一下,您在 ACME 担任软件开发人员,直到有一天向您展示了一个新项目。 您甚至可以访问我们的开发人员职位空缺页面来了解机会! 在这个虚构的项目中,你将是唯一的开发者,著名的“单人军队”。 然后旅程开始,提出功能和非功能需求,为启动定义 MVP、架构和技术。 该项目不断发展,您设法使结构保持在正轨上,并对那里的源代码感到自豪。 然后公司决定对该项目进行更多投资,并且新的团队开发人员 加入。 您需要花时间进行培训,并且第一次代码审查会变成乒乓球(来回)。 你离开这个项目。 该项目在您不知情的情况下继续进行,其他开发人员没有完全控制权,并且开始发生微妙的变化。 破窗理论 更多人加入这个团队,破窗理论在这里得到了证明。

您还可以阅读马尔科姆·格拉德威尔 (Malcolm Gladwell) 所著的《引爆点》(The Tipping Point)一书,该书旨在理解一些社会现象,就像我将在下面描述的那样。 破窗理论基本上是这样的: 如果建筑物中的一扇窗户被打破并且他们不尽快修复,他们往往 币安应用用户数据 会开始向其他窗户扔石头。 因此,他们开始占领这座建筑并摧毁其余的建筑。 这个理论与最初的架构有关。 并且部分遵循,其余部分由于缺乏知识而被丢弃,并且出现不同的模式来解决相同的需求。 以前遵循明确定义的架构的软件现在在整个源代码中都存在微架构。 原本漂亮的房子现在看起来一片狼藉。 将使用什么技术?您一开始可以使用什么样的测试? 架构测试来拯救! 好吧,让我澄清一下,尽管这是一种很好的测试,但它并不是灵丹妙药。 它可以提高质量 ,因为即使具有明确定义的结构和可靠的测试,编写糟糕的代码也可能导致软件陷入困境。 软件架构测试 对于已经熟悉自动测试的人来说,这个概念相对简单。



它可以轻松地与构建和部署管道的测试步骤一起运行。 但这些测试如何帮助维护架构的健全性呢? 建筑向我们展示了一个叫做规则的概念。 这些静态规则起到一种契约的作用。 如果没有违反规则,则测试成功通过。 但是,如果更改的任何代码违反了这些规则,测试就会中断并报告创建的不合格情况。 我们可以定义不同类型的规则! 组件是如何构造的以及它们如何相互关联。 说到面向对象,我们可以说作为控制器的类需要定义一个NAME常量,扩展BaseController类并位于控制器目录内。 最重要的是,我们可以说系统中的任何类都不应该依赖于控制器。 或者,例如,控制器类只能访问服务目录中的类。 什么是ArchUnit? ArchUnit 是您的最佳选择吗? ArchUnit 是一个Java代码库。 旨在促进使用 JUnit 支持来运行测试来创建软件架构测试,提供了几个非常有用的功能 在展示一些示例之前,让我们先看看ArchUnit 规则的结构定义的语法: (structure) that (predicate) should (condition) 结构:将测试哪个组件:类、方法、字段等 谓词:您想要将哪个过滤器应用于结构,规则对哪个特征感兴趣。 条件:哪个断言检查需要为真。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|GameHost抗攻擊論壇

GMT+8, 2025-4-6 15:43 , Processed in 0.064384 second(s), 20 queries .

抗攻擊 by GameHost X3

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |