Building the Testing Pipeline
This essay is a part of my knowledge sharing session slides which are shared for development and quality team. I want to share some contents here and hope that may trigger some brainstorming or thoughts about how could we do better test automation by development team in the software development cycle.
The related sessions:
Quick Index
- Understanding tests better
- Test Strategy
- Catch defect as quickly as possible
- The V Model of Software Development
- Unit Testing
- Component Testing
- System Testing
- Ideal Automated Testing Pyramid
- Testing goes to fragile
- Assembling a Test Pipeline
- Continuous Integration
- Defect Prevention before Defect Detection
- Cause-and-Effect Diagram for error prevention
Understanding tests better
Test Strategy
One of the key decisions is what kinds of tests should be automated and which approach to testing should be used for manual test.
Catch defect as quickly as possible
The V Model of Software Development
Unit Testing
Unit testing can be on little things like methods/functions or bigger things like modules and classes.
Component Testing
Component testing are used for testing packages, individual executables or subsystems.
System Testing
System testing is done at the level of the whole product and can include a range of system sizes:
individual systems or integrated workflows through multiple systems that have to interact.
Ideal Automated Testing Pyramid
Testing goes to fragile
Assembling a Test Pipeline
Continuous Integration
Defect Prevention before Defect Detection
The ultimate goal of any development process is to build the right product of high quality and to build it with minimum waste.
Defect Prevention techniques address how to prevent “error” before it is injected:
- Root Cause Analysis of problem
- Education and training
- Software process maturity and improvement
Defect Detection techniques address how to find the faults:
- Testing
- Reviews and inspection
- Formal verification
Cause-and-Effect Diagram for error prevention
References
- Unit Testing
- Build the Testing Pipeline
- Automating tests vs. Test Automation
- Gmail测试工程经理Ankit Mehta的访谈
- Patterns & Practices Acceptance Test Engineering Guide
- Continuous Integration is backed by several important principles and practices
- Continuous Integration
- What TDD Is and Is Not
- 7 Deadly Sins of Automated Software Testing
- How Is Automation Return-On-Investment (ROI) Calculated?
- Continuous Delivery in a nutshell
- Testing WPF Applications - TestComplete
- Continuous Delivery: Anatomy of the Deployment Pipeline
- Continuous integration is about keeping it all together
- YAGNI - You Aint Gonna Need It
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?