玩转API
快速开启 - ApiHug如何在15分钟内,使用 ApiHug 启动一个API开发项目.https://apihug.com/zhCN-docs/start
📐设计先行
通过统一的API 设计元语(DSL, domain specific language), 让API 设计更语言化(Describe);实现高度的一致化,和高复用。
📑协议驱动
OAS (OpenAPI specification), 是 ApiHug世界的 "金科玉律", 严格保证定义 ↔ 实现之间同构(isomorphism)态射。
🗺️单一信任源
实现 API 从:蓝图→施工→测试→落地,不走样, 不变形,不改味。极致沟通效率和极低信任成本。
❤️ 开发同理心
置身于多种角色,感同身受,在快和慢,现在和将来,个体和团队上综合平衡,极具同理心是ApiHug 人文基础,她不仅仅是一段代码,一个工具,一种方式。
什么是测试左移
"左侧",即测试发生在软件开发生命周期的早期阶段。
传统的软件开发方法顺序进行,大部分测试都被安排在项目的最后阶段。这种技术意味着更昂贵的返工和重新安排日程。
因此"左移",使得测试团队在软件开发的最初阶段就参与进来。
可能好处
-
早期错误检测:检测错误,在错误变得严重、修复成本和时间过高之前解决它们;
-
降低成本:及早发现和修复缺陷可以防止返工,省时间和成本;
-
提高质量:减少代码设计返工,以及修复和补丁,提高最终产品的质量,提高客户满意度。使代码易于维护。
-
改善时间管理:简化测试,更严格地按照预定的计划进行工作(工具和流程 > 人治,PS 1个好机制胜过10000遍日常管理 ),避免延期交付。
准备
-
统一编码标准:确保实践的一致性,将出错的机会降至最低。
-
早期集成测试:在项目的早期阶段实施测试,可以作为敏捷方法的一部分,也可以通过为每个功能编写单元测试来实现。
-
测试自动化:使用自动化测试工具来进行回归测试,并快速反馈有关代码稳定性的问题。
这部分作为,测试部分第一部分思想准备:
在现有测试成熟套件上, 使这个理想变成可能:
-
BDD工具:Jbehave、Cucumber和SpecFlow;等以DSL方式编写测试用例。减少多方对产品需求误解。
-
静态代码分析工具:SonarQube、ESLint和Checkstyle可以在开发过程的早期分析源代码中的错误和漏洞。
-
持续集成(CI)工具:Jenkins、Azure DevOps管道、GitLab管道等可实现构建、测试和部署流程的自动化,确保在集成前对代码变更进行彻底测试。
-
自动化测试框架:Selenium、Playwrite、JUnit/TestNG和pytest可以进行各种类型的自动化测试,包括单元测试、集成测试和端到端测试。
-
安全扫描工具:OWASP ZAP、Burp Suite和Nessus帮助识别安全漏洞,使团队能够及早解决潜在威胁。
是否需要AI 加持呢?稍微欠缺点,特别是正对特定的领域, RAG, Prompt 难以达到最总的丝滑程度, 这个方向上 thoughworks 的 autoDEV 探索已经比较前沿,可参考;在约束的范围和有限问题解决方案上是可行的。
底层语言 ⇌ 高级语言 ⇌ DSL ⇌ 自然语言
参考
-
https://ambahera.medium.com/tool-stack-for-the-shift-left-testing-approach-d10db80bded3
-
https://martinfowler.com/bliki/ContractTest.html Contract Test
-
https://martinfowler.com/articles/consumerDrivenContracts.html Consumer-Driven Contracts: A Service Evolution Pattern